diff options
| author | Florian Barbin | 2014-10-17 09:19:41 +0000 |
|---|---|---|
| committer | Florian Barbin | 2014-10-17 12:54:32 +0000 |
| commit | 5d7e211b662ebf3b410d86d05cbbc9d6372bcd81 (patch) | |
| tree | 6e624a85bc08aac15bc59192efec45551ebaf07e | |
| parent | a23ba9933aeaa788a4e8e416b37397a52fc4a4cc (diff) | |
| download | org.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.java | 11 |
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(); + } } } |
