diff options
| author | Maxime Porhel | 2015-08-24 15:07:09 +0000 |
|---|---|---|
| committer | Maxime Porhel | 2015-08-27 08:07:34 +0000 |
| commit | 313416a5257555eddb1d62e1ba6412af68b36d28 (patch) | |
| tree | 91fd7cfbff0b55d10f21917cc9731ddcff5174c3 | |
| parent | 329579570565635ae8ef6fd080a2e3309c0ab155 (diff) | |
| download | org.eclipse.sirius-313416a5257555eddb1d62e1ba6412af68b36d28.tar.gz org.eclipse.sirius-313416a5257555eddb1d62e1ba6412af68b36d28.tar.xz org.eclipse.sirius-313416a5257555eddb1d62e1ba6412af68b36d28.zip | |
[472033] Region might need to update corners of its preceding sibling
This can occur even if the current region does not support the rounded
corner, if the current region has a workspace image style and its
preceding one has a gradient style with rounded corners for example.
Bug: 472033
Change-Id: I08304450b9f7dc31a1820bab36705c775fc9c08f
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/DiagramContainerEditPartOperation.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/DiagramContainerEditPartOperation.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/DiagramContainerEditPartOperation.java index e791886a19..00df895aac 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/DiagramContainerEditPartOperation.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/DiagramContainerEditPartOperation.java @@ -149,10 +149,9 @@ public final class DiagramContainerEditPartOperation { if (primaryShape instanceof GradientRoundedRectangle) { refreshGradient(style, (GradientRoundedRectangle) primaryShape); } - if (primaryShape instanceof RoundedRectangle) { - refreshCorners(self, diagElement, (RoundedRectangle) primaryShape); - } - DiagramElementEditPartOperation.refreshLabelAlignment(self.getContentPane(), style); + + refreshCorners(self, diagElement, primaryShape); + DiagramElementEditPartOperation.refreshLabelAlignment(self.getContentPane(), ddec.getOwnedStyle()); } if (diagElement != null) { @@ -191,7 +190,7 @@ public final class DiagramContainerEditPartOperation { } } - private static void refreshCorners(final AbstractDiagramElementContainerEditPart self, DDiagramElement diagElement, RoundedRectangle gradientRoundedShape) { + private static void refreshCorners(final AbstractDiagramElementContainerEditPart self, DDiagramElement diagElement, ViewNodeContainerFigureDesc primaryShape) { Dimension cornerDimension = getCornerDimension(self); Dimension specificDimension = cornerDimension; BitSet specificCornerPosition = new BitSet(PositionConstants.NSEW); @@ -232,9 +231,11 @@ public final class DiagramContainerEditPartOperation { } // Update the corner dimension. - gradientRoundedShape.setCornerDimensions(cornerDimension); - if (gradientRoundedShape instanceof RegionRoundedGradientRectangle) { - ((RegionRoundedGradientRectangle) gradientRoundedShape).setAdditionalCornerDimensions(specificDimension, specificCornerPosition); + if (primaryShape instanceof RoundedRectangle) { + ((RoundedRectangle) primaryShape).setCornerDimensions(cornerDimension); + if (primaryShape instanceof RegionRoundedGradientRectangle) { + ((RegionRoundedGradientRectangle) primaryShape).setAdditionalCornerDimensions(specificDimension, specificCornerPosition); + } } } |
