Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Barbin2014-10-17 09:19:41 +0000
committerFlorian Barbin2014-10-17 12:54:32 +0000
commit5d7e211b662ebf3b410d86d05cbbc9d6372bcd81 (patch)
tree6e624a85bc08aac15bc59192efec45551ebaf07e
parenta23ba9933aeaa788a4e8e416b37397a52fc4a4cc (diff)
downloadorg.eclipse.sirius-5d7e211b662ebf3b410d86d05cbbc9d6372bcd81.tar.gz
org.eclipse.sirius-5d7e211b662ebf3b410d86d05cbbc9d6372bcd81.tar.xz
org.eclipse.sirius-5d7e211b662ebf3b410d86d05cbbc9d6372bcd81.zip
[437528] Handle edge centering during the repair action.
* If the edge centering property has been updated within the VSM and the user has launched a repair on aird file (without open or launch any refresh on representations), the EdgeStyle centered property was well updated but the GMF edge bendpoints were not. Bug: 437528 Change-Id: I0dc3b24beb0540fd7406d25e05bfc7fb8425a5d2 Signed-off-by: Florian Barbin <florian.barbin@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/repair/DEdgeDiagramElementState.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/repair/DEdgeDiagramElementState.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/repair/DEdgeDiagramElementState.java
index dea125b9ee..6c6b8c6fb3 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/repair/DEdgeDiagramElementState.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/actions/repair/DEdgeDiagramElementState.java
@@ -13,9 +13,11 @@ package org.eclipse.sirius.diagram.ui.tools.internal.actions.repair;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.sirius.diagram.ArrangeConstraint;
import org.eclipse.sirius.diagram.DEdge;
import org.eclipse.sirius.diagram.description.DiagramElementMapping;
+import org.eclipse.sirius.diagram.ui.internal.operation.CenterEdgeEndModelChangeOperation;
import org.eclipse.sirius.diagram.ui.tools.api.migration.DiagramCrossReferencer;
import com.google.common.collect.Iterables;
@@ -69,6 +71,15 @@ public class DEdgeDiagramElementState extends AbstractDiagramElementState<DEdge>
if (!arrangeConstraints.isEmpty()) {
element.getArrangeConstraints().addAll(arrangeConstraints);
}
+
+ // Center the edge ends if needed. In the case where the centering
+ // property has been updated within the VSM, we now make sure the GMF
+ // edge bendpoints are refreshed in addition of the edgeStyle "centered"
+ // property.
+ for (Edge edge : edges) {
+ CenterEdgeEndModelChangeOperation operation = new CenterEdgeEndModelChangeOperation(edge, false);
+ operation.execute();
+ }
}
}

Back to the top