Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2015-08-24 15:07:09 +0000
committerMaxime Porhel2015-08-27 08:07:34 +0000
commit313416a5257555eddb1d62e1ba6412af68b36d28 (patch)
tree91fd7cfbff0b55d10f21917cc9731ddcff5174c3
parent329579570565635ae8ef6fd080a2e3309c0ab155 (diff)
downloadorg.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.java17
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);
+ }
}
}

Back to the top