From 966946a969e9f2161b8cbf63610581db30f74237 Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 13 Apr 2016 20:09:21 +0200 Subject: [PATCH] Circuits can have a description. --- src/main/dig/processor/ALU.dig | 4 + src/main/dig/processor/Branch.dig | 10 +- src/main/dig/processor/Control.dig | 4 + src/main/dig/processor/GPO.dig | 169 +++++++++--------- src/main/dig/processor/PC.dig | 4 + src/main/dig/processor/Register.dig | 4 + .../digital/core/element/AttributeKey.java | 1 + .../digital/draw/elements/Circuit.java | 1 + .../neemann/digital/gui/LibrarySelector.java | 5 + src/main/resources/lang/lang_de.properties | 1 + src/main/resources/lang/lang_en.properties | 1 + 11 files changed, 119 insertions(+), 85 deletions(-) diff --git a/src/main/dig/processor/ALU.dig b/src/main/dig/processor/ALU.dig index 136a90092..b31ba4053 100644 --- a/src/main/dig/processor/ALU.dig +++ b/src/main/dig/processor/ALU.dig @@ -2,6 +2,10 @@ 1 + + Description + Arithmetisch Logische Einheit. + Width 4 diff --git a/src/main/dig/processor/Branch.dig b/src/main/dig/processor/Branch.dig index a1fb5802f..9a4ed78e7 100644 --- a/src/main/dig/processor/Branch.dig +++ b/src/main/dig/processor/Branch.dig @@ -1,6 +1,12 @@ 1 + + + Description + Einheit für bedingte Verzweigungen. + + In @@ -128,10 +134,6 @@ - - - - diff --git a/src/main/dig/processor/Control.dig b/src/main/dig/processor/Control.dig index c13f309fe..b83e46f12 100644 --- a/src/main/dig/processor/Control.dig +++ b/src/main/dig/processor/Control.dig @@ -2,6 +2,10 @@ 1 + + Description + Leitwerk für einen einfachen Prozessor. + Width 5 diff --git a/src/main/dig/processor/GPO.dig b/src/main/dig/processor/GPO.dig index e7e2aca6c..6af9b941b 100644 --- a/src/main/dig/processor/GPO.dig +++ b/src/main/dig/processor/GPO.dig @@ -1,5 +1,12 @@ + 1 + + + Description + Element für ein allgemeines Ausgaberegister. + + In @@ -13,7 +20,7 @@ 16 - + 0 @@ -28,7 +35,7 @@ 16 - + 0 @@ -39,7 +46,7 @@ C - + 0 @@ -50,7 +57,7 @@ W - + 0 @@ -61,7 +68,7 @@ 16 - + 0 @@ -76,13 +83,13 @@ 16 - + 0 And - + 0 @@ -93,7 +100,7 @@ 16 - + 0 @@ -108,7 +115,7 @@ 1*16 - + 0 @@ -119,7 +126,7 @@ O0 - + 0 @@ -130,7 +137,7 @@ O1 - + 0 @@ -141,7 +148,7 @@ O2 - + 0 @@ -152,7 +159,7 @@ O3 - + 0 @@ -163,7 +170,7 @@ O4 - + 0 @@ -174,7 +181,7 @@ O5 - + 0 @@ -185,7 +192,7 @@ O6 - + 0 @@ -196,7 +203,7 @@ O7 - + 0 @@ -207,7 +214,7 @@ O8 - + 0 @@ -218,7 +225,7 @@ O9 - + 0 @@ -229,7 +236,7 @@ OA - + 0 @@ -240,7 +247,7 @@ OB - + 0 @@ -251,7 +258,7 @@ OC - + 0 @@ -262,7 +269,7 @@ OD - + 0 @@ -273,7 +280,7 @@ OE - + 0 @@ -284,122 +291,122 @@ OF - + 0 - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + \ No newline at end of file diff --git a/src/main/dig/processor/PC.dig b/src/main/dig/processor/PC.dig index 0c081b8b3..9d8dd7521 100644 --- a/src/main/dig/processor/PC.dig +++ b/src/main/dig/processor/PC.dig @@ -2,6 +2,10 @@ 1 + + Description + Programmzähler + Width 5 diff --git a/src/main/dig/processor/Register.dig b/src/main/dig/processor/Register.dig index 739a4955e..c1ce56d52 100644 --- a/src/main/dig/processor/Register.dig +++ b/src/main/dig/processor/Register.dig @@ -2,6 +2,10 @@ 1 + + Description + Die 16 Prozessorregister + Width 5 diff --git a/src/main/java/de/neemann/digital/core/element/AttributeKey.java b/src/main/java/de/neemann/digital/core/element/AttributeKey.java index 62fb92568..23cd0976e 100644 --- a/src/main/java/de/neemann/digital/core/element/AttributeKey.java +++ b/src/main/java/de/neemann/digital/core/element/AttributeKey.java @@ -40,6 +40,7 @@ public class AttributeKey { public static final AttributeKey IsHighZ = new AttributeKey<>("isHighZ", Lang.get("key_isHighZ"), false); public static final AttributeKey RunAtRealTime = new AttributeKey<>("runRealTime", Lang.get("key_runRealTime"), false); + public static final AttributeKey Description = new AttributeKey<>("Description", Lang.get("key_description"), ""); private final String key; private final VALUE def; diff --git a/src/main/java/de/neemann/digital/draw/elements/Circuit.java b/src/main/java/de/neemann/digital/draw/elements/Circuit.java index 75726f689..0f07c086a 100644 --- a/src/main/java/de/neemann/digital/draw/elements/Circuit.java +++ b/src/main/java/de/neemann/digital/draw/elements/Circuit.java @@ -34,6 +34,7 @@ public class Circuit { static { ATTR_LIST.add(AttributeKey.Width); + ATTR_LIST.add(AttributeKey.Description); } private int version = 1; diff --git a/src/main/java/de/neemann/digital/gui/LibrarySelector.java b/src/main/java/de/neemann/digital/gui/LibrarySelector.java index 0d43ac438..f3f07c9b1 100644 --- a/src/main/java/de/neemann/digital/gui/LibrarySelector.java +++ b/src/main/java/de/neemann/digital/gui/LibrarySelector.java @@ -1,5 +1,6 @@ package de.neemann.digital.gui; +import de.neemann.digital.core.element.AttributeKey; import de.neemann.digital.core.element.ElementAttributes; import de.neemann.digital.core.element.ElementFactory; import de.neemann.digital.core.element.ElementTypeDescription; @@ -178,6 +179,10 @@ public class LibrarySelector implements ElementNotFoundNotification { library.addDescription(description); InsertAction insertAction = new InsertAction(description.getName(), insertHistory, circuitComponent); + String descriptionText = circuit.getAttributes().get(AttributeKey.Description); + if (descriptionText != null && descriptionText.length() > 0) + insertAction.setToolTip(descriptionText); + JMenuItem menuEntry = insertAction.createJMenuItem(); ImportedItem item = findImportedItem(description.getName()); if (item != null) { diff --git a/src/main/resources/lang/lang_de.properties b/src/main/resources/lang/lang_de.properties index e00063559..770d45355 100644 --- a/src/main/resources/lang/lang_de.properties +++ b/src/main/resources/lang/lang_de.properties @@ -38,6 +38,7 @@ key_showDataGraph=Zeige Messwertegraph key_microStep=Zeige Mikroschritte key_isHighZ=Eingang kann hochohmig sein key_runRealTime=Echtzeittakt starten +key_description=Beschreibung elem_And=Und elem_NAnd=Nicht Und diff --git a/src/main/resources/lang/lang_en.properties b/src/main/resources/lang/lang_en.properties index dad45256f..79dfe06d0 100644 --- a/src/main/resources/lang/lang_en.properties +++ b/src/main/resources/lang/lang_en.properties @@ -38,6 +38,7 @@ key_showDataGraph=Show measurement graph key_microStep=Show micro steps key_isHighZ=Is three-state input key_runRealTime=Start real time clock +key_description=Description elem_And=And elem_NAnd=NAnd