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
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
@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
}\r
\r
@Override\r
- public WireEnd getConnectedWireEnd(int connectionIndex)\r
+ public ReadEnd getConnectedWireEnd(int connectionIndex)\r
{\r
return connectedWireEnds.get(connectionIndex);\r
}\r