From 905c0831b00115c7a1fc40b3877fc7c298ebf71b Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 23 Apr 2018 13:38:23 +0200 Subject: [PATCH] Enabled P hot key also for the switch component. --- .../digital/gui/components/CircuitComponent.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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 73a7c4b8f..4c8a881e4 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -12,6 +12,7 @@ import de.neemann.digital.core.element.*; import de.neemann.digital.core.io.In; import de.neemann.digital.core.io.InValue; import de.neemann.digital.core.io.Out; +import de.neemann.digital.core.switching.Switch; import de.neemann.digital.draw.elements.*; import de.neemann.digital.draw.graphics.*; import de.neemann.digital.draw.graphics.Vector; @@ -313,9 +314,14 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe @Override public void actionPerformed(ActionEvent e) { // is allowed also if locked! VisualElement ve = getActualVisualElement(); - if (ve != null && CircuitComponent.this.library.isProgrammable(ve.getElementName())) { - boolean blown = ve.getElementAttributes().get(Keys.BLOWN); - modify(new ModifyAttribute<>(ve, Keys.BLOWN, !blown)); + if (ve != null) { + if (CircuitComponent.this.library.isProgrammable(ve.getElementName())) { + boolean blown = ve.getElementAttributes().get(Keys.BLOWN); + modify(new ModifyAttribute<>(ve, Keys.BLOWN, !blown)); + } else if (ve.equalsDescription(Switch.DESCRIPTION)) { + boolean closed = ve.getElementAttributes().get(Keys.CLOSED); + modify(new ModifyAttribute<>(ve, Keys.CLOSED, !closed)); + } } } }.setAccelerator("P").enableAcceleratorIn(this);