org.eclipse.emf.mapping.presentation
Class MappingEditor

java.lang.Object
  |
  +--org.eclipse.ui.part.WorkbenchPart
        |
        +--org.eclipse.ui.part.EditorPart
              |
              +--org.eclipse.ui.part.MultiPageEditorPart
                    |
                    +--org.eclipse.emf.mapping.presentation.MappingEditor
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable, IEditingDomainProvider, org.eclipse.ui.IEditorPart, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.jface.action.IMenuListener, org.eclipse.ui.ISaveablePart, org.eclipse.jface.viewers.ISelectionProvider, org.eclipse.ui.IWorkbenchPart

public abstract class MappingEditor
extends org.eclipse.ui.part.MultiPageEditorPart
implements IEditingDomainProvider, org.eclipse.jface.viewers.ISelectionProvider, org.eclipse.jface.action.IMenuListener

This is an example of a model editor.


Inner Class Summary
static class MappingEditor.ActionBarContributor
          This is the contributor for the mapping editor.
protected  class MappingEditor.MyDecoratorAdapterFactory
           
protected  class MappingEditor.OverviewDecoratorAdapterFactory
           
static class MappingEditor.OverviewViewer
           
 
Field Summary
protected  org.eclipse.swt.graphics.Image bottomImage
           
protected  java.lang.String bottomLabel
           
protected  org.eclipse.jface.action.Action contentOutlineFilterAction
           
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.common.ui.ViewerPane currentViewerPane
          This keeps track of the current viewer pane of the page book.
protected static java.lang.String DIVIDER
           
protected  org.eclipse.jface.viewers.Viewer dropViewer
          This keeps track of the content viewer, which had something dropped on it.
protected  org.eclipse.jface.viewers.ISelection editorSelection
          This keeps track of the selection of the editor as a whole.
protected  boolean isNotificationEnabled
           
protected  MappingEditor.MyDecoratorAdapterFactory leftSelectionFactory
           
protected  org.eclipse.emf.mapping.presentation.SimpleMappedObjectViewer leftSelectionViewer
          This is the viewer that shadows the selection in the content outline.
protected  AdapterFactoryMappingDomain mappingDomain
          This keeps track of the editing domain that is used to track all changes to the model.
protected  MappingRoot mappingRoot
          This keeps track of the root object of the model.
protected  org.eclipse.ui.IFileEditorInput modelFile
          This keeps track of the file that stores the model.
protected  MappingEditor.OverviewDecoratorAdapterFactory overviewFactory
           
protected  java.lang.String overviewSummaryColumnLabel
           
protected  MappingEditor.OverviewViewer overviewViewer
           
protected  org.eclipse.emf.common.ui.ViewerPane overviewViewerPane
           
protected  org.eclipse.ui.IPartListener partListener
          This listens for when the outline becomes active
protected  org.eclipse.ui.views.properties.PropertySheetPage propertySheetPage
          This is the property sheet page.
protected  MappingEditor.MyDecoratorAdapterFactory rightSelectionFactory
           
protected  org.eclipse.emf.mapping.presentation.SimpleMappedObjectViewer rightSelectionViewer
           
protected static java.lang.String SELECTED_MAPPED_OBJECT_PREFIX
           
protected static java.lang.String SELECTED_MAPPING_PREFIX
           
protected  org.eclipse.jface.viewers.ISelectionChangedListener selectionChangedListener
          This listens to which ever viewer is active.
protected  java.util.Collection selectionChangedListeners
          This keeps track of all the ISelectionChangedListeners that are listening to this editor.
protected static java.lang.String SEPARATOR
           
protected  org.eclipse.swt.graphics.Image topImage
           
protected  java.lang.String topLabel
           
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
MappingEditor()
          This creates a model editor.
 
Method Summary
 void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
          This implements ISelectionProvider.
protected  void createContextMenuFor(org.eclipse.jface.viewers.StructuredViewer structuredViewer)
          This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
 void createLaunchedOverviewSummaryColumnEditor(org.eclipse.swt.widgets.Composite parent, java.lang.Object object)
           
protected abstract  AdapterFactoryMappingDomain createMappingDomain()
           
protected  MappingEditor.OverviewDecoratorAdapterFactory createOverviewDecoratorAdapterFactory()
           
protected  MappingEditor.OverviewViewer createOverviewViewer(org.eclipse.swt.widgets.Composite composite)
           
 void createPages()
          This is the method used by the framework to install your own controls.
 void dispose()
           
 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 model.
protected  void doSaveHelper(org.eclipse.core.resources.IFile file)
           
protected  void firePropertyChange(int type)
          This simply calls super; it is here only so that inner classes can call it.
 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.swt.graphics.Image getBottomImage()
           
 java.lang.String getBottomLabel()
           
 org.eclipse.ui.views.contentoutline.IContentOutlinePage getContentOutlinePage()
          This accesses a cached version of the content outliner.
 org.eclipse.jface.viewers.Viewer getCurrentViewer()
           
 boolean getDefaultCheckedShowTopFirst()
           
 boolean getDefaultFilterUnmappedObjects()
           
 boolean getDefaultShowMultipleColumns()
           
 EditingDomain getEditingDomain()
          This returns the editing domain as required by the IEditingDomainProvider interface.
 java.util.Collection getMappedObjects(org.eclipse.jface.viewers.ISelection selection)
          This turns the selection into the set of RefObjects involved in the mapping.
 AdapterFactoryMappingDomain getMappingDomain()
           
 java.util.Collection getMappings(org.eclipse.jface.viewers.ISelection selection)
          This turns the selection into the set of mappings, but only if all the objects are mappings.
 java.lang.Object getOverviewSummaryColumnImage(java.lang.Object o)
           
 java.lang.String getOverviewSummaryColumnLabel()
           
 java.lang.String getOverviewSummaryColumnText(java.lang.Object o)
           
 org.eclipse.ui.views.properties.IPropertySheetPage getPropertySheetPage()
          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.swt.graphics.Image getTopImage()
           
 java.lang.String getTopLabel()
           
 java.lang.String getURIFromFile(org.eclipse.core.resources.IFile file)
           
 void gotoMarker(org.eclipse.core.resources.IMarker marker)
           
protected  void handleCreation()
          This creates the model based on the modelFile.
protected  void handleCreationException(java.lang.Exception exception)
           
protected abstract  void handleMissingModelFile()
           
 boolean hasLaunchedOverviewSummaryColumnEditor(java.lang.Object object)
           
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)
           
 boolean isDirty()
          This is for implementing IEditorPart and simply tests the command stack.
 boolean isNotificationEnabled()
           
 boolean isSaveAsAllowed()
          This always returns false because it is not currently supported.
 void menuAboutToShow(org.eclipse.jface.action.IMenuManager menuManager)
          This implements IMenuListener to help fill the context menu.
 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 setFocus()
           
protected  void setMappingRoot(MappingRoot mappingRoot)
           
 void setNotificationEnabled(boolean isNotificationEnabled)
           
 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)
           
 
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
addPage, addPage, createPartControl, createSite, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageText, handlePropertyChange, pageChange, removePage, setActivePage, setControl, setPageImage, setPageText
 
Methods inherited from class org.eclipse.ui.part.EditorPart
getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setInput
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, getConfigurationElement, getDefaultImage, getSite, getTitle, getTitleImage, removePropertyListener, setInitializationData, setSite, setTitle, setTitleImage, setTitleToolTip
 
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

DIVIDER

protected static final java.lang.String DIVIDER

SEPARATOR

protected static final java.lang.String SEPARATOR

topLabel

protected java.lang.String topLabel

bottomLabel

protected java.lang.String bottomLabel

topImage

protected org.eclipse.swt.graphics.Image topImage

bottomImage

protected org.eclipse.swt.graphics.Image bottomImage

isNotificationEnabled

protected boolean isNotificationEnabled

modelFile

protected org.eclipse.ui.IFileEditorInput modelFile
This keeps track of the file that stores the model.

mappingRoot

protected MappingRoot mappingRoot
This keeps track of the root object of the model.

mappingDomain

protected AdapterFactoryMappingDomain mappingDomain
This keeps track of the editing domain that is used to track all changes to 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.

contentOutlineFilterAction

protected org.eclipse.jface.action.Action contentOutlineFilterAction

propertySheetPage

protected org.eclipse.ui.views.properties.PropertySheetPage propertySheetPage
This is the property sheet page.

leftSelectionViewer

protected org.eclipse.emf.mapping.presentation.SimpleMappedObjectViewer leftSelectionViewer
This is the viewer that shadows the selection in the content outline. The parent relation must be correctly defined for this to work.

leftSelectionFactory

protected MappingEditor.MyDecoratorAdapterFactory leftSelectionFactory

rightSelectionViewer

protected org.eclipse.emf.mapping.presentation.SimpleMappedObjectViewer rightSelectionViewer

rightSelectionFactory

protected MappingEditor.MyDecoratorAdapterFactory rightSelectionFactory

overviewViewerPane

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

overviewViewer

protected MappingEditor.OverviewViewer overviewViewer

overviewFactory

protected MappingEditor.OverviewDecoratorAdapterFactory overviewFactory

currentViewerPane

protected org.eclipse.emf.common.ui.ViewerPane currentViewerPane
This keeps track of the current viewer pane of the page 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.

dropViewer

protected org.eclipse.jface.viewers.Viewer dropViewer
This keeps track of the content viewer, which had something dropped on it.

selectionChangedListener

protected org.eclipse.jface.viewers.ISelectionChangedListener selectionChangedListener
This listens to which ever viewer is active.

selectionChangedListeners

protected java.util.Collection 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.

partListener

protected org.eclipse.ui.IPartListener partListener
This listens for when the outline becomes active

SELECTED_MAPPING_PREFIX

protected static final java.lang.String SELECTED_MAPPING_PREFIX

SELECTED_MAPPED_OBJECT_PREFIX

protected static final java.lang.String SELECTED_MAPPED_OBJECT_PREFIX

overviewSummaryColumnLabel

protected java.lang.String overviewSummaryColumnLabel
Constructor Detail

MappingEditor

public MappingEditor()
This creates a model editor.
Method Detail

getTopLabel

public java.lang.String getTopLabel()

getBottomLabel

public java.lang.String getBottomLabel()

getTopImage

public org.eclipse.swt.graphics.Image getTopImage()

getBottomImage

public org.eclipse.swt.graphics.Image getBottomImage()

isNotificationEnabled

public boolean isNotificationEnabled()

setNotificationEnabled

public void setNotificationEnabled(boolean isNotificationEnabled)

firePropertyChange

protected void firePropertyChange(int type)
This simply calls super; it is here only so that inner classes can call it.
Overrides:
firePropertyChange in class org.eclipse.ui.part.WorkbenchPart

createMappingDomain

protected abstract AdapterFactoryMappingDomain createMappingDomain()

setSelectionToViewer

public void setSelectionToViewer(java.util.Collection collection)
This sets the selection into whichever viewer is active.

getEditingDomain

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

createContextMenuFor

protected void createContextMenuFor(org.eclipse.jface.viewers.StructuredViewer structuredViewer)
This creates a context menu for the viewer and adds a listener as well registering the menu for extension.

createPages

public void createPages()
This is the method used by the framework to install your own controls.
Overrides:
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.

getURIFromFile

public java.lang.String getURIFromFile(org.eclipse.core.resources.IFile file)

handleCreation

protected void handleCreation()
This creates the model based on the modelFile.

handleMissingModelFile

protected abstract void handleMissingModelFile()

handleCreationException

protected void handleCreationException(java.lang.Exception exception)

setMappingRoot

protected void setMappingRoot(MappingRoot mappingRoot)

getAdapter

public java.lang.Object getAdapter(java.lang.Class key)
This is how the framework determines which interfaces we implement.
Overrides:
getAdapter in class org.eclipse.ui.part.WorkbenchPart

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.

isDirty

public boolean isDirty()
This is for implementing IEditorPart and simply tests the command stack.
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.
Overrides:
doSave in class org.eclipse.ui.part.EditorPart

doSaveHelper

protected void doSaveHelper(org.eclipse.core.resources.IFile file)

isSaveAsAllowed

public boolean isSaveAsAllowed()
This always returns false because it is not currently supported.
Overrides:
isSaveAsAllowed in class org.eclipse.ui.part.EditorPart

doSaveAs

public void doSaveAs()
This also changes the model.
Overrides:
doSaveAs in class org.eclipse.ui.part.EditorPart

gotoMarker

public void gotoMarker(org.eclipse.core.resources.IMarker marker)
Overrides:
gotoMarker in class org.eclipse.ui.part.EditorPart

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput editorInput)
          throws org.eclipse.ui.PartInitException
Overrides:
init in class org.eclipse.ui.part.MultiPageEditorPart

setFocus

public void setFocus()
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 menu.
Specified by:
menuAboutToShow in interface org.eclipse.jface.action.IMenuListener

getMappedObjects

public java.util.Collection getMappedObjects(org.eclipse.jface.viewers.ISelection selection)
This turns the selection into the set of RefObjects involved in the mapping.

getMappings

public java.util.Collection getMappings(org.eclipse.jface.viewers.ISelection selection)
This turns the selection into the set of mappings, but only if all the objects are mappings.

getMappingDomain

public AdapterFactoryMappingDomain getMappingDomain()

getCurrentViewer

public org.eclipse.jface.viewers.Viewer getCurrentViewer()

dispose

public void dispose()
Overrides:
dispose in class org.eclipse.ui.part.MultiPageEditorPart

getActionBarContributor

public EditingDomainActionBarContributor getActionBarContributor()

getActionBars

public org.eclipse.ui.IActionBars getActionBars()

getOverviewSummaryColumnLabel

public java.lang.String getOverviewSummaryColumnLabel()

getOverviewSummaryColumnImage

public java.lang.Object getOverviewSummaryColumnImage(java.lang.Object o)

getOverviewSummaryColumnText

public java.lang.String getOverviewSummaryColumnText(java.lang.Object o)

hasLaunchedOverviewSummaryColumnEditor

public boolean hasLaunchedOverviewSummaryColumnEditor(java.lang.Object object)

createLaunchedOverviewSummaryColumnEditor

public void createLaunchedOverviewSummaryColumnEditor(org.eclipse.swt.widgets.Composite parent,
                                                      java.lang.Object object)

getDefaultCheckedShowTopFirst

public boolean getDefaultCheckedShowTopFirst()

getDefaultShowMultipleColumns

public boolean getDefaultShowMultipleColumns()

getDefaultFilterUnmappedObjects

public boolean getDefaultFilterUnmappedObjects()

createOverviewViewer

protected MappingEditor.OverviewViewer createOverviewViewer(org.eclipse.swt.widgets.Composite composite)

createOverviewDecoratorAdapterFactory

protected MappingEditor.OverviewDecoratorAdapterFactory createOverviewDecoratorAdapterFactory()

Copyright 2001-2003 IBM Corporation and others.
All Rights Reserved.