From: Daniel Kirschten Date: Tue, 28 May 2019 09:51:33 +0000 (+0200) Subject: GUIWire now supports moving pins X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;h=583c5839cf0d0526268ccc527bfb72058039e403;p=Mograsim.git GUIWire now supports moving pins --- diff --git a/LogicUI/src/era/mi/gui/model/wires/GUIWire.java b/LogicUI/src/era/mi/gui/model/wires/GUIWire.java index 11213359..c4cb2f19 100644 --- a/LogicUI/src/era/mi/gui/model/wires/GUIWire.java +++ b/LogicUI/src/era/mi/gui/model/wires/GUIWire.java @@ -27,16 +27,27 @@ public class GUIWire this.path[dstI + 0] = path[srcI].x; this.path[dstI + 1] = path[srcI].y; } - // TODO support moving pins - Point pos; - pos = pin1.getPos(); + + pin1.addPinMovedListener(p -> pin1Moved()); + pin2.addPinMovedListener(p -> pin2Moved()); + pin1Moved(); + pin2Moved(); + + model.wireCreated(this); + } + + private void pin1Moved() + { + Point pos = pin1.getPos(); this.path[0] = pos.x; this.path[1] = pos.y; - pos = pin2.getPos(); + } + + private void pin2Moved() + { + Point 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()