Implemented GUIManualSwitch#setHighLevelState
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 26 Jun 2019 17:19:32 +0000 (19:19 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 26 Jun 2019 17:19:32 +0000 (19:19 +0200)
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIManualSwitch.java

index f960d65..77decef 100644 (file)
@@ -9,6 +9,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
 import net.mograsim.logic.core.LogicObservable;
 import net.mograsim.logic.core.LogicObserver;
 import net.mograsim.logic.core.components.ManualSwitch;
+import net.mograsim.logic.core.types.Bit;
 import net.mograsim.logic.core.types.BitVectorFormatter;
 import net.mograsim.logic.core.wires.Wire.ReadEnd;
 import net.mograsim.logic.ui.model.ViewModelModifiable;
@@ -73,6 +74,17 @@ public class GUIManualSwitch extends GUIComponent
                return logicSwitch != null;
        }
 
+       @Override
+       public void setHighLevelState(String stateID, Object newState)
+       {
+               if ("out".equals(stateID))
+               {
+                       if (logicSwitch != null)
+                               logicSwitch.setToValueOf((Bit) newState);
+               } else
+                       super.setHighLevelState(stateID, newState);
+       }
+
        private void registerLogicObs(LogicObservable observable)
        {
                if (observable != null)