float dx = Math.abs(cp.getRelativeX() - m.getRelativeX()); float dy = Math.abs(cp.getRelativeY() - m.getRelativeY()); cp.setRelativeX(closestMagnet.getRelativeX()); cp.setRelativeY(closestMagnet.getRelativeY()); closestMagnet.addConnectorPoint(cp);
@Override public void onStart(IDragStartEvent event) { this.getConnector().refresh(); //if current point is already attached => detach it if (this.getConnectedToMagnet()!=null){ this.getConnectedToMagnet().removeConnectorPoint(this); //remove incoming or outgoing connector this.getConnectedToMagnet().getConnectableElement().getIncommingConnectors().remove(this.getConnector()); this.getConnectedToMagnet().getConnectableElement().getOutgoingConnectors().remove(this.getConnector()); this.setConnectedToMagnet(null); if (this instanceof IConnectorStart){ this.getConnector().setSource(null); }else if (this instanceof IConnectorEnd){ this.getConnector().setTarget(null); } } }
sourceDistances.add(new MagnetDistance(m, Util.getInstance().getDistance(sourceIntersectionPoint.getX(), sourceIntersectionPoint.getY(), m.getAbsoluteLeft(), m.getAbsoluteTop()))); targetDistances.add(new MagnetDistance(m, Util.getInstance().getDistance(targetIntersectionPoint.getX(), targetIntersectionPoint.getY(), m.getAbsoluteLeft(), m.getAbsoluteTop())));
int connectebleMiddleX = (int) (point.getConnectedToMagnet().getConnectableElement().getWidth()/2)+point.getConnectedToMagnet().getConnectableElement().getAbsoluteLeft(); int connectableMiddleY = (int) (point.getConnectedToMagnet().getConnectableElement().getHeight()/2)+point.getConnectedToMagnet().getConnectableElement().getAbsoluteTop(); p1, p2, point.getConnectedToMagnet().getConnectableElement().getAbsoluteLeft(), point.getConnectedToMagnet().getConnectableElement().getAbsoluteTop(), (int)point.getConnectedToMagnet().getConnectableElement().getWidth(), (int)point.getConnectedToMagnet().getConnectableElement().getHeight());
for(IConnectorPoint p :m.getConnectorPoints()){ p.getConnector().refresh();
sourceClosestMagnet.addConnectorPoint(this.getConnectorStartPoint()); this.getConnectorStartPoint().setConnectedToMagnet(sourceClosestMagnet); source.addOutgoingConnector(this); targetClosestMagnet.addConnectorPoint(this.getConnectorEndPoint()); this.getConnectorEndPoint().setConnectedToMagnet(targetClosestMagnet); target.addIncommingConnector(this);
if (m.getConnectedToMagnet().getConnectableElement().equals(connectable)){ m.setConnectedToMagnet(null); if (m.getConnectedToMagnet().getConnectableElement().equals(connectable)){ m.setConnectedToMagnet(null);
for(IConnectorPoint p :m.getConnectorPoints()){ p.getConnector().refresh();