X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fmodel%2Fwires%2FGUIWire.java;h=112133595601a90c139626aafa3382354bd68df3;hb=8eb61f917f31b0cff935538606df04e1c610bdf9;hp=d0bd9908fefed7f0671235d2ea0dc465227b46e3;hpb=4d29cabdc45d68b5e5f210266dc4fbc5560dbcdd;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/model/wires/GUIWire.java b/LogicUI/src/era/mi/gui/model/wires/GUIWire.java index d0bd9908..11213359 100644 --- a/LogicUI/src/era/mi/gui/model/wires/GUIWire.java +++ b/LogicUI/src/era/mi/gui/model/wires/GUIWire.java @@ -3,6 +3,7 @@ package era.mi.gui.model.wires; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; +import era.mi.gui.model.ViewModel; import era.mi.logic.types.Bit; import era.mi.logic.wires.Wire; import net.haspamelodica.swt.helper.gcs.GeneralGC; @@ -10,14 +11,16 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; public class GUIWire { + private final ViewModel model; private Pin pin1; private Pin pin2; private double[] path; private Wire wire; - public GUIWire(Runnable redraw, Pin pin1, Pin pin2, Point... path) + public GUIWire(ViewModel model, Pin pin1, Pin pin2, Point... path) { + this.model = model; this.path = new double[path.length * 2 + 4]; for (int srcI = 0, dstI = 2; srcI < path.length; srcI++, dstI += 2) { @@ -32,6 +35,13 @@ public class GUIWire pos = pin2.getPos(); this.path[this.path.length - 2] = pos.x; this.path[this.path.length - 1] = pos.y; + + model.wireCreated(this); + } + + public void destroy() + { + model.wireDestroyed(this); } public void render(GeneralGC gc)