org.eclipse.uml2.uml.editor.presentation
Class UMLEditor
java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.ui.part.WorkbenchPart
org.eclipse.ui.part.EditorPart
org.eclipse.ui.part.MultiPageEditorPart
org.eclipse.uml2.uml.editor.presentation.UMLEditor
-
All Implemented Interfaces:
- org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.emf.common.ui.viewer.IViewerProvider, org.eclipse.emf.edit.domain.IEditingDomainProvider, org.eclipse.jface.action.IMenuListener, org.eclipse.jface.dialogs.IPageChangeProvider, org.eclipse.jface.viewers.ISelectionProvider, org.eclipse.ui.ide.IGotoMarker, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, org.eclipse.ui.part.IWorkbenchPartOrientation
-
public class UMLEditor
- extends org.eclipse.ui.part.MultiPageEditorPart
- implements org.eclipse.emf.edit.domain.IEditingDomainProvider, org.eclipse.jface.viewers.ISelectionProvider, org.eclipse.jface.action.IMenuListener, org.eclipse.emf.common.ui.viewer.IViewerProvider, org.eclipse.ui.ide.IGotoMarker
This is an example of a UML model editor.
Field Summary
|
protected org.eclipse.emf.edit.provider.ComposedAdapterFactory
|
adapterFactory
This is the one adapter factory used for providing views of the model |
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource>
|
changedResources
Resources that have been changed since last activation. |
protected org.eclipse.ui.views.contentoutline.IContentOutlinePage
|
contentOutlinePage
This is the content outline page |
protected org.eclipse.jface.action.IStatusLineManager
|
contentOutlineStatusLineManager
This is a kludge |
protected org.eclipse.jface.viewers.TreeViewer
|
contentOutlineViewer
This is the content outline page's viewer |
protected org.eclipse.jface.viewers.Viewer
|
currentViewer
This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer |
protected org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain
|
editingDomain
This keeps track of the editing domain that is used to track all changes to the model |
protected org.eclipse.jface.viewers.ISelection
|
editorSelection
This keeps track of the selection of the editor as a whole |
protected org.eclipse.emf.common.ui.MarkerHelper
|
markerHelper
The MarkerHelper is responsible for creating workspace resource markers presented
in Eclipse's Problems View |
protected org.eclipse.ui.IPartListener
|
partListener
This listens for when the outline becomes active
|
protected org.eclipse.emf.ecore.util.EContentAdapter
|
problemIndicationAdapter
Adapter used to update the problem indication when resources are demanded loaded |
protected org.eclipse.ui.views.properties.PropertySheetPage
|
propertySheetPage
This is the property sheet page |
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource>
|
removedResources
Resources that have been removed since last activation. |
protected org.eclipse.core.resources.IResourceChangeListener
|
resourceChangeListener
This listens for workspace changes |
protected java.util.Map<org.eclipse.emf.ecore.resource.Resource,org.eclipse.emf.common.util.Diagnostic>
|
resourceToDiagnosticMap
Map to store the diagnostic associated with a resource |
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource>
|
savedResources
Resources that have been saved. |
protected org.eclipse.jface.viewers.ISelectionChangedListener
|
selectionChangedListener
This listens to which ever viewer is active |
protected java.util.Collection<org.eclipse.jface.viewers.ISelectionChangedListener>
|
selectionChangedListeners
This keeps track of all the ISelectionChangedListener s that are listening to this editor |
protected org.eclipse.jface.viewers.TreeViewer
|
selectionViewer
This is the viewer that shadows the selection in the content outline. |
protected boolean
|
updateProblemIndication
Controls whether the problem indication should be updated |
Fields inherited from class org.eclipse.ui.part.MultiPageEditorPart
|
PAGE_CONTAINER_SITE
|
Fields inherited from interface org.eclipse.ui.IEditorPart
|
PROP_DIRTY, PROP_INPUT
|
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
|
PROP_TITLE
|
Constructor Summary
|
UMLEditor
()
This creates a model editor |
Method Summary
|
void
|
addSelectionChangedListener
(org.eclipse.jface.viewers.ISelectionChangedListener listener)
This implements ISelectionProvider
|
org.eclipse.emf.common.util.Diagnostic
|
analyzeResourceProblems
(org.eclipse.emf.ecore.resource.Resource resource,
java.lang.Exception exception)
Returns a diagnostic describing the errors and warnings listed in the resource
and the specified exception (if any) |
protected void
|
copyResource
(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.common.util.URI uri)
|
protected void
|
createContextMenuFor
(org.eclipse.jface.viewers.StructuredViewer viewer)
This creates a context menu for the viewer and adds a listener as well registering the menu for extension |
void
|
createModel
()
|
void
|
createModelGen
()
This is the method called to load a resource into the editing domain's resource set based on the editor's input |
void
|
createPages
()
This is the method used by the framework to install your own controls |
void
|
dispose
()
|
void
|
disposeGen
()
|
void
|
doSave
(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
This is for implementing IEditorPart and simply saves the model file |
void
|
doSaveAs
()
This also changes the editor's input |
protected void
|
doSaveAs
(org.eclipse.emf.common.util.URI uri,
org.eclipse.ui.IEditorInput editorInput)
|
protected void
|
firePropertyChange
(int action)
This is here for the listener to be able to call it |
org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor
|
getActionBarContributor
()
|
org.eclipse.ui.IActionBars
|
getActionBars
()
|
java.lang.Object
|
getAdapter
(java.lang.Class key)
This is how the framework determines which interfaces we implement |
org.eclipse.emf.common.notify.AdapterFactory
|
getAdapterFactory
()
|
org.eclipse.ui.views.contentoutline.IContentOutlinePage
|
getContentOutlinePage
()
This accesses a cached version of the content outliner |
org.eclipse.emf.edit.domain.EditingDomain
|
getEditingDomain
()
This returns the editing domain as required by the IEditingDomainProvider interface. |
org.eclipse.ui.views.properties.IPropertySheetPage
|
getPropertySheetPage
()
|
org.eclipse.ui.views.properties.IPropertySheetPage
|
getPropertySheetPageGen
()
This accesses a cached version of the property sheet |
org.eclipse.jface.viewers.ISelection
|
getSelection
()
This implements ISelectionProvider to return this editor's overall selection |
org.eclipse.jface.viewers.Viewer
|
getViewer
()
This returns the viewer as required by the IViewerProvider interface |
void
|
gotoMarker
(org.eclipse.core.resources.IMarker marker)
|
protected void
|
handleActivate
()
Handles activation of the editor or it's associated views. |
protected void
|
handleChangedResources
()
Handles what to do with changed resources on activation. |
void
|
handleContentOutlineSelection
(org.eclipse.jface.viewers.ISelection selection)
This deals with how we want selection in the outliner to affect the other views |
protected boolean
|
handleDirtyConflict
()
Shows a dialog that asks if conflicting changes should be discarded. |
protected void
|
hideTabs
()
If there is just one page in the multi-page editor part,
this hides the single tab at the bottom |
void
|
init
(org.eclipse.ui.IEditorSite site,
org.eclipse.ui.IEditorInput editorInput)
This is called during startup |
protected void
|
initializeEditingDomain
()
This sets up the editing domain for the model editor |
boolean
|
isDirty
()
This is for implementing IEditorPart and simply tests the command stack |
protected boolean
|
isPersisted
(org.eclipse.emf.ecore.resource.Resource resource)
This returns whether something has been persisted to the URI of the specified resource. |
boolean
|
isSaveAsAllowed
()
This always returns true because it is not currently supported |
void
|
menuAboutToShow
(org.eclipse.jface.action.IMenuManager menuManager)
This implements IMenuListener to help fill the context menus with contributions from the Edit menu |
protected void
|
pageChange
(int pageIndex)
This is used to track the active viewer |
void
|
removeSelectionChangedListener
(org.eclipse.jface.viewers.ISelectionChangedListener listener)
This implements ISelectionProvider
|
void
|
setCurrentViewer
(org.eclipse.jface.viewers.Viewer viewer)
This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
is the current one |
void
|
setFocus
()
|
void
|
setSelection
(org.eclipse.jface.viewers.ISelection selection)
This implements ISelectionProvider to set this editor's overall selection. |
void
|
setSelectionToViewer
(java.util.Collection<?> collection)
This sets the selection into whichever viewer is active |
void
|
setStatusLineManager
(org.eclipse.jface.viewers.ISelection selection)
|
protected boolean
|
showOutlineView
()
Returns whether the outline view should be presented to the user |
protected void
|
showTabs
()
If there is more than one page in the multi-page editor part,
this shows the tabs at the bottom |
protected void
|
updateProblemIndication
()
Updates the problems indication with the information described in the specified diagnostic |
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
|
activateSite, addPage, addPage, addPage, addPage, addPageChangedListener, createPageContainer, createPartControl, createSite, deactivateSite, findEditors, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageSite, getPageText, getSelectedPage, handlePropertyChange, initializePageSwitching, removePage, removePageChangedListener, setActiveEditor, setActivePage, setControl, setPageImage, setPageText
|
Methods inherited from class org.eclipse.ui.part.EditorPart
|
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setInputWithNotify, setPartName
|
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
|
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
|
Methods inherited from class org.eclipse.core.commands.common.EventManager
|
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
|
addPropertyListener, getSite, getTitle, getTitleImage, removePropertyListener
|
editingDomain
protected org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain editingDomain
- This keeps track of the editing domain that is used to track all changes to the model.
adapterFactory
protected org.eclipse.emf.edit.provider.ComposedAdapterFactory adapterFactory
- This is the one adapter factory used for providing views of the model.
contentOutlinePage
protected org.eclipse.ui.views.contentoutline.IContentOutlinePage contentOutlinePage
- This is the content outline page.
contentOutlineStatusLineManager
protected org.eclipse.jface.action.IStatusLineManager contentOutlineStatusLineManager
- This is a kludge...
contentOutlineViewer
protected org.eclipse.jface.viewers.TreeViewer contentOutlineViewer
- This is the content outline page's viewer.
propertySheetPage
protected org.eclipse.ui.views.properties.PropertySheetPage propertySheetPage
- This is the property sheet page.
selectionViewer
protected org.eclipse.jface.viewers.TreeViewer selectionViewer
- This is the viewer that shadows the selection in the content outline.
The parent relation must be correctly defined for this to work.
currentViewer
protected org.eclipse.jface.viewers.Viewer currentViewer
- This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
selectionChangedListener
protected org.eclipse.jface.viewers.ISelectionChangedListener selectionChangedListener
- This listens to which ever viewer is active.
selectionChangedListeners
protected java.util.Collection<org.eclipse.jface.viewers.ISelectionChangedListener> selectionChangedListeners
- This keeps track of all the
ISelectionChangedListener
s that are listening to this editor.
editorSelection
protected org.eclipse.jface.viewers.ISelection editorSelection
- This keeps track of the selection of the editor as a whole.
markerHelper
protected org.eclipse.emf.common.ui.MarkerHelper markerHelper
- The MarkerHelper is responsible for creating workspace resource markers presented
in Eclipse's Problems View.
partListener
protected org.eclipse.ui.IPartListener partListener
- This listens for when the outline becomes active
removedResources
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> removedResources
- Resources that have been removed since last activation.
changedResources
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> changedResources
- Resources that have been changed since last activation.
savedResources
protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> savedResources
- Resources that have been saved.
resourceToDiagnosticMap
protected java.util.Map<org.eclipse.emf.ecore.resource.Resource,org.eclipse.emf.common.util.Diagnostic> resourceToDiagnosticMap
- Map to store the diagnostic associated with a resource.
updateProblemIndication
protected boolean updateProblemIndication
- Controls whether the problem indication should be updated.
problemIndicationAdapter
protected org.eclipse.emf.ecore.util.EContentAdapter problemIndicationAdapter
- Adapter used to update the problem indication when resources are demanded loaded.
resourceChangeListener
protected org.eclipse.core.resources.IResourceChangeListener resourceChangeListener
- This listens for workspace changes.
UMLEditor
public UMLEditor()
- This creates a model editor.
handleActivate
protected void handleActivate()
- Handles activation of the editor or it's associated views.
-
-
handleChangedResources
protected void handleChangedResources()
- Handles what to do with changed resources on activation.
-
-
updateProblemIndication
protected void updateProblemIndication()
- Updates the problems indication with the information described in the specified diagnostic.
-
-
handleDirtyConflict
protected boolean handleDirtyConflict()
- Shows a dialog that asks if conflicting changes should be discarded.
-
-
initializeEditingDomain
protected void initializeEditingDomain()
- This sets up the editing domain for the model editor.
-
-
firePropertyChange
protected void firePropertyChange(int action)
- This is here for the listener to be able to call it.
-
-
Overrides:
-
firePropertyChange
in class org.eclipse.ui.part.WorkbenchPart
-
setSelectionToViewer
public void setSelectionToViewer(java.util.Collection<?> collection)
- This sets the selection into whichever viewer is active.
-
-
getEditingDomain
public org.eclipse.emf.edit.domain.EditingDomain getEditingDomain()
- This returns the editing domain as required by the
IEditingDomainProvider
interface.
This is important for implementing the static methods of AdapterFactoryEditingDomain
and for supporting CommandAction
.
-
-
Specified by:
-
getEditingDomain
in interface org.eclipse.emf.edit.domain.IEditingDomainProvider
-
setCurrentViewer
public void setCurrentViewer(org.eclipse.jface.viewers.Viewer viewer)
- This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
is the current one.
-
-
getViewer
public org.eclipse.jface.viewers.Viewer getViewer()
- This returns the viewer as required by the
IViewerProvider
interface.
-
-
Specified by:
-
getViewer
in interface org.eclipse.emf.common.ui.viewer.IViewerProvider
-
createContextMenuFor
protected void createContextMenuFor(org.eclipse.jface.viewers.StructuredViewer viewer)
- This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
-
-
createModelGen
public void createModelGen()
- This is the method called to load a resource into the editing domain's resource set based on the editor's input.
-
-
createModel
public void createModel()
-
-
analyzeResourceProblems
public org.eclipse.emf.common.util.Diagnostic analyzeResourceProblems(org.eclipse.emf.ecore.resource.Resource resource,
java.lang.Exception exception)
- Returns a diagnostic describing the errors and warnings listed in the resource
and the specified exception (if any).
-
-
createPages
public void createPages()
- This is the method used by the framework to install your own controls.
-
-
Specified by:
-
createPages
in class org.eclipse.ui.part.MultiPageEditorPart
-
hideTabs
protected void hideTabs()
- If there is just one page in the multi-page editor part,
this hides the single tab at the bottom.
-
-
showTabs
protected void showTabs()
- If there is more than one page in the multi-page editor part,
this shows the tabs at the bottom.
-
-
pageChange
protected void pageChange(int pageIndex)
- This is used to track the active viewer.
-
-
Overrides:
-
pageChange
in class org.eclipse.ui.part.MultiPageEditorPart
-
getAdapter
public java.lang.Object getAdapter(java.lang.Class key)
- This is how the framework determines which interfaces we implement.
-
-
Specified by:
-
getAdapter
in interface org.eclipse.core.runtime.IAdaptable
-
Overrides:
-
getAdapter
in class org.eclipse.ui.part.MultiPageEditorPart
-
getContentOutlinePage
public org.eclipse.ui.views.contentoutline.IContentOutlinePage getContentOutlinePage()
- This accesses a cached version of the content outliner.
-
-
getPropertySheetPageGen
public org.eclipse.ui.views.properties.IPropertySheetPage getPropertySheetPageGen()
- This accesses a cached version of the property sheet.
-
-
getPropertySheetPage
public org.eclipse.ui.views.properties.IPropertySheetPage getPropertySheetPage()
-
-
handleContentOutlineSelection
public void handleContentOutlineSelection(org.eclipse.jface.viewers.ISelection selection)
- This deals with how we want selection in the outliner to affect the other views.
-
-
isDirty
public boolean isDirty()
- This is for implementing
IEditorPart
and simply tests the command stack.
-
-
Specified by:
-
isDirty
in interface org.eclipse.ui.ISaveablePart
-
Overrides:
-
isDirty
in class org.eclipse.ui.part.MultiPageEditorPart
-
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
- This is for implementing
IEditorPart
and simply saves the model file.
-
-
Specified by:
-
doSave
in interface org.eclipse.ui.ISaveablePart
-
Specified by:
-
doSave
in class org.eclipse.ui.part.EditorPart
-
isPersisted
protected boolean isPersisted(org.eclipse.emf.ecore.resource.Resource resource)
- This returns whether something has been persisted to the URI of the specified resource.
The implementation uses the URI converter from the editor's resource set to try to open an input stream.
-
-
isSaveAsAllowed
public boolean isSaveAsAllowed()
- This always returns true because it is not currently supported.
-
-
Specified by:
-
isSaveAsAllowed
in interface org.eclipse.ui.ISaveablePart
-
Specified by:
-
isSaveAsAllowed
in class org.eclipse.ui.part.EditorPart
-
copyResource
protected void copyResource(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.common.util.URI uri)
-
-
doSaveAs
public void doSaveAs()
- This also changes the editor's input.
-
-
Specified by:
-
doSaveAs
in interface org.eclipse.ui.ISaveablePart
-
Specified by:
-
doSaveAs
in class org.eclipse.ui.part.EditorPart
-
doSaveAs
protected void doSaveAs(org.eclipse.emf.common.util.URI uri,
org.eclipse.ui.IEditorInput editorInput)
-
-
-
gotoMarker
public void gotoMarker(org.eclipse.core.resources.IMarker marker)
-
-
-
Specified by:
-
gotoMarker
in interface org.eclipse.ui.ide.IGotoMarker
-
init
public void init(org.eclipse.ui.IEditorSite site,
org.eclipse.ui.IEditorInput editorInput)
- This is called during startup.
-
-
Specified by:
-
init
in interface org.eclipse.ui.IEditorPart
-
Overrides:
-
init
in class org.eclipse.ui.part.MultiPageEditorPart
-
setFocus
public void setFocus()
-
-
-
Specified by:
-
setFocus
in interface org.eclipse.ui.IWorkbenchPart
-
Overrides:
-
setFocus
in class org.eclipse.ui.part.MultiPageEditorPart
-
addSelectionChangedListener
public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- This implements
ISelectionProvider
.
-
-
Specified by:
-
addSelectionChangedListener
in interface org.eclipse.jface.viewers.ISelectionProvider
-
removeSelectionChangedListener
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- This implements
ISelectionProvider
.
-
-
Specified by:
-
removeSelectionChangedListener
in interface org.eclipse.jface.viewers.ISelectionProvider
-
getSelection
public org.eclipse.jface.viewers.ISelection getSelection()
- This implements
ISelectionProvider
to return this editor's overall selection.
-
-
Specified by:
-
getSelection
in interface org.eclipse.jface.viewers.ISelectionProvider
-
setSelection
public void setSelection(org.eclipse.jface.viewers.ISelection selection)
- This implements
ISelectionProvider
to set this editor's overall selection.
Calling this result will notify the listeners.
-
-
Specified by:
-
setSelection
in interface org.eclipse.jface.viewers.ISelectionProvider
-
setStatusLineManager
public void setStatusLineManager(org.eclipse.jface.viewers.ISelection selection)
-
-
-
menuAboutToShow
public void menuAboutToShow(org.eclipse.jface.action.IMenuManager menuManager)
- This implements
IMenuListener
to help fill the context menus with contributions from the Edit menu.
-
-
Specified by:
-
menuAboutToShow
in interface org.eclipse.jface.action.IMenuListener
-
getActionBarContributor
public org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor getActionBarContributor()
-
-
-
getActionBars
public org.eclipse.ui.IActionBars getActionBars()
-
-
-
getAdapterFactory
public org.eclipse.emf.common.notify.AdapterFactory getAdapterFactory()
-
-
-
disposeGen
public void disposeGen()
-
-
-
dispose
public void dispose()
-
-
Specified by:
-
dispose
in interface org.eclipse.ui.IWorkbenchPart
-
Overrides:
-
dispose
in class org.eclipse.ui.part.MultiPageEditorPart
-
showOutlineView
protected boolean showOutlineView()
- Returns whether the outline view should be presented to the user.
-
-