X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fmodel%2Fwires%2FWireCrossPoint.java;h=04c5f1e8406cc3ef892f693e37d740478de08e5f;hb=80bfbd8ebf0ad8a7ad98584544a0c73f43e6f3b6;hp=ebe30c3033fb5e602671882d11f892932708b3e6;hpb=e618fa725540dd5f92ccf0ed7d65acdc8eb83f93;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java b/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java index ebe30c30..04c5f1e8 100644 --- a/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java +++ b/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java @@ -10,24 +10,40 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; public class WireCrossPoint extends GUIComponent { + private final Pin pin; + private ReadEnd end; + private final int logicWidth; - public WireCrossPoint(ViewModel model) + public WireCrossPoint(ViewModel model, int logicWidth) { super(model); + this.logicWidth = logicWidth; setSize(0, 0); - addPin(new Pin(this, 0, 0)); + addPin(this.pin = new Pin(this, logicWidth, 0, 0)); } @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end), () -> gc.fillOval(-1, -1, 2, 2)); + Rectangle bounds = getBounds(); + ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end), + () -> gc.fillOval(bounds.x - 1, bounds.y - 1, 2, 2)); } public void setLogicModelBinding(ReadEnd end) { this.end = end; - end.addObserver((i, o) -> callComponentChangedListeners()); + end.addObserver((i, o) -> callComponentLookChangedListeners()); + } + + public int getLogicWidth() + { + return logicWidth; + } + + public Pin getPin() + { + return pin; } } \ No newline at end of file