From 494b4a437a3916ee844fdad8ca47a51fab083f10 Mon Sep 17 00:00:00 2001 From: Vincent Aravantinos <aravantinos@fortiss.org> Date: Mon, 5 Dec 2016 11:01:43 +0000 Subject: [PATCH] fixed refs 2750 --- ...DirectConnectionAndReconnectionEditPolicy.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java index 63e080fce..a40bedde5 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java @@ -19,7 +19,9 @@ package org.fortiss.tooling.base.ui.editpart.policy; import static org.fortiss.tooling.base.ui.utils.DragAndDropBaseUtils.createConnectionDragContext; +import org.eclipse.draw2d.geometry.Point; import org.eclipse.gef.ConnectionEditPart; +import org.eclipse.gef.GraphicalEditPart; import org.eclipse.gef.NodeEditPart; import org.eclipse.gef.commands.Command; import org.eclipse.gef.commands.UnexecutableCommand; @@ -81,7 +83,7 @@ import org.fortiss.tooling.base.ui.editpart.command.ReconnectCommand; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: DE2453742ED5A786A15BEFD4EA79DB53 + * @ConQAT.Rating YELLOW Hash: 6756B9E77E054DDEDA7D39B5A51BD2BE */ public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEditPolicy { @@ -89,8 +91,10 @@ public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEdit @Override protected Command getConnectionCompleteCommand(CreateConnectionRequest request) { if(request.getStartCommand() instanceof ConnectCommand) { + Point location = new Point(request.getLocation()); + ((GraphicalEditPart)getHost()).getFigure().translateToRelative(location); ConnectCommand cmd = (ConnectCommand)request.getStartCommand(); - cmd.setTarget(getHost(), request.getLocation()); + cmd.setTarget(getHost(), location); return cmd; } return UnexecutableCommand.INSTANCE; @@ -99,9 +103,12 @@ public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEdit /** {@inheritDoc} */ @Override protected Command getConnectionCreateCommand(CreateConnectionRequest request) { + // Here we need to create a new point, otherwise the translation on the next line will + // *modify* the request which brings problems later on. + Point location = new Point(request.getLocation()); + ((GraphicalEditPart)getHost()).getFigure().translateToRelative(location); ConnectionDragContext context = - createConnectionDragContext(getHost(), getHost(), request.getLocation(), - request.getLocation()); + createConnectionDragContext(getHost(), getHost(), location, null); ConnectCommand cmd = new ConnectCommand(context); request.setStartCommand(cmd); return cmd; -- GitLab