Overview

 
Package  Use  Tree  Deprecated  Index  Help 
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.emf.ecore.sdo.presentation
Class SDOEditor

java.lang.Object
  extended byorg.eclipse.ui.part.WorkbenchPart
      extended byorg.eclipse.ui.part.EditorPart
          extended byorg.eclipse.ui.part.MultiPageEditorPart
              extended byorg.eclipse.emf.ecore.sdo.presentation.SDOEditor

All Implemented Interfaces:
IAdaptable, IEditingDomainProvider, IEditorPart, IExecutableExtension, IGotoMarker, IMenuListener, ISaveablePart, ISelectionProvider, IViewerProvider, IWorkbenchPart, IWorkbenchPart2


public class SDOEditor
extends MultiPageEditorPart
implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker

This is an example of a SDO model editor.


Nested Class Summary
 class SDOEditor.ReverseAdapterFactoryContentProvider
           
 
Field Summary
protected  ComposedAdapterFactory adapterFactory
          This is the one adapter factory used for providing views of the model
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  ViewerPane currentViewerPane
          This keeps track of the active viewer pane, in the book
protected  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  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  PropertySheetPage propertySheetPage
          This is the property sheet page
protected  IResourceChangeListener resourceChangeListener
          This listens for workspace changes
protected  ISelectionChangedListener selectionChangedListener
          This listens to which ever viewer is active
protected  Collection selectionChangedListeners
          This keeps track of all the ISelectionChangedListeners that are listening to this editor
protected  TreeViewer selectionViewer
          This is the viewer that shadows the selection in the content outline.
protected  TableTreeViewer tableTreeViewer
          This shows how a table view works.
protected  TableViewer tableViewer
          This shows how a table view works.
protected  TreeViewer treeViewer
          This shows how a tree view works
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
SDOEditor()
          This creates a model editor
 
Method Summary
 void addSelectionChangedListener(ISelectionChangedListener listener)
          This implements ISelectionProvider
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()
          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(URI uri, IEditorInput editorInput)
           
protected  void firePropertyChange(int action)
          This is here for the listener to be able to call it
 EditingDomainActionBarContributor getActionBarContributor()
           
 IActionBars getActionBars()
           
 Object getAdapter(Class key)
          This is how the framework determines which interfaces we implement
 AdapterFactory getAdapterFactory()
           
 IContentOutlinePage getContentOutlinePage()
          This accesses a cached version of the content outliner
 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)
           
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
 boolean isDirty()
          This is for implementing IEditorPart and simply tests the command stack
 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(ViewerPane viewerPane)
           
 void setFocus()
           
 void setSelection(ISelection selection)
          This implements ISelectionProvider to set this editor's overall selection.
 void setSelectionToViewer(Collection collection)
          This sets the selection into whichever viewer is active
 void setStatusLineManager(ISelection selection)
           
 
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
addPage, addPage, createPartControl, createSite, getActiveEditor, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageText, handlePropertyChange, removePage, setActivePage, setControl, setPageImage, setPageText
 
Methods inherited from class org.eclipse.ui.part.EditorPart
getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, getConfigurationElement, getContentDescription, getDefaultImage, getPartName, getSite, getTitle, getTitleImage, removePropertyListener, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
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 AdapterFactoryEditingDomain editingDomain

This keeps track of the editing domain that is used to track all changes to the model.


 

 

adapterFactory

protected ComposedAdapterFactory adapterFactory

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


 

 

contentOutlinePage

protected IContentOutlinePage contentOutlinePage

This is the content outline page.


 

 

contentOutlineStatusLineManager

protected IStatusLineManager contentOutlineStatusLineManager

This is a kludge...


 

 

contentOutlineViewer

protected TreeViewer contentOutlineViewer

This is the content outline page's viewer.


 

 

propertySheetPage

protected PropertySheetPage propertySheetPage

This is the property sheet page.


 

 

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.


 

 

parentViewer

protected TreeViewer parentViewer

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


 

 

treeViewer

protected TreeViewer treeViewer

This shows how a tree view works.


 

 

listViewer

protected ListViewer listViewer

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


 

 

tableViewer

protected TableViewer tableViewer

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


 

 

tableTreeViewer

protected TableTreeViewer tableTreeViewer

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


 

 

currentViewerPane

protected ViewerPane currentViewerPane

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


 

 

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.


 

 

selectionChangedListener

protected ISelectionChangedListener selectionChangedListener

This listens to which ever viewer is active.


 

 

selectionChangedListeners

protected Collection selectionChangedListeners

This keeps track of all the ISelectionChangedListeners that are listening to this editor.


 

 

editorSelection

protected ISelection editorSelection

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


 

 

partListener

protected IPartListener partListener

This listens for when the outline becomes active


 

 

resourceChangeListener

protected IResourceChangeListener resourceChangeListener

This listens for workspace changes.

Constructor Detail

 

 

SDOEditor

public SDOEditor()

This creates a model editor.

Method Detail

 

 

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.


 

 

handleDirtyConflict

protected boolean handleDirtyConflict()

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


 

 

firePropertyChange

protected void firePropertyChange(int action)

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


 

 

setSelectionToViewer

public void setSelectionToViewer(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(ViewerPane viewerPane)


 

 

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.


 

 

getViewer

public Viewer getViewer()

This returns the viewer as required by the IViewerProvider interface.

Specified by:
getViewer in interface IViewerProvider


 

 

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.


 

 

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.


 

 

createPages

public void createPages()

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


 

 

hideTabs

protected void hideTabs()

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


 

 

pageChange

protected void pageChange(int pageIndex)

This is used to track the active viewer.


 

 

getAdapter

public Object getAdapter(Class key)

This is how the framework determines which interfaces we implement.

Specified by:
getAdapter in interface IAdaptable


 

 

getContentOutlinePage

public IContentOutlinePage getContentOutlinePage()

This accesses a cached version of the content outliner.


 

 

getPropertySheetPage

public IPropertySheetPage getPropertySheetPage()

This accesses a cached version of the property sheet.


 

 

handleContentOutlineSelection

public void handleContentOutlineSelection(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 ISaveablePart


 

 

doSave

public void doSave(IProgressMonitor progressMonitor)

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

Specified by:
doSave in interface ISaveablePart


 

 

isSaveAsAllowed

public boolean isSaveAsAllowed()

This always returns true because it is not currently supported.

Specified by:
isSaveAsAllowed in interface ISaveablePart


 

 

doSaveAs

public void doSaveAs()

This also changes the editor's input.

Specified by:
doSaveAs in interface ISaveablePart


 

 

doSaveAs

protected void doSaveAs(URI uri,
                        IEditorInput editorInput)


 

 

gotoMarker

public void gotoMarker(IMarker marker)

Specified by:
gotoMarker in interface IGotoMarker


 

 

init

public void init(IEditorSite site,
                 IEditorInput editorInput)
          throws PartInitException

This is called during startup.

Specified by:
init in interface IEditorPart

Throws:
PartInitException


 

 

setFocus

public void setFocus()

Specified by:
setFocus in interface IWorkbenchPart


 

 

addSelectionChangedListener

public void addSelectionChangedListener(ISelectionChangedListener listener)

This implements ISelectionProvider.

Specified by:
addSelectionChangedListener in interface ISelectionProvider


 

 

removeSelectionChangedListener

public void removeSelectionChangedListener(ISelectionChangedListener listener)

This implements ISelectionProvider.

Specified by:
removeSelectionChangedListener in interface ISelectionProvider


 

 

getSelection

public ISelection getSelection()

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

Specified by:
getSelection in interface ISelectionProvider


 

 

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


 

 

setStatusLineManager

public void setStatusLineManager(ISelection selection)


 

 

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


 

 

getActionBarContributor

public EditingDomainActionBarContributor getActionBarContributor()


 

 

getActionBars

public IActionBars getActionBars()


 

 

getAdapterFactory

public AdapterFactory getAdapterFactory()


 

 

dispose

public void dispose()

Specified by:
dispose in interface IWorkbenchPart


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Copyright 2001-2004 IBM Corporation and others.
All Rights Reserved.
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD