diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index 01d2e9eb8..a4a7267c5 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -80,6 +80,13 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe ATTR_LIST.add(Keys.PROGRAM_TO_PRELOAD); } + /** + * @return returns the list of circuit attributes + */ + public static ArrayList getAttrList() { + return ATTR_LIST; + } + private static final String DEL_ACTION = "myDelAction"; private static final int MOUSE_BORDER_SMALL = 10; private static final int MOUSE_BORDER_LARGE = 50; diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 1d4363206..0f7227df4 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1271,10 +1271,15 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Löschen Löscht ausgewählte Elemente Bearbeiten - Schaltungsattribute bearbeiten - Diese Attribute beeinflussen die Schaltung, wenn sie in andere Schaltungen eingebettet wird. + Einstellungen der Schaltung + Diese Attribute beeinflussen das Verhalten der aktuellen Schaltung. + So kann z.B. das Erscheiningsbild festgelegt werden, welche die Schaltung annimmt, wenn sie in andere + Schaltungen eingebettet wird. Diese Einstellungen werden in der aktuellen Schaltung gespeichert. + Einstellungen - Bearbeitet die globalen Einstellungen + Bearbeitet die globalen Einstellungen des Simulators. Hier können u.a. + Sprache, die zu verwendende Symbolform oder die Pfade externer Tools vorgegeben werden. + Stoppen der Simulation Stoppt die Simulation und erlaubt das Bearbeiten der Schaltung. Bauteile diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 05ebcfc3a..1384e3c6e 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -1261,10 +1261,14 @@ Delete components Delete selected single component or group of components. Edit - Edit circuit attributes - These attributes effect the behavior if the circuit is included in other circuits. + Circuit specific settings + These settings affect the behavior of the current circuit. + Thus, e.g. the appearance shape which the circuit assumes when embedded in other circuits. + These settings are stored in the current circuit. Settings - Edits Digitals preferences + Edits the global settings of the simulator. + Among other things, language, the symbol form to be used or the paths of external tools can be + specified here. Stop Simulation Stops the simulation and allows to edits the circuit. Components diff --git a/src/test/java/de/neemann/digital/docu/DocuTest.java b/src/test/java/de/neemann/digital/docu/DocuTest.java index 3a1b4ac62..f53bda3af 100644 --- a/src/test/java/de/neemann/digital/docu/DocuTest.java +++ b/src/test/java/de/neemann/digital/docu/DocuTest.java @@ -16,6 +16,8 @@ import de.neemann.digital.draw.library.ElementLibrary; import de.neemann.digital.draw.library.LibraryNode; import de.neemann.digital.draw.library.NumStringComparator; import de.neemann.digital.draw.shapes.ShapeFactory; +import de.neemann.digital.gui.Settings; +import de.neemann.digital.gui.components.CircuitComponent; import de.neemann.digital.integration.Resources; import de.neemann.digital.lang.Lang; import de.neemann.gui.language.Language; @@ -30,6 +32,8 @@ import javax.xml.transform.*; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import java.io.*; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -73,6 +77,17 @@ public class DocuTest extends TestCase { .append("\" static=\"").append(new File(Resources.getRoot(), "docu/static_" + language + ".xml").toURI().toString()) .append("\" library=\"").append(libFile.toURI().toString()) .append("\">\n"); + + w.append(" \n"); + w.append("
\n"); + writeAttributes(w, Settings.getInstance().getKeys()); + w.append("
\n"); + + w.append(" \n"); + writeAttributes(w, CircuitComponent.getAttrList()); + w.append(" \n"); + w.append("
\n"); + ElementLibrary library = new ElementLibrary(); ShapeFactory shapeFactory = new ShapeFactory(library, language.equals("en")); String actPath = null; @@ -114,22 +129,7 @@ public class DocuTest extends TestCase { } if (etd.getAttributeList().size() > 0) { - w.append(" \n"); - for (Key k : etd.getAttributeList()) { - if (!k.isSecondary()) { - w.append(" "); - w.append(escapeHTML(k.getDescription())); - w.append("\n"); - } - } - for (Key k : etd.getAttributeList()) { - if (k.isSecondary()) { - w.append(" "); - w.append(escapeHTML(k.getDescription())); - w.append("\n"); - } - } - w.append(" \n"); + writeAttributes(w, etd.getAttributeList()); } w.append(" \n"); @@ -138,6 +138,25 @@ public class DocuTest extends TestCase { w.append(""); } + private void writeAttributes(Writer w, List keyList) throws IOException { + w.append(" \n"); + for (Key k : keyList) { + if (!k.isSecondary()) { + w.append(" "); + w.append(escapeHTML(k.getDescription())); + w.append("\n"); + } + } + for (Key k : keyList) { + if (k.isSecondary()) { + w.append(" "); + w.append(escapeHTML(k.getDescription())); + w.append("\n"); + } + } + w.append(" \n"); + } + private void writeSVG(File imageFile, VisualElement ve) throws IOException { try (FileOutputStream out = new FileOutputStream(imageFile)) { try (GraphicSVG svg = new GraphicSVGIndex(out, null, 20)) { diff --git a/src/test/resources/docu/elem2fo.xslt b/src/test/resources/docu/elem2fo.xslt index b51718d36..14bec7078 100644 --- a/src/test/resources/docu/elem2fo.xslt +++ b/src/test/resources/docu/elem2fo.xslt @@ -84,12 +84,17 @@ - B + + B + + + + C - C + D @@ -98,12 +103,18 @@ A + + + B + + + - B + C - C + D @@ -255,6 +266,23 @@ + + + + + + + + + + + + + + + + + .