Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Redor2016-09-02 15:18:12 +0000
committerLaurent Redor2016-09-05 07:55:03 +0000
commit704da52f8cac23be9b6e90b820c1e75a273a2556 (patch)
tree60f776ff98fa8ddb72a9596fd5dc74b6a320227f
parent4940e506e560c6c3cc313c3feb60b921af9a0171 (diff)
downloadorg.eclipse.sirius-704da52f8cac23be9b6e90b820c1e75a273a2556.tar.gz
org.eclipse.sirius-704da52f8cac23be9b6e90b820c1e75a273a2556.tar.xz
org.eclipse.sirius-704da52f8cac23be9b6e90b820c1e75a273a2556.zip
[498494] Fix NPE regression caused by this issue
All the method concerned by the zoom manager must be overridden to use the specific zoom manager. Bug: 498494 Change-Id: I8a430c49150e0a98790cbabf7993766f1b6b9357 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/graphical/edit/part/DDiagramRootEditPart.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/graphical/edit/part/DDiagramRootEditPart.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/graphical/edit/part/DDiagramRootEditPart.java
index 8dbc2bb193..a5acdc691f 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/graphical/edit/part/DDiagramRootEditPart.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/graphical/edit/part/DDiagramRootEditPart.java
@@ -17,6 +17,8 @@ import org.eclipse.draw2d.LayeredPane;
import org.eclipse.draw2d.ScalableFigure;
import org.eclipse.draw2d.ScalableFreeformLayeredPane;
import org.eclipse.draw2d.Viewport;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.AutoexposeHelper;
import org.eclipse.gef.LayerConstants;
import org.eclipse.gef.editparts.ZoomManager;
@@ -24,6 +26,7 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramRootEditPart;
import org.eclipse.gmf.runtime.diagram.ui.figures.BorderItemsAwareFreeFormLayer;
import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants;
import org.eclipse.gmf.runtime.diagram.ui.render.editparts.RenderedDiagramRootEditPart;
+import org.eclipse.gmf.runtime.gef.ui.internal.editparts.AnimatableZoomManager;
import org.eclipse.gmf.runtime.notation.MeasurementUnit;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.sirius.diagram.ui.tools.internal.figure.DConnectionLayerEx;
@@ -34,6 +37,7 @@ import org.eclipse.sirius.diagram.ui.tools.internal.handler.SiriusAnimatableZoom
*
* @author ymortier
*/
+@SuppressWarnings("restriction")
public class DDiagramRootEditPart extends RenderedDiagramRootEditPart {
private SiriusAnimatableZoomManager siriusZoomManager;
@@ -103,6 +107,42 @@ public class DDiagramRootEditPart extends RenderedDiagramRootEditPart {
return siriusZoomManager;
}
+ @Override
+ public void zoomIn() {
+ getZoomManager().zoomIn();
+ }
+
+ @Override
+ public void zoomIn(Point center) {
+ if (getZoomManager() instanceof AnimatableZoomManager) {
+ ((AnimatableZoomManager) getZoomManager()).zoomTo(getZoomManager().getNextZoomLevel(), center);
+ }
+ }
+
+ @Override
+ public void zoomOut() {
+ getZoomManager().zoomOut();
+ }
+
+ @Override
+ public void zoomOut(Point center) {
+ if (getZoomManager() instanceof AnimatableZoomManager) {
+ ((AnimatableZoomManager) getZoomManager()).zoomTo(getZoomManager().getPreviousZoomLevel(), center);
+ }
+ }
+
+ @Override
+ public void zoomTo(double zoom, Point center) {
+ if (getZoomManager() instanceof AnimatableZoomManager) {
+ ((AnimatableZoomManager) getZoomManager()).zoomTo(zoom, center);
+ }
+ }
+
+ @Override
+ public void zoomTo(Rectangle rect) {
+ getZoomManager().zoomTo(rect);
+ }
+
/**
* Duplicated method from super DiagramRootEditPart.
*/

Back to the top