X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fcomponents%2FGUIMux.java;h=0eba8f553c8ca11d258efbb62b2a44471ff0aa52;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=0082a768521842abbac122f3e7545bc3cb8ae205;hpb=d3a382377768fdb1434d5baebf73c9413e61e46f;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/components/GUIMux.java b/LogicUI/src/era/mi/gui/components/GUIMux.java index 0082a768..0eba8f55 100644 --- a/LogicUI/src/era/mi/gui/components/GUIMux.java +++ b/LogicUI/src/era/mi/gui/components/GUIMux.java @@ -6,45 +6,47 @@ import java.util.Collections; import java.util.List; import era.mi.logic.components.Mux; -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 GUIMux extends Mux implements BasicGUIComponent { - private final double height; - private final List connectedWireArrays; - private final List wireArrayConnectionPoints; + private final double height; + private final List connectedWireEnds; + private final List WireEndConnectionPoints; - public GUIMux(int processTime, WireArray out, WireArray select, WireArray... inputs) + public GUIMux(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd select, ReadEnd... inputs) { - super(processTime, out, select, inputs); + super(timeline, processTime, out, select, inputs); double height = inputs.length * 5; - if(height < 10) + if (height < 10) height = 10; this.height = height; - List connectedWireArraysModifiable = new ArrayList<>(); - List wireArrayConnectionPointsModifiable = new ArrayList<>(); + List connectedWireEndsModifiable = new ArrayList<>(); + List WireEndConnectionPointsModifiable = new ArrayList<>(); - connectedWireArraysModifiable.add(out); - wireArrayConnectionPointsModifiable.add(new Point(20, 10 + height / 2)); + connectedWireEndsModifiable.add(out); + WireEndConnectionPointsModifiable.add(new Point(20, 10 + height / 2)); - connectedWireArraysModifiable.add(select); - wireArrayConnectionPointsModifiable.add(new Point(10, 5)); + connectedWireEndsModifiable.add(select); + WireEndConnectionPointsModifiable.add(new Point(10, 5)); { - connectedWireArraysModifiable.addAll(Arrays.asList(inputs)); + connectedWireEndsModifiable.addAll(Arrays.asList(inputs)); double inputHeightIncrement = (height + 20) / inputs.length; double inputHeight = inputHeightIncrement / 2; - for(int i = 0; i < inputs.length; i ++, inputHeight += inputHeightIncrement) - wireArrayConnectionPointsModifiable.add(new Point(0, inputHeight)); + for (int i = 0; i < inputs.length; i++, inputHeight += inputHeightIncrement) + WireEndConnectionPointsModifiable.add(new Point(0, inputHeight)); } - this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable); - this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable); + this.connectedWireEnds = Collections.unmodifiableList(connectedWireEndsModifiable); + this.WireEndConnectionPoints = Collections.unmodifiableList(WireEndConnectionPointsModifiable); } @Override @@ -52,28 +54,28 @@ public class GUIMux extends Mux implements BasicGUIComponent { return new Rectangle(0, 0, 20, height + 20); } + @Override public void render(GeneralGC gc) { - gc.drawPolygon(new double[] { - 0, 0, - 20, 10, - 20, height + 10, - 0, height + 20}); + gc.drawPolygon(new double[] { 0, 0, 20, 10, 20, height + 10, 0, height + 20 }); } + @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