diff --git a/distribution/ReleaseNotes.txt b/distribution/ReleaseNotes.txt index 4545edd7a..dd8ebc252 100644 --- a/distribution/ReleaseNotes.txt +++ b/distribution/ReleaseNotes.txt @@ -1,5 +1,8 @@ Release Notes +Planned as v0.12 +- Added a locked mode, which avoids the unwanted modification of the circuit. + v0.11.1, released on 02. May 2017 - Added the possibility to open a circuit from the command line. - The backspace key works like the delete key. 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 f35166ac8..45c22b1ec 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -86,6 +86,7 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe private boolean isManualScale; private boolean hasChanged = true; private boolean focusWasLost = false; + private boolean lockMessageShown = false; /** @@ -643,7 +644,16 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe } private boolean isLocked() { - return circuit.getAttributes().get(Keys.LOCKED_MODE); + final boolean locked = circuit.getAttributes().get(Keys.LOCKED_MODE); + if (locked && !lockMessageShown) { + String message = Lang.get("msg_isLocked", + Lang.get("menu_edit"), + Lang.get("menu_editAttributes"), + Lang.get("key_lockedMode")); + SwingUtilities.invokeLater(new ErrorMessage(message).setComponent(this)); + lockMessageShown = true; + } + return locked; } private class MouseDispatcher extends MouseAdapter implements MouseMotionListener { diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 019a0f534..1ebd37245 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -376,14 +376,14 @@ Die gesammte Speichergröße beträgt damit damit dx*dy*2 Speicherworte.N-Kanal Floating Gate FET N-Kanal Feldeffekttransistor mit Floating Gate. Der Bulk ist mit Masse verbunden jedoch wird der Transistor ohne eine Body-Diode simuliert. - Ist das Floating Gate geladen, ist der Transistor immer sperrend. + Ist das Floating Gate geladen, ist der Transistor immer sperrend. Die Programmierung kann direkt mit der Taste [P] verändert werden. Gate Source Drain P-Kanal Floating Gate FET P-Kanal Feldeffekttransistor mit Floating Gate. Der Bulk ist mit Masse verbunden jedoch wird der Transistor ohne eine Body-Diode simuliert. - Ist das Floating Gate geladen, ist der Transistor immer sperrend. + Ist das Floating Gate geladen, ist der Transistor immer sperrend. Die Programmierung kann direkt mit der Taste [P] verändert werden. Gate Source Drain @@ -787,6 +787,9 @@ Die Icons stammen aus dem Tango Desktop Project. Der Dateiname ist nicht eindeutig! Die Datei wurde noch nicht importiert. Die Datei {0} existiert schon! Soll die Datei überschrieben werden? + Die Bearbeitung der Schaltung ist gesperrt. Sie können die Sperrung unter + "{0}->{1}->{2}" aufheben. + Dioden und FG-FETs können auch im gesperrten Zustand mit der Taste [P] konfiguriert werden. Ok diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index b953fcfb9..df1354362 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -776,6 +776,8 @@ The icons are taken from the Tango Desktop Project. (To many entries!) All test cases are executed, but not all results are shown. The evaluation of the test result is nevertheless correct! + The editing of the circuit is disabled. You can remove the lock at "{0} -> {1} -> {2}". + However, diodes and FG-FETs can be configured with the [P] key. Ok