Added BitVectorFormatter (as well as ColorDefinition)
[Mograsim.git] / LogicUI / src / era / mi / gui / model / wires / GUIWire.java
index 1121335..8ecf1c4 100644 (file)
@@ -27,16 +27,30 @@ 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();
+
+               this.pin1 = pin1;
+               this.pin2 = pin2;
+
+               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()