X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIManualSwitch.java;h=fde7bbdea1b4e8e8ec9cd5bd77eb23a3037ea07d;hb=0ce7f7122a702c3d6a4b864172b8c93620c8b03b;hp=c3100ffb94ef257e3cb43db8aafcd20584d0b170;hpb=fb169b120e97337093a8707c62bbc4bb06098a9c;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java index c3100ffb..fde7bbde 100644 --- a/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java +++ b/LogicUI/src/era/mi/gui/components/GUIManualSwitch.java @@ -6,9 +6,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import era.mi.logic.Bit; import era.mi.logic.components.ManualSwitch; -import era.mi.logic.wires.WireArray; +import era.mi.logic.timeline.Timeline; +import era.mi.logic.types.Bit; +import era.mi.logic.wires.Wire.ReadEnd; +import era.mi.logic.wires.Wire.ReadWriteEnd; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Font; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; @@ -28,24 +30,24 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent bitNames = Collections.unmodifiableMap(bitNamesModifiable); } - private final WireArray wa; - private final List connectedWireArrays; - private final List wireArrayConnectionPoints; + private final ReadEnd we; + private final List connectedWireEnds; + private final List wireEndConnectionPoints; - public GUIManualSwitch(WireArray output) + public GUIManualSwitch(Timeline timeline, ReadWriteEnd output) { - super(output); + super(timeline, output); - this.wa = output; + this.we = output; - List connectedWireArraysModifiable = new ArrayList<>(); - List wireArrayConnectionPointsModifiable = new ArrayList<>(); + List connectedWireEndsModifiable = new ArrayList<>(); + List wireEndConnectionPointsModifiable = new ArrayList<>(); - connectedWireArraysModifiable.add(output); - wireArrayConnectionPointsModifiable.add(new Point(20, 7.5)); + connectedWireEndsModifiable.add(output); + wireEndConnectionPointsModifiable.add(new Point(20, 7.5)); - this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable); - this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable); + this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable); + this.wireEndConnectionPoints = Collections.unmodifiableList(wireEndConnectionPointsModifiable); } @Override @@ -58,7 +60,7 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent public void render(GeneralGC gc) { gc.drawRectangle(0, 0, 20, 15); - String label = bitNames.get(wa.getValue()); + String label = bitNames.get(we.getValue()); Font oldFont = gc.getFont(); Font labelFont = new Font(oldFont.getName(), 6, oldFont.getStyle()); gc.setFont(labelFont); @@ -70,25 +72,25 @@ public class GUIManualSwitch extends ManualSwitch implements BasicGUIComponent @Override public boolean clicked(double x, double y) { - toggle(); + timeline.addEvent((e) -> toggle(), (int) (System.currentTimeMillis() - timeline.getSimulationTime())); return true; } @Override - public int getConnectedWireArraysCount() + public int getConnectedWireEndsCount() { - return connectedWireArrays.size(); + return connectedWireEnds.size(); } @Override - public WireArray getConnectedWireArray(int connectionIndex) + public ReadEnd getConnectedWireEnd(int connectionIndex) { - return connectedWireArrays.get(connectionIndex); + return connectedWireEnds.get(connectionIndex); } @Override - public Point getWireArrayConnectionPoint(int connectionI) + public Point getWireEndConnectionPoint(int connectionI) { - return wireArrayConnectionPoints.get(connectionI); + return wireEndConnectionPoints.get(connectionI); } } \ No newline at end of file