Merge branch 'newShapeType'

This commit is contained in:
hneemann 2018-07-30 12:46:32 +02:00
commit 241f2e6d61
112 changed files with 752 additions and 357 deletions

View File

@ -7,6 +7,11 @@ HEAD, planned as v0.20
- The external assembly IDE is able to preload also RAMs with executable code.
The register representing the program counter must be marked as such.
- Allows the pre-loading of program memory if a RAM is used as such.
- Added a new more flexible shape for embedded circuits.
- Breaking changes:
- In your own DIL circuits you have to reselect the DIL shape in the
circuit settings. If you have build a custom shape, you also have to
reselect it.
v0.19, released on 14. June 2018
- Added a tabbed pane to the attributes dialog to make it more beginner friendly.

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>backgroundColor</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>Description</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -3,8 +3,8 @@
<version>1</version>
<attributes>
<entry>
<string>isDIL</string>
<boolean>true</boolean>
<string>shapeType</string>
<shapeType>DIL</shapeType>
</entry>
<entry>
<string>pinCount</string>

View File

@ -2,6 +2,10 @@
<circuit>
<version>1</version>
<attributes>
<entry>
<string>shapeType</string>
<de.neemann.digital.draw.shapes.CustomCircuitShapeType>CUSTOM</de.neemann.digital.draw.shapes.CustomCircuitShapeType>
</entry>
<entry>
<string>Description</string>
<string>Arithmetic Logical unit.

View File

@ -20,7 +20,7 @@ public class Key<VALUE> {
private final String langKey;
private boolean groupEditAllowed = false;
private Key dependsOn;
private boolean dependsOnInvert;
private CheckEnabled checkEnabled;
// Both values are always null in digital.
// Both are only used within a custom implemented component.
@ -157,30 +157,31 @@ public class Key<VALUE> {
/**
* @return true if dependency is inverted
*/
public boolean isDependsOnInverted() {
return dependsOnInvert;
public CheckEnabled getCheckEnabled() {
return checkEnabled;
}
/**
* Sets a bool dependency for this key
*
* @param key the key which this key depends on
* @return this for chained calls
*/
public Key<VALUE> setDependsOn(Key<Boolean> key) {
return setDependsOn(key, o -> o);
}
/**
* Sets the key this key depends on.
*
* @param key the key where this key depends on
* @param key the key where this key depends on
* @param checkEnabled function which determines if the editor is enabled or not
* @param <KV> type of key which this key depends on
* @return this for chained calls
*/
public Key<VALUE> setDependsOn(Key key) {
return setDependsOn(key, false);
}
/**
* Sets the key this key depends on.
*
* @param key the key where this key depends on
* @param invert if true dependency is inverted
* @return this for chained calls
*/
public Key<VALUE> setDependsOn(Key key, boolean invert) {
public <KV> Key<VALUE> setDependsOn(Key<KV> key, CheckEnabled<KV> checkEnabled) {
this.dependsOn = key;
this.dependsOnInvert = invert;
this.checkEnabled = checkEnabled;
return this;
}
@ -457,4 +458,19 @@ public class Key<VALUE> {
return lineNumbers;
}
}
/**
* Interface to define a dependancy of a key from an other key
*
* @param <T> the type of the key
*/
public interface CheckEnabled<T> {
/**
* Returns true if editor is enabled
*
* @param t the value the editor depends on
* @return true if editor is enabled
*/
boolean isEnabled(T t);
}
}

View File

@ -17,6 +17,7 @@ import de.neemann.digital.draw.graphics.Orientation;
import de.neemann.digital.draw.graphics.Style;
import de.neemann.digital.draw.library.ElementLibrary;
import de.neemann.digital.draw.model.InverterConfig;
import de.neemann.digital.draw.shapes.CustomCircuitShapeType;
import de.neemann.digital.draw.shapes.custom.CustomShapeDescription;
import de.neemann.gui.Screen;
import de.neemann.gui.language.Language;
@ -288,6 +289,21 @@ public final class Keys {
= new Key.KeyInteger("Width", 3)
.setMin(2);
/**
* defines the shape type of the custom circuit
*/
public static final Key<CustomCircuitShapeType> SHAPE_TYPE
= new Key.KeyEnum<>("shapeType", CustomCircuitShapeType.DEFAULT, CustomCircuitShapeType.values()).setSecondary();
/**
* the width of an element if it is included as nested element
*/
public static final Key<Integer> HEIGHT
= new Key.KeyInteger("Height", 3)
.setMin(2)
.setSecondary()
.setDependsOn(SHAPE_TYPE, cst -> cst.equals(CustomCircuitShapeType.LAYOUT));
/**
* width of the terminal
*/
@ -527,19 +543,14 @@ public final class Keys {
public static final Key<String> PINNUMBER =
new Key<>("pinNumber", "").setSecondary();
/**
* true if shape is a dil shape
*/
public static final Key<Boolean> IS_DIL
= new Key<>("isDIL", false).setSecondary();
/**
* the pin count
*/
public static final Key<Integer> PINCOUNT =
new Key.KeyInteger("pinCount", 0)
.setMin(0)
.setDependsOn(IS_DIL)
.setSecondary();
.setSecondary()
.setDependsOn(SHAPE_TYPE, st -> st.equals(CustomCircuitShapeType.DIL));
/**
@ -552,8 +563,7 @@ public final class Keys {
* Background Color of nested circuits
*/
public static final Key<java.awt.Color> BACKGROUND_COLOR
= new Key<>("backgroundColor", new Color(255, 255, 180, 200))
.setDependsOn(IS_DIL, true);
= new Key<>("backgroundColor", new Color(255, 255, 180, 200));
/**
* the screen resolution
@ -646,17 +656,13 @@ public final class Keys {
public static final Key<Boolean> SETTINGS_NOTOOLTIPS =
new Key<>("noComponentToolTips", false);
/**
* Used to show the default shape also if the circuit defines a DIL.
*/
public static final Key<Boolean> USE_DEFAULT_SHAPE
= new Key<Boolean>("useDefShape", false);
/**
* Shape used to represent a visual element
*/
public static final Key<CustomShapeDescription> CUSTOM_SHAPE
= new Key<>("customShape", CustomShapeDescription.EMPTY).setSecondary();
= new Key<>("customShape", CustomShapeDescription.EMPTY)
.setSecondary()
.setDependsOn(SHAPE_TYPE, st -> st.equals(CustomCircuitShapeType.CUSTOM));
/**
* True if a program is loaded to the simulator at startup
@ -668,6 +674,6 @@ public final class Keys {
* The file to preload as a program at startup
*/
public static final Key<File> PROGRAM_TO_PRELOAD
= new Key.KeyFile("preloadProgramFile", new File("")).setSecondary();
= new Key.KeyFile("preloadProgramFile", new File("")).setSecondary().setDependsOn(PRELOAD_PROGRAM);
}

View File

@ -24,6 +24,7 @@ import de.neemann.digital.core.wiring.Clock;
import de.neemann.digital.draw.graphics.*;
import de.neemann.digital.draw.graphics.Vector;
import de.neemann.digital.draw.model.InverterConfig;
import de.neemann.digital.draw.shapes.CustomCircuitShapeType;
import de.neemann.digital.draw.shapes.Drawable;
import de.neemann.digital.draw.shapes.ShapeFactory;
import de.neemann.digital.draw.shapes.custom.CustomShapeDescription;
@ -97,6 +98,7 @@ public class Circuit {
xStream.alias("poly", CustomShapeDescription.PolygonHolder.class);
xStream.alias("text", CustomShapeDescription.TextHolder.class);
xStream.alias("polygon", Polygon.class);
xStream.alias("shapeType", CustomCircuitShapeType.class);
xStream.registerConverter(new PolygonConverter());
return xStream;
}

View File

@ -8,7 +8,10 @@ package de.neemann.digital.draw.library;
import de.neemann.digital.core.arithmetic.*;
import de.neemann.digital.core.arithmetic.Comparator;
import de.neemann.digital.core.basic.*;
import de.neemann.digital.core.element.*;
import de.neemann.digital.core.element.ElementAttributes;
import de.neemann.digital.core.element.ElementFactory;
import de.neemann.digital.core.element.ElementTypeDescription;
import de.neemann.digital.core.element.Keys;
import de.neemann.digital.core.extern.External;
import de.neemann.digital.core.flipflops.*;
import de.neemann.digital.core.io.*;
@ -19,12 +22,10 @@ import de.neemann.digital.core.pld.PullDown;
import de.neemann.digital.core.pld.PullUp;
import de.neemann.digital.core.switching.*;
import de.neemann.digital.core.wiring.*;
import de.neemann.digital.core.flipflops.Monoflop;
import de.neemann.digital.draw.elements.Circuit;
import de.neemann.digital.draw.elements.PinException;
import de.neemann.digital.draw.elements.Tunnel;
import de.neemann.digital.draw.shapes.ShapeFactory;
import de.neemann.digital.draw.shapes.custom.CustomShapeDescription;
import de.neemann.digital.gui.Settings;
import de.neemann.digital.gui.components.data.DummyElement;
import de.neemann.digital.gui.components.graphics.GraphicCard;
@ -602,6 +603,7 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
setShortName(file.getName());
addAttribute(Keys.ROTATE);
addAttribute(Keys.LABEL);
addAttribute(Keys.SHAPE_TYPE);
}
/**
@ -645,18 +647,6 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
return super.getDescription(elementAttributes);
}
@Override
public ArrayList<Key> getAttributeList() {
final ArrayList<Key> list = super.getAttributeList();
if (getAttributes().get(Keys.IS_DIL)
|| getAttributes().get(Keys.CUSTOM_SHAPE) != CustomShapeDescription.EMPTY) {
ArrayList<Key> li = new ArrayList<>(list);
li.add(Keys.USE_DEFAULT_SHAPE);
return li;
}
return list;
}
}

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2018 Helmut Neemann.
* Use of this source code is governed by the GPL v3 license
* that can be found in the LICENSE file.
*/
package de.neemann.digital.draw.shapes;
/**
* Defines the kind of shape used for a embedded circuit
*/
public enum CustomCircuitShapeType {
/**
* Uses the shape specified in the circuit itself
*/
DEFAULT,
/**
* The default shape. inputs at the left, outputs at the right
*/
SIMPLE,
/**
* A DIL shape
*/
DIL,
/**
* Pin positions are dependent on the pin positions in the circuit
*/
LAYOUT,
/**
* Shape is defined in the circuit itself.
*/
CUSTOM
}

Some files were not shown because too many files have changed in this diff Show More