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 external assembly IDE is able to preload also RAMs with executable code.
The register representing the program counter must be marked as such. 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. - 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 v0.19, released on 14. June 2018
- Added a tabbed pane to the attributes dialog to make it more beginner friendly. - Added a tabbed pane to the attributes dialog to make it more beginner friendly.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -20,7 +20,7 @@ public class Key<VALUE> {
private final String langKey; private final String langKey;
private boolean groupEditAllowed = false; private boolean groupEditAllowed = false;
private Key dependsOn; private Key dependsOn;
private boolean dependsOnInvert; private CheckEnabled checkEnabled;
// Both values are always null in digital. // Both values are always null in digital.
// Both are only used within a custom implemented component. // Both are only used within a custom implemented component.
@ -157,30 +157,31 @@ public class Key<VALUE> {
/** /**
* @return true if dependency is inverted * @return true if dependency is inverted
*/ */
public boolean isDependsOnInverted() { public CheckEnabled getCheckEnabled() {
return dependsOnInvert; 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. * 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 * @return this for chained calls
*/ */
public Key<VALUE> setDependsOn(Key key) { public <KV> Key<VALUE> setDependsOn(Key<KV> key, CheckEnabled<KV> checkEnabled) {
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) {
this.dependsOn = key; this.dependsOn = key;
this.dependsOnInvert = invert; this.checkEnabled = checkEnabled;
return this; return this;
} }
@ -457,4 +458,19 @@ public class Key<VALUE> {
return lineNumbers; 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.graphics.Style;
import de.neemann.digital.draw.library.ElementLibrary; import de.neemann.digital.draw.library.ElementLibrary;
import de.neemann.digital.draw.model.InverterConfig; 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.digital.draw.shapes.custom.CustomShapeDescription;
import de.neemann.gui.Screen; import de.neemann.gui.Screen;
import de.neemann.gui.language.Language; import de.neemann.gui.language.Language;
@ -288,6 +289,21 @@ public final class Keys {
= new Key.KeyInteger("Width", 3) = new Key.KeyInteger("Width", 3)
.setMin(2); .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 * width of the terminal
*/ */
@ -527,19 +543,14 @@ public final class Keys {
public static final Key<String> PINNUMBER = public static final Key<String> PINNUMBER =
new Key<>("pinNumber", "").setSecondary(); 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 * the pin count
*/ */
public static final Key<Integer> PINCOUNT = public static final Key<Integer> PINCOUNT =
new Key.KeyInteger("pinCount", 0) new Key.KeyInteger("pinCount", 0)
.setMin(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 * Background Color of nested circuits
*/ */
public static final Key<java.awt.Color> BACKGROUND_COLOR public static final Key<java.awt.Color> BACKGROUND_COLOR
= new Key<>("backgroundColor", new Color(255, 255, 180, 200)) = new Key<>("backgroundColor", new Color(255, 255, 180, 200));
.setDependsOn(IS_DIL, true);
/** /**
* the screen resolution * the screen resolution
@ -646,17 +656,13 @@ public final class Keys {
public static final Key<Boolean> SETTINGS_NOTOOLTIPS = public static final Key<Boolean> SETTINGS_NOTOOLTIPS =
new Key<>("noComponentToolTips", false); 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 * Shape used to represent a visual element
*/ */
public static final Key<CustomShapeDescription> CUSTOM_SHAPE 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 * 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 * The file to preload as a program at startup
*/ */
public static final Key<File> PROGRAM_TO_PRELOAD 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.*;
import de.neemann.digital.draw.graphics.Vector; import de.neemann.digital.draw.graphics.Vector;
import de.neemann.digital.draw.model.InverterConfig; 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.Drawable;
import de.neemann.digital.draw.shapes.ShapeFactory; import de.neemann.digital.draw.shapes.ShapeFactory;
import de.neemann.digital.draw.shapes.custom.CustomShapeDescription; import de.neemann.digital.draw.shapes.custom.CustomShapeDescription;
@ -97,6 +98,7 @@ public class Circuit {
xStream.alias("poly", CustomShapeDescription.PolygonHolder.class); xStream.alias("poly", CustomShapeDescription.PolygonHolder.class);
xStream.alias("text", CustomShapeDescription.TextHolder.class); xStream.alias("text", CustomShapeDescription.TextHolder.class);
xStream.alias("polygon", Polygon.class); xStream.alias("polygon", Polygon.class);
xStream.alias("shapeType", CustomCircuitShapeType.class);
xStream.registerConverter(new PolygonConverter()); xStream.registerConverter(new PolygonConverter());
return xStream; 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.*;
import de.neemann.digital.core.arithmetic.Comparator; import de.neemann.digital.core.arithmetic.Comparator;
import de.neemann.digital.core.basic.*; 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.extern.External;
import de.neemann.digital.core.flipflops.*; import de.neemann.digital.core.flipflops.*;
import de.neemann.digital.core.io.*; 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.pld.PullUp;
import de.neemann.digital.core.switching.*; import de.neemann.digital.core.switching.*;
import de.neemann.digital.core.wiring.*; 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.Circuit;
import de.neemann.digital.draw.elements.PinException; import de.neemann.digital.draw.elements.PinException;
import de.neemann.digital.draw.elements.Tunnel; import de.neemann.digital.draw.elements.Tunnel;
import de.neemann.digital.draw.shapes.ShapeFactory; 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.Settings;
import de.neemann.digital.gui.components.data.DummyElement; import de.neemann.digital.gui.components.data.DummyElement;
import de.neemann.digital.gui.components.graphics.GraphicCard; import de.neemann.digital.gui.components.graphics.GraphicCard;
@ -602,6 +603,7 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
setShortName(file.getName()); setShortName(file.getName());
addAttribute(Keys.ROTATE); addAttribute(Keys.ROTATE);
addAttribute(Keys.LABEL); addAttribute(Keys.LABEL);
addAttribute(Keys.SHAPE_TYPE);
} }
/** /**
@ -645,18 +647,6 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
return super.getDescription(elementAttributes); 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