Generation Framework

## org.eclipse.gmf.mappings.presentation
Class GMFMapEditor

    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.gmf.mappings.presentation.GMFMapEditor

All Implemented Interfaces:
  IAdaptable, IExecutableExtension, org.eclipse.emf.common.ui.viewer.IViewerProvider, org.eclipse.emf.edit.domain.IEditingDomainProvider, IMenuListener, ISelectionProvider, IGotoMarker, IEditorPart, ISaveablePart, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, IWorkbenchPartOrientation

    public class GMFMapEditor

extends MultiPageEditorPart
implements org.eclipse.emf.edit.domain.IEditingDomainProvider, ISelectionProvider, IMenuListener, org.eclipse.emf.common.ui.viewer.IViewerProvider, IGotoMarker

This is an example of a GMFMap model editor.

** Generated **

Nested Class Summary
`class` `GMFMapEditor.ReverseAdapterFactoryContentProvider`

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 IContentOutlinePage` `contentOutlinePage` This is the content outline page
`protected IStatusLineManager` `contentOutlineStatusLineManager` This is a kludge
`protected TreeViewer` `contentOutlineViewer` This is the content outline page's viewer
`protected 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.common.ui.ViewerPane` `currentViewerPane` This keeps track of the active viewer pane, in the book
`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 ISelection` `editorSelection` This keeps track of the selection of the editor as a whole
`protected ListViewer` `listViewer` This shows how a list view works.
`protected org.eclipse.emf.common.ui.MarkerHelper` `markerHelper` The MarkerHelper is responsible for creating workspace resource markers presented in Eclipse's Problems View
`protected TreeViewer` `parentViewer` This inverts the roll of parent and child in the content provider and show parents as a tree
`protected 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 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 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 ISelectionChangedListener` `selectionChangedListener` This listens to which ever viewer is active
`protected java.util.Collection<ISelectionChangedListener>` `selectionChangedListeners` This keeps track of all the `ISelectionChangedListener`s that are listening to this editor
`protected TreeViewer` `selectionViewer` This is the viewer that shadows the selection in the content outline.
`protected TableViewer` `tableViewer` This shows how a table view works.
`protected TreeViewer` `treeViewer` This shows how a tree view works
`protected TreeViewer` `treeViewerWithColumns` This shows how a tree view with columns works
`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
`GMFMapEditor()` This creates a model editor

Method Summary
`void` `addSelectionChangedListener(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` `createContextMenuFor(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` `doSave(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, 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()`
`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()`
`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.
`IPropertySheetPage` `getPropertySheetPage()` This accesses a cached version of the property sheet
`ISelection` `getSelection()` This implements `ISelectionProvider` to return this editor's overall selection
`Viewer` `getViewer()` This returns the viewer as required by the `IViewerProvider` interface
`void` `gotoMarker(IMarker marker)` Ensures that the tree editor page is selected for the marker target navigation
`void` `gotoMarkerGen(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(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(IEditorSite site, IEditorInput editorInput)` This is called during startup
`protected void` `initializeEditingDomain()`
`protected void` `initializeEditingDomainGen()` 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(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(ISelectionChangedListener listener)` This implements `ISelectionProvider`
`void` `setCurrentViewer(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` `setFocus()`
`void` `setSelection(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(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, createPageContainer, createPartControl, createSite, deactivateSite, findEditors, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageSite, getPageText, handlePropertyChange, initializePageSwitching, removePage, 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 Detail

### 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.

  ** Generated **

### adapterFactory

    protected org.eclipse.emf.edit.provider.ComposedAdapterFactory adapterFactory

  This is the one adapter factory used for providing views of the model.

  ** Generated **

### contentOutlinePage

    protected IContentOutlinePage contentOutlinePage

  This is the content outline page.

  ** Generated **

### contentOutlineStatusLineManager

    protected IStatusLineManager contentOutlineStatusLineManager

  This is a kludge...

  ** Generated **

### contentOutlineViewer

    protected TreeViewer contentOutlineViewer

  This is the content outline page's viewer.

  ** Generated **

### propertySheetPage

    protected PropertySheetPage propertySheetPage

  This is the property sheet page.

  ** Generated **

### selectionViewer

    protected 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.

  ** Generated **

### parentViewer

    protected TreeViewer parentViewer

  This inverts the roll of parent and child in the content provider and show parents as a tree.

  ** Generated **

### treeViewer

    protected TreeViewer treeViewer

  This shows how a tree view works.

  ** Generated **

### listViewer

    protected ListViewer listViewer

  This shows how a list view works. A list viewer doesn't support icons.

  ** Generated **

### tableViewer

    protected TableViewer tableViewer

  This shows how a table view works. A table can be used as a list with icons.

  ** Generated **

### treeViewerWithColumns

    protected TreeViewer treeViewerWithColumns

  This shows how a tree view with columns works.

  ** Generated **

### currentViewerPane

    protected org.eclipse.emf.common.ui.ViewerPane currentViewerPane

  This keeps track of the active viewer pane, in the book.

  ** Generated **

### currentViewer

    protected 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.

  ** Generated **

### selectionChangedListener

    protected ISelectionChangedListener selectionChangedListener

  This listens to which ever viewer is active.

  ** Generated **

### selectionChangedListeners

    protected java.util.Collection<ISelectionChangedListener> selectionChangedListeners

  This keeps track of all the `ISelectionChangedListener`s that are listening to this editor.

  ** Generated **

### editorSelection

    protected ISelection editorSelection

  This keeps track of the selection of the editor as a whole.

  ** Generated **

### markerHelper

    protected org.eclipse.emf.common.ui.MarkerHelper markerHelper

  The MarkerHelper is responsible for creating workspace resource markers presented in Eclipse's Problems View.

  ** Generated **

### partListener

    protected IPartListener partListener

  This listens for when the outline becomes active

  ** Generated **

### removedResources

    protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> removedResources

  Resources that have been removed since last activation.

  ** Generated **

### changedResources

    protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> changedResources

  Resources that have been changed since last activation.

  ** Generated **

### savedResources

    protected java.util.Collection<org.eclipse.emf.ecore.resource.Resource> savedResources

  Resources that have been saved.

  ** Generated **

### 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.

  ** Generated **

### updateProblemIndication

    protected boolean updateProblemIndication

  Controls whether the problem indication should be updated.

  ** Generated **

### problemIndicationAdapter

    protected org.eclipse.emf.ecore.util.EContentAdapter problemIndicationAdapter

  Adapter used to update the problem indication when resources are demanded loaded.

  ** Generated **

### resourceChangeListener

    protected IResourceChangeListener resourceChangeListener

  This listens for workspace changes.

  ** Generated **

Constructor Detail

### GMFMapEditor

    public GMFMapEditor()

  This creates a model editor.

  ** Generated **

Method Detail

### handleActivate

    protected void handleActivate()

  Handles activation of the editor or it's associated views.

  ** Generated **

### handleChangedResources

    protected void handleChangedResources()

  Handles what to do with changed resources on activation.

  ** Generated **

### updateProblemIndication

    protected void updateProblemIndication()

  Updates the problems indication with the information described in the specified diagnostic.

  ** Generated **

### handleDirtyConflict

    protected boolean handleDirtyConflict()

  Shows a dialog that asks if conflicting changes should be discarded.

  ** Generated **

### initializeEditingDomainGen

    protected void initializeEditingDomainGen()

  This sets up the editing domain for the model editor. Do not forget to use EcoreItemProviderAdapterFactoryEx instead of default

  ** Generated **

### initializeEditingDomain

    protected void initializeEditingDomain()

### firePropertyChange

    protected void firePropertyChange(int action)

  This is here for the listener to be able to call it.

  Overrides:
    `firePropertyChange` in class `WorkbenchPart`
  ** Generated **

### setSelectionToViewer

    public void setSelectionToViewer(java.util.Collection<?> collection)

  This sets the selection into whichever viewer is active.

  ** Generated **

### 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`
  ** Generated **

### setCurrentViewerPane

    public void setCurrentViewerPane(org.eclipse.emf.common.ui.ViewerPane viewerPane)

  ** Generated **

### setCurrentViewer

    public void setCurrentViewer(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.

  ** Generated **

### getViewer

    public Viewer getViewer()

  This returns the viewer as required by the `IViewerProvider` interface.

  Specified by:
    `getViewer` in interface `org.eclipse.emf.common.ui.viewer.IViewerProvider`
  ** Generated **

### createContextMenuFor

    protected void createContextMenuFor(StructuredViewer viewer)

  This creates a context menu for the viewer and adds a listener as well registering the menu for extension.

  ** Generated **

### createModel

    public void createModel()

### 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.

  ** Generated **

### 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).

  ** Generated **

### createPages

    public void createPages()

  This is the method used by the framework to install your own controls.

  Specified by:
    `createPages` in class `MultiPageEditorPart`
  ** Generated **

### hideTabs

    protected void hideTabs()

  If there is just one page in the multi-page editor part, this hides the single tab at the bottom.

  ** Generated **

### showTabs

    protected void showTabs()

  If there is more than one page in the multi-page editor part, this shows the tabs at the bottom.

  ** Generated **

### pageChange

    protected void pageChange(int pageIndex)

  This is used to track the active viewer.

  Overrides:
    `pageChange` in class `MultiPageEditorPart`
  ** Generated **

### 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 `IAdaptable`
  Overrides:
    `getAdapter` in class `MultiPageEditorPart`
  ** Generated **

### getContentOutlinePage

    public IContentOutlinePage getContentOutlinePage()

  This accesses a cached version of the content outliner.

  ** Generated **

### getPropertySheetPage

    public IPropertySheetPage getPropertySheetPage()

  This accesses a cached version of the property sheet.

  ** Generated **

### handleContentOutlineSelection

    public void handleContentOutlineSelection(ISelection selection)

  This deals with how we want selection in the outliner to affect the other views.

  ** Generated **

### isDirty

    public boolean isDirty()

  This is for implementing `IEditorPart` and simply tests the command stack.

  Specified by:
    `isDirty` in interface `ISaveablePart`
  Overrides:
    `isDirty` in class `MultiPageEditorPart`
  ** Generated **

### doSave

    public void doSave(IProgressMonitor progressMonitor)

  This is for implementing `IEditorPart` and simply saves the model file.

  Specified by:
    `doSave` in interface `ISaveablePart`
  Specified by:
    `doSave` in class `EditorPart`
  ** Generated **

### 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.

  ** Generated **

### isSaveAsAllowed

    public boolean isSaveAsAllowed()

  This always returns true because it is not currently supported.

  Specified by:
    `isSaveAsAllowed` in interface `ISaveablePart`
  Specified by:
    `isSaveAsAllowed` in class `EditorPart`
  ** Generated **

### doSaveAs

    public void doSaveAs()

  This also changes the editor's input.

  Specified by:
    `doSaveAs` in interface `ISaveablePart`
  Specified by:
    `doSaveAs` in class `EditorPart`
  ** Generated **

### doSaveAs

    protected void doSaveAs(org.eclipse.emf.common.util.URI uri,
                            IEditorInput editorInput)

  ** Generated **

### gotoMarker

    public void gotoMarker(IMarker marker)

  Ensures that the tree editor page is selected for the marker target navigation

  Specified by:
    `gotoMarker` in interface `IGotoMarker`
  ** Generated **
    NOT

### gotoMarkerGen

    public void gotoMarkerGen(IMarker marker)

  ** Generated **

### init

    public void init(IEditorSite site,
                     IEditorInput editorInput)

  This is called during startup.

  Specified by:
    `init` in interface `IEditorPart`
  Overrides:
    `init` in class `MultiPageEditorPart`
  ** Generated **

### setFocus

    public void setFocus()

  Specified by:
    `setFocus` in interface `IWorkbenchPart`
  Overrides:
    `setFocus` in class `MultiPageEditorPart`
  ** Generated **

### addSelectionChangedListener

    public void addSelectionChangedListener(ISelectionChangedListener listener)

  This implements `ISelectionProvider`.

  Specified by:
    `addSelectionChangedListener` in interface `ISelectionProvider`
  ** Generated **

### removeSelectionChangedListener

    public void removeSelectionChangedListener(ISelectionChangedListener listener)

  This implements `ISelectionProvider`.

  Specified by:
    `removeSelectionChangedListener` in interface `ISelectionProvider`
  ** Generated **

### getSelection

    public ISelection getSelection()

  This implements `ISelectionProvider` to return this editor's overall selection.

  Specified by:
    `getSelection` in interface `ISelectionProvider`
  ** Generated **

### setSelection

    public void setSelection(ISelection selection)

  This implements `ISelectionProvider` to set this editor's overall selection. Calling this result will notify the listeners.

  Specified by:
    `setSelection` in interface `ISelectionProvider`
  ** Generated **

### setStatusLineManager

    public void setStatusLineManager(ISelection selection)

  ** Generated **

### menuAboutToShow

    public void menuAboutToShow(IMenuManager menuManager)

  This implements `IMenuListener` to help fill the context menus with contributions from the Edit menu.

  Specified by:
    `menuAboutToShow` in interface `IMenuListener`
  ** Generated **

### getActionBarContributor

    public org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor getActionBarContributor()

  ** Generated **

### getActionBars

    public IActionBars getActionBars()

  ** Generated **

### getAdapterFactory

    public org.eclipse.emf.common.notify.AdapterFactory getAdapterFactory()

  ** Generated **

### dispose

    public void dispose()

  Specified by:
    `dispose` in interface `IWorkbenchPart`
  Overrides:
    `dispose` in class `MultiPageEditorPart`
  ** Generated **

### showOutlineView

    protected boolean showOutlineView()

  Returns whether the outline view should be presented to the user.

  ** Generated **

Generation Framework

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.