X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fwires%2FWireConnectionPoint.java;h=df82a733ca934332352e24498ced91087d6c90b3;hb=6d944b4deae46eef98beabdea0dab90c455e14a8;hp=916ceabfc37329154e6f63bb7ec9d8514c7c26ee;hpb=fb169b120e97337093a8707c62bbc4bb06098a9c;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/wires/WireConnectionPoint.java b/LogicUI/src/era/mi/gui/wires/WireConnectionPoint.java index 916ceabf..df82a733 100644 --- a/LogicUI/src/era/mi/gui/wires/WireConnectionPoint.java +++ b/LogicUI/src/era/mi/gui/wires/WireConnectionPoint.java @@ -1,21 +1,31 @@ package era.mi.gui.wires; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import org.eclipse.swt.graphics.Color; import era.mi.gui.components.BasicGUIComponent; -import era.mi.logic.wires.WireArray; +import era.mi.logic.wires.Wire; +import era.mi.logic.wires.Wire.ReadEnd; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; public class WireConnectionPoint implements BasicGUIComponent { - private final WireArray wa; + private final Wire wire; + private final List wireEnds; private final int wiresCrossing; - public WireConnectionPoint(WireArray wa, int wiresCrossing) + public WireConnectionPoint(Wire wire, int wiresCrossing) { - this.wa = wa; + this.wire = wire; + List wireEndsModifiable = new ArrayList<>(); + for (int i = 0; i < wiresCrossing; i++) + wireEndsModifiable.add(wire.createReadOnlyEnd()); + wireEnds = Collections.unmodifiableList(wireEndsModifiable); this.wiresCrossing = wiresCrossing; } @@ -23,8 +33,8 @@ public class WireConnectionPoint implements BasicGUIComponent public void render(GeneralGC gc) { Color oldBG = gc.getBackground(); - if (wa.length == 1) - gc.setBackground(gc.getDevice().getSystemColor(GUIWire.getSWTColorConstantForBit(wa.getValue()))); + if (wire.length == 1) + gc.setBackground(gc.getDevice().getSystemColor(GUIWire.getSWTColorConstantForBit(wire.getValue()))); gc.fillOval(-1, -1, 2, 2); gc.setBackground(oldBG); } @@ -36,19 +46,19 @@ public class WireConnectionPoint implements BasicGUIComponent } @Override - public int getConnectedWireArraysCount() + public int getConnectedWireEndsCount() { return wiresCrossing; } @Override - public WireArray getConnectedWireArray(int connectionIndex) + public ReadEnd getConnectedWireEnd(int connectionIndex) { - return wa; + return wireEnds.get(connectionIndex); } @Override - public Point getWireArrayConnectionPoint(int connectionIndex) + public Point getWireEndConnectionPoint(int connectionIndex) { return new Point(0, 0); }