diff options
Diffstat (limited to 'plugins/org.eclipse.sirius.diagram.ui')
3 files changed, 34 insertions, 20 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/api/image/ImageSelectorService.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/api/image/ImageSelectorService.java index 6482dd5248..58905d5ee9 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/api/image/ImageSelectorService.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/api/image/ImageSelectorService.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2015 THALES GLOBAL SERVICES and others. + * Copyright (c) 2012, 2016 THALES GLOBAL SERVICES and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -56,6 +56,7 @@ import org.eclipse.sirius.viewpoint.Customizable; import org.eclipse.sirius.viewpoint.LabelStyle; import org.eclipse.sirius.viewpoint.Style; import org.eclipse.sirius.viewpoint.ViewpointPackage; +import org.eclipse.sirius.viewpoint.description.style.StyleDescription; import org.eclipse.ui.IEditorPart; /** @@ -157,8 +158,8 @@ public class ImageSelectorService { if (basicLabelStyle instanceof WorkspaceImage) { updateWorkspacePathCmd = SetCommand.create(domain, basicLabelStyle, DiagramPackage.Literals.WORKSPACE_IMAGE__WORKSPACE_PATH, workspacePath); if (!basicLabelStyle.getCustomFeatures().contains(DiagramPackage.Literals.WORKSPACE_IMAGE__WORKSPACE_PATH.getName())) { - updateWorkspacePathCmd = updateWorkspacePathCmd.chain(AddCommand.create(domain, basicLabelStyle, ViewpointPackage.Literals.CUSTOMIZABLE__CUSTOM_FEATURES, - DiagramPackage.Literals.WORKSPACE_IMAGE__WORKSPACE_PATH.getName())); + updateWorkspacePathCmd = updateWorkspacePathCmd.chain( + AddCommand.create(domain, basicLabelStyle, ViewpointPackage.Literals.CUSTOMIZABLE__CUSTOM_FEATURES, DiagramPackage.Literals.WORKSPACE_IMAGE__WORKSPACE_PATH.getName())); } } else { Object feature = getFeature(basicLabelStyle); @@ -231,8 +232,9 @@ public class ImageSelectorService { workspaceImage.setBorderLineStyle(oldStyle.getBorderLineStyle()); workspaceImage.setBorderSize(oldStyle.getBorderSize()); - if (oldStyle.getDescription() instanceof BorderedStyleDescription) { - BorderedStyleDescription oldDesc = (BorderedStyleDescription) oldStyle.getDescription(); + StyleDescription oldDescription = oldStyle.getDescription(); + if (oldDescription instanceof BorderedStyleDescription) { + BorderedStyleDescription oldDesc = (BorderedStyleDescription) oldDescription; workspaceImageDescription.setBorderColor(oldDesc.getBorderColor()); workspaceImageDescription.setBorderLineStyle(oldDesc.getBorderLineStyle()); workspaceImageDescription.setBorderSizeComputationExpression(oldDesc.getBorderSizeComputationExpression()); 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 ae6551b64e..dc950813ef 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2015 THALES GLOBAL SERVICES and others. + * Copyright (c) 2007, 2016 THALES GLOBAL SERVICES and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -55,6 +55,7 @@ import org.eclipse.sirius.ui.tools.api.color.VisualBindingManager; import org.eclipse.sirius.viewpoint.DStylizable; import org.eclipse.sirius.viewpoint.RGBValues; import org.eclipse.sirius.viewpoint.Style; +import org.eclipse.sirius.viewpoint.description.style.StyleDescription; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -452,17 +453,25 @@ public final class DiagramContainerEditPartOperation { private static Dimension getCornerDimension(EObject eObj) { final Dimension corner = new Dimension(0, 0); + StyleDescription styleDescription = getStyleDecription(eObj); + if (styleDescription instanceof ContainerStyleDescription) { + final ContainerStyleDescription description = (ContainerStyleDescription) styleDescription; + if (description.isRoundedCorner()) { + corner.height = description.getArcHeight(); + corner.width = description.getArcWidth(); + } + } + return corner; + } + + private static StyleDescription getStyleDecription(EObject eObj) { if (eObj instanceof DStylizable) { final Style style = ((DStylizable) eObj).getStyle(); - if (style != null && style.getDescription() instanceof ContainerStyleDescription) { - final ContainerStyleDescription description = (ContainerStyleDescription) style.getDescription(); - if (description.isRoundedCorner()) { - corner.height = description.getArcHeight(); - corner.width = description.getArcWidth(); - } + if (style != null) { + return style.getDescription(); } } - return corner; + return null; } /** diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/refresh/listeners/GMFBoundsUpdater.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/refresh/listeners/GMFBoundsUpdater.java index aa8624a12a..a2d721a692 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/refresh/listeners/GMFBoundsUpdater.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/refresh/listeners/GMFBoundsUpdater.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2015 THALES GLOBAL SERVICES and others. + * Copyright (c) 2007, 2016 THALES GLOBAL SERVICES and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,9 +39,10 @@ import org.eclipse.sirius.diagram.ui.business.api.view.SiriusGMFHelper; import org.eclipse.sirius.diagram.ui.business.internal.query.WorkspaceImageQuery; import org.eclipse.sirius.diagram.ui.provider.Messages; import org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutUtils; +import org.eclipse.sirius.viewpoint.description.style.StyleDescription; /** - * A ResourceSet listener to resize image with this default size. + * A ResourceSet listener to resize image with its default size. * * @author jdupont */ @@ -123,8 +124,9 @@ public class GMFBoundsUpdater extends ResourceSetListenerImpl { differentPath = false; } } - isWorkspaceImageStyleResized = dDiagramElement.getStyle().getDescription() instanceof WorkspaceImageDescription - && ((WorkspaceImageDescription) dDiagramElement.getStyle().getDescription()).getSizeComputationExpression().equals("-1") && differentPath; //$NON-NLS-1$ + StyleDescription description = dDiagramElement.getStyle().getDescription(); + isWorkspaceImageStyleResized = description instanceof WorkspaceImageDescription + && ((WorkspaceImageDescription) description).getSizeComputationExpression().equals("-1") && differentPath; //$NON-NLS-1$ return isWorkspaceImageStyleResized; } @@ -162,11 +164,12 @@ public class GMFBoundsUpdater extends ResourceSetListenerImpl { for (DDiagramElement element : elementsToResize) { Node node = SiriusGMFHelper.getGmfNode(element, session); Size size = (Size) node.getLayoutConstraint(); - if (element.getStyle().getDescription() instanceof WorkspaceImageDescription) { - Dimension defaultDimension = new WorkspaceImageQuery((WorkspaceImageDescription) element.getStyle().getDescription()).getDefaultDimension(); + StyleDescription styleDescription = element.getStyle().getDescription(); + if (styleDescription instanceof WorkspaceImageDescription) { + Dimension defaultDimension = new WorkspaceImageQuery((WorkspaceImageDescription) styleDescription).getDefaultDimension(); size.setHeight(defaultDimension.height); size.setWidth(defaultDimension.width); - } else if (element.getStyle().getDescription() instanceof NodeStyleDescription) { + } else if (styleDescription instanceof NodeStyleDescription) { size.setHeight(((DNode) element).getHeight() * LayoutUtils.SCALE); size.setWidth(((DNode) element).getWidth() * LayoutUtils.SCALE); } |