Timeline updated (executeUntil, setTimeFunction)
[Mograsim.git] / LogicUI / src / era / mi / gui / components / GUIManualSwitch.java
index 704bf76..ff674c5 100644 (file)
@@ -7,8 +7,10 @@ import java.util.List;
 import java.util.Map;\r
 \r
 import era.mi.logic.components.ManualSwitch;\r
+import era.mi.logic.timeline.Timeline;\r
 import era.mi.logic.types.Bit;\r
-import era.mi.logic.wires.Wire.WireEnd;\r
+import era.mi.logic.wires.Wire.ReadEnd;\r
+import era.mi.logic.wires.Wire.ReadWriteEnd;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Font;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
@@ -28,17 +30,17 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent
                bitNames = Collections.unmodifiableMap(bitNamesModifiable);\r
        }\r
 \r
-       private final WireEnd we;\r
-       private final List<WireEnd> connectedWireEnds;\r
+       private final ReadEnd we;\r
+       private final List<ReadEnd> connectedWireEnds;\r
        private final List<Point> wireEndConnectionPoints;\r
 \r
-       public GUIManualSwitch(WireEnd output)\r
+       public GUIManualSwitch(Timeline timeline, ReadWriteEnd output)\r
        {\r
-               super(output);\r
+               super(timeline, output);\r
 \r
                this.we = output;\r
 \r
-               List<WireEnd> connectedWireEndsModifiable = new ArrayList<>();\r
+               List<ReadEnd> connectedWireEndsModifiable = new ArrayList<>();\r
                List<Point> wireEndConnectionPointsModifiable = new ArrayList<>();\r
 \r
                connectedWireEndsModifiable.add(output);\r
@@ -70,7 +72,7 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent
        @Override\r
        public boolean clicked(double x, double y)\r
        {\r
-               toggle();\r
+               timeline.addEvent((e) -> toggle(), (int) (System.currentTimeMillis() - timeline.getSimulationTime()));\r
                return true;\r
        }\r
 \r
@@ -81,7 +83,7 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent
        }\r
 \r
        @Override\r
-       public WireEnd getConnectedWireEnd(int connectionIndex)\r
+       public ReadEnd getConnectedWireEnd(int connectionIndex)\r
        {\r
                return connectedWireEnds.get(connectionIndex);\r
        }\r