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.m2m.atl.emftvm.trace.presentation.TraceEditor
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 TraceEditor 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 Trace model editor.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.eclipse.emf.edit.provider.ComposedAdapterFactory
    This is the one adapter factory used for providing views of the model.
    protected Collection<org.eclipse.emf.ecore.resource.Resource>
    Resources that have been changed since last activation.
    protected org.eclipse.ui.views.contentoutline.IContentOutlinePage
    This is the content outline page.
    protected org.eclipse.jface.action.IStatusLineManager
    This is a kludge...
    protected org.eclipse.jface.viewers.TreeViewer
    This is the content outline page's viewer.
    protected org.eclipse.jface.viewers.Viewer
    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.common.ui.ViewerPane
    This keeps track of the active viewer pane, in the book.
    protected org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain
    This keeps track of the editing domain that is used to track all changes to the model.
    protected org.eclipse.jface.viewers.ISelection
    This keeps track of the selection of the editor as a whole.
    protected org.eclipse.jface.viewers.ListViewer
    This shows how a list view works.
    protected org.eclipse.emf.common.ui.MarkerHelper
    The MarkerHelper is responsible for creating workspace resource markers presented in Eclipse's Problems View.
    protected org.eclipse.jface.viewers.TreeViewer
    This inverts the roll of parent and child in the content provider and show parents as a tree.
    protected org.eclipse.ui.IPartListener
    This listens for when the outline becomes active
    protected org.eclipse.emf.ecore.util.EContentAdapter
    Adapter used to update the problem indication when resources are demanded loaded.
    protected List<org.eclipse.ui.views.properties.PropertySheetPage>
    This is the property sheet page.
    protected Collection<org.eclipse.emf.ecore.resource.Resource>
    Resources that have been removed since last activation.
    protected org.eclipse.core.resources.IResourceChangeListener
    This listens for workspace changes.
    protected Map<org.eclipse.emf.ecore.resource.Resource,org.eclipse.emf.common.util.Diagnostic>
    Map to store the diagnostic associated with a resource.
    protected Collection<org.eclipse.emf.ecore.resource.Resource>
    Resources that have been saved.
    protected org.eclipse.jface.viewers.ISelectionChangedListener
    This listens to which ever viewer is active.
    protected Collection<org.eclipse.jface.viewers.ISelectionChangedListener>
    This keeps track of all the ISelectionChangedListeners that are listening to this editor.
    protected org.eclipse.jface.viewers.TreeViewer
    This is the viewer that shadows the selection in the content outline.
    protected org.eclipse.jface.viewers.TableViewer
    This shows how a table view works.
    protected org.eclipse.jface.viewers.TreeViewer
    This shows how a tree view works.
    protected org.eclipse.jface.viewers.TreeViewer
    This shows how a tree view with columns works.
    protected boolean
    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

    Constructors
    Constructor
    Description
    This creates a model editor.
  • Method Summary

    Modifier and Type
    Method
    Description
    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, Exception exception)
    Returns a diagnostic describing the errors and warnings listed in the resource and the specified exception (if any).
    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
    This is the method called to load a resource into the editing domain's resource set based on the editor's input.
    void
    This is the method used by the framework to install your own controls.
    void
    void
    doSave(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
    This is for implementing IEditorPart and simply saves the model file.
    void
    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
    org.eclipse.ui.IActionBars
    This is how the framework determines which interfaces we implement.
    org.eclipse.emf.common.notify.AdapterFactory
    org.eclipse.ui.views.contentoutline.IContentOutlinePage
    This accesses a cached version of the content outliner.
    org.eclipse.emf.edit.domain.EditingDomain
    This returns the editing domain as required by the IEditingDomainProvider interface.
    org.eclipse.ui.views.properties.IPropertySheetPage
    This accesses a cached version of the property sheet.
    org.eclipse.jface.viewers.ISelection
    This implements ISelectionProvider to return this editor's overall selection.
    org.eclipse.jface.viewers.Viewer
    This returns the viewer as required by the IViewerProvider interface.
    void
    gotoMarker(org.eclipse.core.resources.IMarker marker)
    protected void
    Handles activation of the editor or it's associated views.
    protected void
    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
    Shows a dialog that asks if conflicting changes should be discarded.
    protected void
    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
    This sets up the editing domain for the model editor.
    boolean
    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
    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
    setCurrentViewerPane(org.eclipse.emf.common.ui.ViewerPane viewerPane)
    void
    void
    setSelection(org.eclipse.jface.viewers.ISelection selection)
    This implements ISelectionProvider to set this editor's overall selection.
    void
    This sets the selection into whichever viewer is active.
    void
    setStatusLineManager(org.eclipse.jface.viewers.ISelection selection)
    protected boolean
    Returns whether the outline view should be presented to the user.
    protected void
    If there is more than one page in the multi-page editor part, this shows the tabs at the bottom.
    protected void
    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, createContainer, createItem, 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
  • Field Details

    • 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.
    • propertySheetPages

      protected List<org.eclipse.ui.views.properties.PropertySheetPage> propertySheetPages
      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.
    • parentViewer

      protected org.eclipse.jface.viewers.TreeViewer parentViewer
      This inverts the roll of parent and child in the content provider and show parents as a tree.
    • treeViewer

      protected org.eclipse.jface.viewers.TreeViewer treeViewer
      This shows how a tree view works.
    • listViewer

      protected org.eclipse.jface.viewers.ListViewer listViewer
      This shows how a list view works. A list viewer doesn't support icons.
    • tableViewer

      protected org.eclipse.jface.viewers.TableViewer tableViewer
      This shows how a table view works. A table can be used as a list with icons.
    • treeViewerWithColumns

      protected org.eclipse.jface.viewers.TreeViewer treeViewerWithColumns
      This shows how a tree view with columns works.
    • currentViewerPane

      protected org.eclipse.emf.common.ui.ViewerPane currentViewerPane
      This keeps track of the active viewer pane, in the book.
    • 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 Collection<org.eclipse.jface.viewers.ISelectionChangedListener> selectionChangedListeners
      This keeps track of all the ISelectionChangedListeners 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 Collection<org.eclipse.emf.ecore.resource.Resource> removedResources
      Resources that have been removed since last activation.
    • changedResources

      protected Collection<org.eclipse.emf.ecore.resource.Resource> changedResources
      Resources that have been changed since last activation.
    • savedResources

      protected Collection<org.eclipse.emf.ecore.resource.Resource> savedResources
      Resources that have been saved.
    • resourceToDiagnosticMap

      protected 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.
  • Constructor Details

    • TraceEditor

      public TraceEditor()
      This creates a model editor.
  • Method Details

    • 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(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
    • setCurrentViewerPane

      public void setCurrentViewerPane(org.eclipse.emf.common.ui.ViewerPane viewerPane)
    • 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.
    • createModel

      public void createModel()
      This is the method called to load a resource into the editing domain's resource set based on the editor's input.
    • analyzeResourceProblems

      public org.eclipse.emf.common.util.Diagnostic analyzeResourceProblems(org.eclipse.emf.ecore.resource.Resource resource, 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 Object getAdapter(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.
    • getPropertySheetPage

      public org.eclipse.ui.views.properties.IPropertySheetPage getPropertySheetPage()
      This accesses a cached version of the property sheet.
    • 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
    • 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)
    • 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()
    • 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.