Eclipse GEF
2.1

org.eclipse.gef.ui.parts
Class GraphicalEditor

java.lang.Object
  |
  +--org.eclipse.ui.part.WorkbenchPart
        |
        +--org.eclipse.ui.part.EditorPart
              |
              +--org.eclipse.gef.ui.parts.GraphicalEditor
All Implemented Interfaces:
CommandStackListener, IAdaptable, IEditorPart, IExecutableExtension, ISaveablePart, ISelectionListener, IWorkbenchPart
Direct Known Subclasses:
GraphicalEditorWithPalette

public abstract class GraphicalEditor
extends EditorPart
implements CommandStackListener, ISelectionListener

This class serves as a quick starting point for clients who are new to GEF. It will create an Editor containing a single GraphicalViewer as its control.

IMPORTANTThis class should only be used as a reference for creating your own EditorPart implementation. This class will not suit everyone's needs, and may change in the future. Clients may copy the implementation.


Field Summary
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
GraphicalEditor()
          Constructs the editor part
 
Method Summary
 void commandStackChanged(EventObject event)
          When the command stack changes, the actions interested in the command stack are updated.
protected  void configureGraphicalViewer()
          Called to configure the graphical viewer before it receives its contents.
protected  void createActions()
          Creates actions for this editor.
protected  void createGraphicalViewer(Composite parent)
          Creates the GraphicalViewer on the specified Composite.
 void createPartControl(Composite parent)
          Realizes the Editor by creating it's Control.
 void dispose()
           
protected  void firePropertyChange(int property)
           
protected  ActionRegistry getActionRegistry()
          Lazily creates and returns the action registry.
 Object getAdapter(Class type)
          Returns the adapter for the specified key.
protected  CommandStack getCommandStack()
          Returns the command stack.
protected  DefaultEditDomain getEditDomain()
          Returns the edit domain.
protected  GraphicalViewer getGraphicalViewer()
          Returns the graphical viewer.
protected  List getPropertyActions()
          Returns the list of IActions dependant on property changes in the Editor.
protected  List getSelectionActions()
          Returns the list of IActions dependant on changes in the workbench's ISelectionService.
protected  SelectionSynchronizer getSelectionSynchronizer()
          Returns the selection syncronizer object.
protected  List getStackActions()
          Returns the list of IActions dependant on the CommmandStack's state.
protected  void hookGraphicalViewer()
          Hooks the GraphicalViewer to the rest of the Editor.
 void init(IEditorSite site, IEditorInput input)
          Sets the site and input for this editor then creates and initializes the actions.
protected  void initializeActionRegistry()
          Initializes the ActionRegistry.
protected abstract  void initializeGraphicalViewer()
          Override to set the contents of the GraphicalViewer after it has been created.
 void selectionChanged(IWorkbenchPart part, ISelection selection)
           
protected  void setActionRegistry(ActionRegistry registry)
          Sets the ActionRegistry for this EditorPart.
protected  void setEditDomain(DefaultEditDomain ed)
          Sets the EditDomain for this EditorPart.
 void setFocus()
           
protected  void setGraphicalViewer(GraphicalViewer viewer)
          Sets the graphicalViewer for this EditorPart.
protected  void updateActions(List actionIds)
          A convenience method for updating a set of actions defined by the given List of action IDs.
 
Methods inherited from class org.eclipse.ui.part.EditorPart
doSave, doSaveAs, getEditorInput, getEditorSite, getTitleToolTip, gotoMarker, isDirty, isSaveAsAllowed, 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
 

Constructor Detail

GraphicalEditor

public GraphicalEditor()
Constructs the editor part

Method Detail

commandStackChanged

public void commandStackChanged(EventObject event)
When the command stack changes, the actions interested in the command stack are updated.

Specified by:
commandStackChanged in interface CommandStackListener
Parameters:
event - the change event

configureGraphicalViewer

protected void configureGraphicalViewer()
Called to configure the graphical viewer before it receives its contents. This is where the root editpart should be configured. Subclasses should extend or override this method as needed.


createActions

protected void createActions()
Creates actions for this editor. Subclasses should override this method to create and register actions with the ActionRegistry.


createGraphicalViewer

protected void createGraphicalViewer(Composite parent)
Creates the GraphicalViewer on the specified Composite.

Parameters:
parent - the parent composite

createPartControl

public void createPartControl(Composite parent)
Realizes the Editor by creating it's Control.

WARNING: This method may or may not be called by the workbench prior to dispose().

Specified by:
createPartControl in interface IWorkbenchPart
Specified by:
createPartControl in class WorkbenchPart
Parameters:
parent - the parent composite

dispose

public void dispose()
Specified by:
dispose in interface IWorkbenchPart
Overrides:
dispose in class WorkbenchPart
See Also:
IWorkbenchPart.dispose()

firePropertyChange

protected void firePropertyChange(int property)
Overrides:
firePropertyChange in class WorkbenchPart
See Also:
WorkbenchPart.firePropertyChange(int)

getActionRegistry

protected ActionRegistry getActionRegistry()
Lazily creates and returns the action registry.

Returns:
the action registry

getAdapter

public Object getAdapter(Class type)
Returns the adapter for the specified key.

IMPORTANT certain requests, such as the property sheet, may be made before or after createPartControl(Composite) is called. The order is unspecified by the Workbench.

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class WorkbenchPart
See Also:
IAdaptable.getAdapter(java.lang.Class)

getCommandStack

protected CommandStack getCommandStack()
Returns the command stack.

Returns:
the command stack

getEditDomain

protected DefaultEditDomain getEditDomain()
Returns the edit domain.

Returns:
the edit domain

getGraphicalViewer

protected GraphicalViewer getGraphicalViewer()
Returns the graphical viewer.

Returns:
the graphical viewer

getPropertyActions

protected List getPropertyActions()
Returns the list of IActions dependant on property changes in the Editor. These actions should implement the UpdateAction interface so that they can be updated in response to property changes. An example is the "Save" action.

Returns:
the list of property-dependant actions

getSelectionActions

protected List getSelectionActions()
Returns the list of IActions dependant on changes in the workbench's ISelectionService. These actions should implement the UpdateAction interface so that they can be updated in response to selection changes. An example is the Delete action.

Returns:
the list of selection-dependant actions

getSelectionSynchronizer

protected SelectionSynchronizer getSelectionSynchronizer()
Returns the selection syncronizer object. The synchronizer can be used to sync the selection of 2 or more EditPartViewers.

Returns:
the syncrhonizer

getStackActions

protected List getStackActions()
Returns the list of IActions dependant on the CommmandStack's state. These actions should implement the UpdateAction interface so that they can be updated in response to command stack changes. An example is the "undo" action.

Returns:
the list of stack-dependant actions

hookGraphicalViewer

protected void hookGraphicalViewer()
Hooks the GraphicalViewer to the rest of the Editor. By default, the viewer is added to the SelectionSynchronizer, which can be used to keep 2 or more EditPartViewers in sync. The viewer is also registered as the ISelectionProvider for the Editor's PartSite.


init

public void init(IEditorSite site,
                 IEditorInput input)
          throws PartInitException
Sets the site and input for this editor then creates and initializes the actions. Subclasses may override this method, but must call super.init(site, input) .

Specified by:
init in interface IEditorPart
Specified by:
init in class EditorPart
PartInitException
See Also:
IEditorPart.init(IEditorSite, IEditorInput)

initializeActionRegistry

protected void initializeActionRegistry()
Initializes the ActionRegistry. This registry may be used by ActionBarContributors and/or ContextMenuProviders.

This method may be called on Editor creation, or lazily the first time getActionRegistry() is called.


initializeGraphicalViewer

protected abstract void initializeGraphicalViewer()
Override to set the contents of the GraphicalViewer after it has been created.

See Also:
createGraphicalViewer(Composite)

selectionChanged

public void selectionChanged(IWorkbenchPart part,
                             ISelection selection)
Specified by:
selectionChanged in interface ISelectionListener
See Also:
ISelectionListener.selectionChanged(IWorkbenchPart, ISelection)

setActionRegistry

protected void setActionRegistry(ActionRegistry registry)
Sets the ActionRegistry for this EditorPart.

Parameters:
registry - the registry

setEditDomain

protected void setEditDomain(DefaultEditDomain ed)
Sets the EditDomain for this EditorPart.

Parameters:
ed - the domain

setFocus

public void setFocus()
Specified by:
setFocus in interface IWorkbenchPart
Specified by:
setFocus in class WorkbenchPart
See Also:
IWorkbenchPart.setFocus()

setGraphicalViewer

protected void setGraphicalViewer(GraphicalViewer viewer)
Sets the graphicalViewer for this EditorPart.

Parameters:
viewer - the graphical viewer

updateActions

protected void updateActions(List actionIds)
A convenience method for updating a set of actions defined by the given List of action IDs. The actions are found by looking up the ID in the action registry. If the corresponding action is an UpdateAction, it will have its update() method called.

Parameters:
actionIds - the list of IDs to update

Eclipse GEF
2.1

Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.