public GUIWire(ViewModel model, Pin pin1, Pin pin2, Point... path)
{
public GUIWire(ViewModel model, Pin pin1, Pin pin2, Point... path)
{
this.path = new double[path.length * 2 + 4];
for (int srcI = 0, dstI = 2; srcI < path.length; srcI++, dstI += 2)
{
this.path[dstI + 0] = path[srcI].x;
this.path[dstI + 1] = path[srcI].y;
}
this.path = new double[path.length * 2 + 4];
for (int srcI = 0, dstI = 2; srcI < path.length; srcI++, dstI += 2)
{
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();