From ad051da54f42b8bf33070bed4814e57dfab782fe Mon Sep 17 00:00:00 2001 From: hneemann Date: Sat, 27 May 2017 19:18:21 +0200 Subject: [PATCH] added "C" shortcut to clock a circuit --- .../java/de/neemann/digital/gui/Main.java | 23 +++++++++++++++++++ src/test/resources/docu/elem2fo.xslt | 18 +++++++++++++++ src/test/resources/docu/static_de.xml | 17 ++++++++++++++ src/test/resources/docu/static_en.xml | 17 ++++++++++++++ 4 files changed, 75 insertions(+) diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index a8703c7a9..a54758058 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -244,6 +244,8 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS } }.setToolTip(Lang.get("menu_help_elements_tt")).createJMenuItem()); + enableClockShortcut(); + setPreferredSize(Screen.getInstance().scale(new Dimension(1024, 768))); pack(); setLocationRelativeTo(builder.parent); @@ -974,6 +976,27 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS return false; } + private void enableClockShortcut() { + new ToolTipAction("doClock") { + @Override + public void actionPerformed(ActionEvent actionEvent) { + if (model != null && !realTimeClockRunning) { + ArrayList cl = model.getClocks(); + if (cl.size() == 1) { + ObservableValue clkVal = cl.get(0).getClockOutput(); + clkVal.setBool(!clkVal.getBool()); + try { + model.doStep(); + circuitComponent.repaintNeeded(); + } catch (NodeException | RuntimeException e) { + showErrorAndStopModel(Lang.get("err_remoteExecution"), e); + } + } + } + } + }.setAccelerator("C").enableAcceleratorIn(circuitComponent); + } + @Override public void showErrorAndStopModel(String message, Exception cause) { SwingUtilities.invokeLater(() -> { diff --git a/src/test/resources/docu/elem2fo.xslt b/src/test/resources/docu/elem2fo.xslt index bac5c6d24..ef43e9aa9 100644 --- a/src/test/resources/docu/elem2fo.xslt +++ b/src/test/resources/docu/elem2fo.xslt @@ -177,6 +177,24 @@ + + + + + : + + + + + + + . diff --git a/src/test/resources/docu/static_de.xml b/src/test/resources/docu/static_de.xml index 37ab2650e..60406cc43 100644 --- a/src/test/resources/docu/static_de.xml +++ b/src/test/resources/docu/static_de.xml @@ -235,4 +235,21 @@ erforderlich. + + Starten und stoppen der Simulation. + Einen Taktschritt ausführen (nur bei gestarteter Simulation und nur, wenn es genau ein Taktelement in der Schaltung gibt). + Ausschneiden der selektierten Elemente und kopieren in die Zwischenablage. + Kopieren der selektierten Elemente in die Zwischenablage. + Einfügen der Elemente aus der Zwischenablage. + Beim Einfügen rotieren der Elemente. + Speichern der Schaltung. + Letzte Änderung zurücknehmen. + Zurückgenommene Änderung erneut anwenden. + Programmieren einer Diode oder eines FG-FET. + Beim Ziehen einer rechteckigen Leitung in den Diagonalmodus wechseln. + Beim Ziehen einer rechteckigen Leitung die Orientierung wechseln. + Abbrechen der aktuellen Aktion. + Löschen der selektierten Elemente. + Löschen der selektierten Elemente. + diff --git a/src/test/resources/docu/static_en.xml b/src/test/resources/docu/static_en.xml index 6c3eea2c8..48ccfd3de 100644 --- a/src/test/resources/docu/static_en.xml +++ b/src/test/resources/docu/static_en.xml @@ -224,4 +224,21 @@ To program such a chip a special programmer hardware is necessary. + + Starts or stops the simulation. + A single clock step (Works only in a running simulation and only if there is a single clock component). + Cuts the selected components to the clipboard. + Copys the selected components to the clipboard. + Inserts the comonents from the clipboard. + While inserting this rotates the components. + Save the circuit. + Undo last modification. + Redo the last undone modification. + Programs a diode or a FG-FET. + While drawing a wire switches to the diagonal mode. + While drawing a line flips the orientation. + Abort the actual action. + Removes the selected components. + Removes the selected components. + \ No newline at end of file