X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIMerger.java;h=240855c3a862b988af3527de1721d7fef305759f;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=601b434dae6d4245f26db6f3cffbc594f46fa7c8;hpb=d3a382377768fdb1434d5baebf73c9413e61e46f;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIMerger.java b/LogicUI/src/era/mi/gui/components/GUIMerger.java index 601b434d..240855c3 100644 --- a/LogicUI/src/era/mi/gui/components/GUIMerger.java +++ b/LogicUI/src/era/mi/gui/components/GUIMerger.java @@ -6,40 +6,42 @@ import java.util.Collections; import java.util.List; import era.mi.logic.components.Merger; -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.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; public class GUIMerger extends Merger implements BasicGUIComponent { - 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 GUIMerger(WireArray union, WireArray... inputs) + public GUIMerger(Timeline timeline, ReadWriteEnd union, ReadEnd... inputs) { - super(union, inputs); + super(timeline, union, inputs); - List connectedWireArraysModifiable = new ArrayList<>(); - List wireArrayConnectionPointsModifiable = new ArrayList<>(); + List connectedWireEndsModifiable = new ArrayList<>(); + List WireEndConnectionPointsModifiable = new ArrayList<>(); this.inputCount = inputs.length; this.height = (inputCount - 1) * 10; { - connectedWireArraysModifiable.addAll(Arrays.asList(inputs)); + connectedWireEndsModifiable.addAll(Arrays.asList(inputs)); double inputHeight = 0; - 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(union); - wireArrayConnectionPointsModifiable.add(new Point(20, height / 2)); + connectedWireEndsModifiable.add(union); + 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 @@ -47,29 +49,32 @@ public class GUIMerger extends Merger implements BasicGUIComponent { return new Rectangle(0, 0, 20, height); } + @Override public void render(GeneralGC gc) { double inputHeight = 0; - for(int i = 0; i < inputCount; i ++, inputHeight += 10) + for (int i = 0; i < inputCount; i++, inputHeight += 10) gc.drawLine(0, inputHeight, 10, inputHeight); gc.drawLine(10, 0, 10, height); gc.drawLine(10, height / 2, 20, height / 2); } @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