Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 327891
Collapse All | Expand All

(-)src/org/eclipse/gef/examples/shapes/ShapesEditor.java (-3 / +38 lines)
Lines 6-13 Link Here
6
 * http://www.eclipse.org/legal/epl-v10.html
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
7
 *
8
 * Contributors:
8
 * Contributors:
9
 * Elias Volanakis - initial API and implementation
9
 * 		Elias Volanakis - initial API and implementation
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.gef.examples.shapes;
11
package org.eclipse.gef.examples.shapes;
12
12
13
import java.io.ByteArrayInputStream;
13
import java.io.ByteArrayInputStream;
Lines 17-23 Link Here
17
import java.io.ObjectOutputStream;
17
import java.io.ObjectOutputStream;
18
import java.io.OutputStream;
18
import java.io.OutputStream;
19
import java.lang.reflect.InvocationTargetException;
19
import java.lang.reflect.InvocationTargetException;
20
import java.util.ArrayList;
20
import java.util.EventObject;
21
import java.util.EventObject;
22
import java.util.List;
21
23
22
import org.eclipse.swt.widgets.Composite;
24
import org.eclipse.swt.widgets.Composite;
23
import org.eclipse.swt.widgets.Control;
25
import org.eclipse.swt.widgets.Control;
Lines 28-33 Link Here
28
import org.eclipse.core.runtime.CoreException;
30
import org.eclipse.core.runtime.CoreException;
29
import org.eclipse.core.runtime.IPath;
31
import org.eclipse.core.runtime.IPath;
30
import org.eclipse.core.runtime.IProgressMonitor;
32
import org.eclipse.core.runtime.IProgressMonitor;
33
import org.eclipse.jface.action.IAction;
31
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
34
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
32
import org.eclipse.jface.util.TransferDropTargetListener;
35
import org.eclipse.jface.util.TransferDropTargetListener;
33
import org.eclipse.ui.IActionBars;
36
import org.eclipse.ui.IActionBars;
Lines 48-62 Link Here
48
import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
51
import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
49
import org.eclipse.gef.dnd.TemplateTransferDropTargetListener;
52
import org.eclipse.gef.dnd.TemplateTransferDropTargetListener;
50
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
53
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
54
import org.eclipse.gef.editparts.ZoomManager;
51
import org.eclipse.gef.palette.PaletteRoot;
55
import org.eclipse.gef.palette.PaletteRoot;
52
import org.eclipse.gef.requests.CreationFactory;
56
import org.eclipse.gef.requests.CreationFactory;
53
import org.eclipse.gef.requests.SimpleFactory;
57
import org.eclipse.gef.requests.SimpleFactory;
54
import org.eclipse.gef.ui.actions.ActionRegistry;
58
import org.eclipse.gef.ui.actions.ActionRegistry;
59
import org.eclipse.gef.ui.actions.ZoomInAction;
60
import org.eclipse.gef.ui.actions.ZoomOutAction;
55
import org.eclipse.gef.ui.palette.PaletteViewer;
61
import org.eclipse.gef.ui.palette.PaletteViewer;
56
import org.eclipse.gef.ui.palette.PaletteViewerProvider;
62
import org.eclipse.gef.ui.palette.PaletteViewerProvider;
57
import org.eclipse.gef.ui.parts.ContentOutlinePage;
63
import org.eclipse.gef.ui.parts.ContentOutlinePage;
58
import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
64
import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
59
import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
65
import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
66
import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
60
import org.eclipse.gef.ui.parts.TreeViewer;
67
import org.eclipse.gef.ui.parts.TreeViewer;
61
68
62
import org.eclipse.gef.examples.shapes.model.ShapesDiagram;
69
import org.eclipse.gef.examples.shapes.model.ShapesDiagram;
Lines 96-103 Link Here
96
	 */
103
	 */
97
	protected void configureGraphicalViewer() {
104
	protected void configureGraphicalViewer() {
98
		super.configureGraphicalViewer();
105
		super.configureGraphicalViewer();
106
		ScrollingGraphicalViewer viewer = (ScrollingGraphicalViewer) getGraphicalViewer();
107
108
		ScalableFreeformRootEditPart root = new ScalableFreeformRootEditPart();
109
110
		List zoomLevels = new ArrayList(3);
111
		zoomLevels.add(ZoomManager.FIT_ALL);
112
		zoomLevels.add(ZoomManager.FIT_WIDTH);
113
		zoomLevels.add(ZoomManager.FIT_HEIGHT);
114
		root.getZoomManager().setZoomLevelContributions(zoomLevels);
115
116
		IAction zoomIn = new ZoomInAction(root.getZoomManager());
117
		IAction zoomOut = new ZoomOutAction(root.getZoomManager());
118
		getActionRegistry().registerAction(zoomIn);
119
		getActionRegistry().registerAction(zoomOut);
120
		getSite().getKeyBindingService().registerAction(zoomIn);
121
		getSite().getKeyBindingService().registerAction(zoomOut);
122
123
		viewer.setRootEditPart(root);
99
124
100
		GraphicalViewer viewer = getGraphicalViewer();
101
		viewer.setEditPartFactory(new ShapesEditPartFactory());
125
		viewer.setEditPartFactory(new ShapesEditPartFactory());
102
		viewer.setRootEditPart(new ScalableFreeformRootEditPart());
126
		viewer.setRootEditPart(new ScalableFreeformRootEditPart());
103
		viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
127
		viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
Lines 253-258 Link Here
253
	public Object getAdapter(Class type) {
277
	public Object getAdapter(Class type) {
254
		if (type == IContentOutlinePage.class)
278
		if (type == IContentOutlinePage.class)
255
			return new ShapesOutlinePage(new TreeViewer());
279
			return new ShapesOutlinePage(new TreeViewer());
280
		if (type == ZoomManager.class)
281
			return getGraphicalViewer().getProperty(
282
					ZoomManager.class.toString());
283
256
		return super.getAdapter(type);
284
		return super.getAdapter(type);
257
	}
285
	}
258
286
Lines 379-384 Link Here
379
			super.dispose();
407
			super.dispose();
380
		}
408
		}
381
409
410
		public Object getAdapter(Class type) {
411
			if (type == ZoomManager.class)
412
				return getGraphicalViewer().getProperty(
413
						ZoomManager.class.toString());
414
			return null;
415
		}
416
382
		/*
417
		/*
383
		 * (non-Javadoc)
418
		 * (non-Javadoc)
384
		 * 
419
		 * 
(-)src/org/eclipse/gef/examples/shapes/ShapesEditorActionBarContributor.java (-5 / +19 lines)
Lines 3-22 Link Here
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
7
 *
8
 * Contributors:
8
 * Contributors:
9
 *    Elias Volanakis - initial API and implementation
9
 *		Elias Volanakis - initial API and implementation
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.gef.examples.shapes;
11
package org.eclipse.gef.examples.shapes;
12
12
13
import org.eclipse.jface.action.IToolBarManager;
13
import org.eclipse.jface.action.IToolBarManager;
14
import org.eclipse.jface.action.Separator;
14
import org.eclipse.ui.actions.ActionFactory;
15
import org.eclipse.ui.actions.ActionFactory;
15
16
17
import org.eclipse.gef.editparts.ZoomManager;
16
import org.eclipse.gef.ui.actions.ActionBarContributor;
18
import org.eclipse.gef.ui.actions.ActionBarContributor;
17
import org.eclipse.gef.ui.actions.DeleteRetargetAction;
19
import org.eclipse.gef.ui.actions.DeleteRetargetAction;
18
import org.eclipse.gef.ui.actions.RedoRetargetAction;
20
import org.eclipse.gef.ui.actions.RedoRetargetAction;
19
import org.eclipse.gef.ui.actions.UndoRetargetAction;
21
import org.eclipse.gef.ui.actions.UndoRetargetAction;
22
import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
23
import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
24
import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
20
25
21
/**
26
/**
22
 * Contributes actions to a toolbar. This class is tied to the editor in the
27
 * Contributes actions to a toolbar. This class is tied to the editor in the
Lines 35-40 Link Here
35
		addRetargetAction(new DeleteRetargetAction());
40
		addRetargetAction(new DeleteRetargetAction());
36
		addRetargetAction(new UndoRetargetAction());
41
		addRetargetAction(new UndoRetargetAction());
37
		addRetargetAction(new RedoRetargetAction());
42
		addRetargetAction(new RedoRetargetAction());
43
44
		addRetargetAction(new ZoomInRetargetAction());
45
		addRetargetAction(new ZoomOutRetargetAction());
38
	}
46
	}
39
47
40
	/**
48
	/**
Lines 45-50 Link Here
45
	public void contributeToToolBar(IToolBarManager toolBarManager) {
53
	public void contributeToToolBar(IToolBarManager toolBarManager) {
46
		toolBarManager.add(getAction(ActionFactory.UNDO.getId()));
54
		toolBarManager.add(getAction(ActionFactory.UNDO.getId()));
47
		toolBarManager.add(getAction(ActionFactory.REDO.getId()));
55
		toolBarManager.add(getAction(ActionFactory.REDO.getId()));
56
57
		toolBarManager.add(new Separator());
58
		String[] zoomStrings = new String[] { ZoomManager.FIT_ALL,
59
				ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH };
60
		toolBarManager
61
				.add(new ZoomComboContributionItem(getPage(), zoomStrings));
48
	}
62
	}
49
63
50
	/*
64
	/*
(-)src/org/eclipse/gef/examples/shapes/parts/ShapeEditPart.java (+9 lines)
Lines 26-31 Link Here
26
import org.eclipse.gef.ConnectionEditPart;
26
import org.eclipse.gef.ConnectionEditPart;
27
import org.eclipse.gef.EditPolicy;
27
import org.eclipse.gef.EditPolicy;
28
import org.eclipse.gef.GraphicalEditPart;
28
import org.eclipse.gef.GraphicalEditPart;
29
import org.eclipse.gef.LayerConstants;
29
import org.eclipse.gef.NodeEditPart;
30
import org.eclipse.gef.NodeEditPart;
30
import org.eclipse.gef.Request;
31
import org.eclipse.gef.Request;
31
import org.eclipse.gef.commands.Command;
32
import org.eclipse.gef.commands.Command;
Lines 153-158 Link Here
153
						cmd.setNewTarget(newTarget);
154
						cmd.setNewTarget(newTarget);
154
						return cmd;
155
						return cmd;
155
					}
156
					}
157
158
					protected IFigure getFeedbackLayer() {
159
						/*
160
						 * Fix for Bug# 327891 Feedback needs to be added to the
161
						 * scaled feedback layer
162
						 */
163
						return getLayer(LayerConstants.SCALED_FEEDBACK_LAYER);
164
					}
156
				});
165
				});
157
	}
166
	}
158
167

Return to bug 327891