X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIAndGate.java;h=c76d65a0260afa4cfabb64a042bd5ef9eec1def8;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=8ff6068c8361e6241e9e9d27647cd20d0dcb7174;hpb=d3a382377768fdb1434d5baebf73c9413e61e46f;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIAndGate.java b/LogicUI/src/era/mi/gui/components/GUIAndGate.java index 8ff6068c..c76d65a0 100644 --- a/LogicUI/src/era/mi/gui/components/GUIAndGate.java +++ b/LogicUI/src/era/mi/gui/components/GUIAndGate.java @@ -6,7 +6,9 @@ import java.util.Collections; import java.util.List; import era.mi.logic.components.gates.AndGate; -import era.mi.logic.wires.WireArray; +import era.mi.logic.timeline.Timeline; +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; @@ -16,33 +18,33 @@ public class GUIAndGate extends AndGate implements BasicGUIComponent { private static final String LABEL = "&"; - private final int inputCount; - private final double height; - private final List connectedWireArrays; - private final List wireArrayConnectionPoints; + private final int inputCount; + private final double height; + private final List connectedWireEnds; + private final List wireEndConnectionPoints; - public GUIAndGate(int processTime, WireArray out, WireArray... in) + public GUIAndGate(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd... in) { - super(processTime, out, in); + super(timeline, processTime, out, in); - List connectedWireArraysModifiable = new ArrayList<>(); - List wireArrayConnectionPointsModifiable = new ArrayList<>(); + List connectedWireEndsModifiable = new ArrayList<>(); + List wireEndConnectionPointsModifiable = new ArrayList<>(); this.inputCount = in.length; this.height = inputCount * 10; { - connectedWireArraysModifiable.addAll(Arrays.asList(in)); + connectedWireEndsModifiable.addAll(Arrays.asList(in)); double inputHeight = 5; - for(int i = 0; i < inputCount; i ++, inputHeight += 10) - wireArrayConnectionPointsModifiable.add(new Point(0, inputHeight)); + for (int i = 0; i < inputCount; i++, inputHeight += 10) + wireEndConnectionPointsModifiable.add(new Point(0, inputHeight)); } - connectedWireArraysModifiable.add(out); - wireArrayConnectionPointsModifiable.add(new Point(20, height / 2)); + connectedWireEndsModifiable.add(out); + wireEndConnectionPointsModifiable.add(new Point(20, height / 2)); - this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable); - this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable); + this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable); + this.wireEndConnectionPoints = Collections.unmodifiableList(wireEndConnectionPointsModifiable); } @Override @@ -50,32 +52,34 @@ public class GUIAndGate extends AndGate implements BasicGUIComponent { return new Rectangle(0, 0, 20, height); } + @Override public void render(GeneralGC gc) { - gc.drawRectangle(0, 0, 17, height); + gc.drawRectangle(0, 0, 20, height); Font oldFont = gc.getFont(); Font labelFont = new Font(oldFont.getName(), 5, oldFont.getStyle()); gc.setFont(labelFont); Point textExtent = gc.textExtent(LABEL); - gc.drawText(LABEL, 8.5 - textExtent.x / 2, (height - textExtent.y) / 2, true); + gc.drawText(LABEL, 10 - textExtent.x / 2, (height - textExtent.y) / 2, true); gc.setFont(oldFont); - gc.drawOval(17, height / 2 - 1.5, 3, 3); } @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