diff options
author | mgolubev | 2014-10-07 09:28:16 +0000 |
---|---|---|
committer | mgolubev | 2014-10-07 09:29:57 +0000 |
commit | 1159a65991ae28b18eed3aa6ee9c516958a57dc9 (patch) | |
tree | 052f4ecaf34084bc24b042d6d7c65a15b1a770c6 | |
parent | 0acf4258f154e3e3e55289b35ee8cf2f9b7efac3 (diff) | |
download | org.eclipse.papyrus-1159a65991ae28b18eed3aa6ee9c516958a57dc9.tar.gz org.eclipse.papyrus-1159a65991ae28b18eed3aa6ee9c516958a57dc9.tar.xz org.eclipse.papyrus-1159a65991ae28b18eed3aa6ee9c516958a57dc9.zip |
fixed Bug 442161: wrong snap for "Г"-like routing
Change-Id: Icb2e1938decfdd9533666d4cda081568e1d367ab
Signed-off-by: mgolubev <golubev@montages.com>
-rw-r--r-- | plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/linklf/router/SnapToGridRectilinearRouter.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/linklf/router/SnapToGridRectilinearRouter.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/linklf/router/SnapToGridRectilinearRouter.java index bfb8b3c21fc..0857376a0cd 100644 --- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/linklf/router/SnapToGridRectilinearRouter.java +++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/linklf/router/SnapToGridRectilinearRouter.java @@ -15,9 +15,14 @@ import org.eclipse.gmf.runtime.draw2d.ui.internal.routers.OrthogonalRouterUtilit import org.eclipse.gmf.runtime.draw2d.ui.internal.routers.RectilinearRouter; import org.eclipse.papyrus.infra.gmfdiag.common.linklf.DiagramGridSpec; +@SuppressWarnings("restriction") public class SnapToGridRectilinearRouter extends RectilinearRouter2 { private DiagramGridSpec myGridSpec; + + public SnapToGridRectilinearRouter() { + super(); + } public void setEditPartViewer(EditPartViewer viewer) { if (myGridSpec != null && myGridSpec.getViewer() == viewer) { @@ -148,6 +153,11 @@ public class SnapToGridRectilinearRouter extends RectilinearRouter2 { public static void insertPointsProducingNotAlignedRectilinearSegments(PointList line, int sourceAnchorRelativeLocation, int targetAnchorRelativeLocation, SnapToGrid snapper) { insertPointsProducingNotAlignedRectilinearSegments(line, sourceAnchorRelativeLocation, targetAnchorRelativeLocation); + if (asVerticalOrHorizontal(sourceAnchorRelativeLocation) != asVerticalOrHorizontal(targetAnchorRelativeLocation)) { + //for "|_"-like routing we don't need snapping, the added bendpoint is determined fully by anchors + return; + } + // so we are in "_|~"-like routing if (snapper != null) { PrecisionPoint addedForSource = new PrecisionPoint(line.getPoint(1)); PrecisionPoint snappedForSource = addedForSource.getPreciseCopy(); |