Lines 91-96
Link Here
|
91 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.DiagramRootTreeEditPart; |
91 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.DiagramRootTreeEditPart; |
92 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.TreeDiagramEditPart; |
92 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.TreeDiagramEditPart; |
93 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.TreeEditPart; |
93 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.TreeEditPart; |
|
|
94 |
import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.TreeNodeEditPart; |
94 |
import org.eclipse.gmf.runtime.diagram.ui.internal.l10n.DiagramUIPluginImages; |
95 |
import org.eclipse.gmf.runtime.diagram.ui.internal.l10n.DiagramUIPluginImages; |
95 |
import org.eclipse.gmf.runtime.diagram.ui.internal.pagesetup.DefaultValues; |
96 |
import org.eclipse.gmf.runtime.diagram.ui.internal.pagesetup.DefaultValues; |
96 |
import org.eclipse.gmf.runtime.diagram.ui.internal.pagesetup.PageInfoHelper; |
97 |
import org.eclipse.gmf.runtime.diagram.ui.internal.pagesetup.PageInfoHelper; |
Lines 106-111
Link Here
|
106 |
import org.eclipse.gmf.runtime.emf.commands.core.command.EditingDomainUndoContext; |
107 |
import org.eclipse.gmf.runtime.emf.commands.core.command.EditingDomainUndoContext; |
107 |
import org.eclipse.gmf.runtime.notation.Diagram; |
108 |
import org.eclipse.gmf.runtime.notation.Diagram; |
108 |
import org.eclipse.gmf.runtime.notation.GuideStyle; |
109 |
import org.eclipse.gmf.runtime.notation.GuideStyle; |
|
|
110 |
import org.eclipse.gmf.runtime.notation.Node; |
109 |
import org.eclipse.gmf.runtime.notation.NotationPackage; |
111 |
import org.eclipse.gmf.runtime.notation.NotationPackage; |
110 |
import org.eclipse.gmf.runtime.notation.View; |
112 |
import org.eclipse.gmf.runtime.notation.View; |
111 |
import org.eclipse.jface.action.Action; |
113 |
import org.eclipse.jface.action.Action; |
Lines 116-121
Link Here
|
116 |
import org.eclipse.jface.util.Assert; |
118 |
import org.eclipse.jface.util.Assert; |
117 |
import org.eclipse.jface.viewers.ISelection; |
119 |
import org.eclipse.jface.viewers.ISelection; |
118 |
import org.eclipse.jface.viewers.IStructuredSelection; |
120 |
import org.eclipse.jface.viewers.IStructuredSelection; |
|
|
121 |
import org.eclipse.jface.viewers.StructuredSelection; |
119 |
import org.eclipse.swt.SWT; |
122 |
import org.eclipse.swt.SWT; |
120 |
import org.eclipse.swt.SWTException; |
123 |
import org.eclipse.swt.SWTException; |
121 |
import org.eclipse.swt.events.DisposeEvent; |
124 |
import org.eclipse.swt.events.DisposeEvent; |
Lines 164-172
Link Here
|
164 |
*/ |
167 |
*/ |
165 |
protected PreferenceStore workspaceViewerPreferenceStore = null; |
168 |
protected PreferenceStore workspaceViewerPreferenceStore = null; |
166 |
|
169 |
|
|
|
170 |
class GMFTreeViewer extends TreeViewer |
171 |
{ |
172 |
|
173 |
/** |
174 |
* A work-around to convert selected tree edit parts into graphical edit |
175 |
* parts right before firing selection changed event to the listeners. This |
176 |
* is done to ensure that Properties View stays in sync with the selection |
177 |
* made from the tree viewer |
178 |
* |
179 |
* @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#getSelection() |
180 |
*/ |
181 |
public ISelection getSelection() { |
182 |
ISelection selected = super.getSelection(); |
183 |
if (getDiagramGraphicalViewer() == null || !(selected instanceof IStructuredSelection)) |
184 |
return selected; |
185 |
|
186 |
ArrayList selectedItems = new ArrayList(); |
187 |
Iterator iter = ((IStructuredSelection) selected).iterator(); |
188 |
while (iter.hasNext()) { |
189 |
Object o = iter.next(); |
190 |
EditPart ep = null; |
191 |
if (o instanceof EditPart) { |
192 |
try { |
193 |
ep = (EditPart) getDiagramGraphicalViewer() |
194 |
.getEditPartRegistry().get( |
195 |
((EditPart) o).getModel()); |
196 |
} catch (Exception e) { |
197 |
} |
198 |
} |
199 |
|
200 |
if (ep != null) |
201 |
selectedItems.add(ep); |
202 |
else |
203 |
selectedItems.add(o); |
204 |
} |
205 |
return new StructuredSelection(selectedItems); |
206 |
} |
207 |
} |
208 |
|
167 |
/** |
209 |
/** |
168 |
* A diagram outline page |
210 |
* A diagram outline page |
169 |
*/ |
211 |
*/ |
170 |
class DiagramOutlinePage |
212 |
class DiagramOutlinePage |
171 |
extends ContentOutlinePage |
213 |
extends ContentOutlinePage |
172 |
implements IAdaptable { |
214 |
implements IAdaptable { |
Lines 184-190
Link Here
|
184 |
private Thumbnail thumbnail; |
226 |
private Thumbnail thumbnail; |
185 |
|
227 |
|
186 |
private DisposeListener disposeListener; |
228 |
private DisposeListener disposeListener; |
187 |
|
229 |
|
188 |
/** |
230 |
/** |
189 |
* @param viewer |
231 |
* @param viewer |
190 |
*/ |
232 |
*/ |
Lines 223-229
Link Here
|
223 |
public EditPart createEditPart(EditPart context, Object model) { |
265 |
public EditPart createEditPart(EditPart context, Object model) { |
224 |
if (model instanceof Diagram) { |
266 |
if (model instanceof Diagram) { |
225 |
return new TreeDiagramEditPart(model); |
267 |
return new TreeDiagramEditPart(model); |
226 |
} else { |
268 |
} |
|
|
269 |
else if (model instanceof Node) { |
270 |
return new TreeNodeEditPart(model); |
271 |
} |
272 |
else { |
227 |
return new TreeEditPart(model); |
273 |
return new TreeEditPart(model); |
228 |
} |
274 |
} |
229 |
} |
275 |
} |
Lines 612-618
Link Here
|
612 |
*/ |
658 |
*/ |
613 |
public Object getAdapter(Class type) { |
659 |
public Object getAdapter(Class type) { |
614 |
if (type == IContentOutlinePage.class) { |
660 |
if (type == IContentOutlinePage.class) { |
615 |
TreeViewer viewer = new TreeViewer(); |
661 |
GMFTreeViewer viewer = new GMFTreeViewer(); |
616 |
viewer.setRootEditPart(new DiagramRootTreeEditPart()); |
662 |
viewer.setRootEditPart(new DiagramRootTreeEditPart()); |
617 |
return new DiagramOutlinePage(viewer); |
663 |
return new DiagramOutlinePage(viewer); |
618 |
} |
664 |
} |
Lines 1493-1496
Link Here
|
1493 |
protected PreferencesHint getPreferencesHint() { |
1539 |
protected PreferencesHint getPreferencesHint() { |
1494 |
return new PreferencesHint(getEditorSite().getId()); |
1540 |
return new PreferencesHint(getEditorSite().getId()); |
1495 |
}; |
1541 |
}; |
1496 |
} |
1542 |
} |