Package org.eclipse.graphiti.ui.editor

## Class GraphicalComposite

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Scrollable
      - - org.eclipse.swt.widgets.Composite
        - - org.eclipse.graphiti.ui.editor.GraphicalComposite

All Implemented Interfaces:
  `java.util.EventListener`, `org.eclipse.gef.commands.CommandStackEventListener`, `org.eclipse.gef.commands.CommandStackListener`, `org.eclipse.swt.graphics.Drawable`, `org.eclipse.ui.ISelectionListener`

Direct Known Subclasses:
  `DiagramComposite`

    public abstract class GraphicalComposite
    extends org.eclipse.swt.widgets.Composite
    implements org.eclipse.gef.commands.CommandStackListener, org.eclipse.gef.commands.CommandStackEventListener, org.eclipse.ui.ISelectionListener

Based on the original GEF GraphicalEditor class, this is a composite that supports graphical editing.

Since:
  0.10

### Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Composite

`embeddedHandle`

### Fields inherited from class org.eclipse.swt.widgets.Widget

`handle`

### Constructor Summary

Constructors
`GraphicalComposite​(org.eclipse.swt.widgets.Composite parent, int style)` Constructs the editor part

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
`void` `commandStackChanged​(java.util.EventObject event)` Deprecated. Replaced by `stackChanged(CommandStackEvent)` because the class `CommandStackListener` is deprecated by GEF
`protected void` `configureGraphicalViewer()` Called to configure the graphical viewer before it receives its contents.
`protected void` `createActions()` Creates actions for this editor.
`void` `createControl()` Realizes the Editor by creating it's Control.
`protected void` `createGraphicalViewer()` Creates the GraphicalViewer on the specified `Composite`.
`void` `dispose()`
`protected void` `firePropertyChange​(int property)`
`org.eclipse.gef.ui.actions.ActionRegistry` `getActionRegistry()` Lazily creates and returns the action registry.
`java.lang.Object` `getAdapter​(java.lang.Class type)` Returns the adapter for the specified key.
`protected org.eclipse.gef.commands.CommandStack` `getCommandStack()` Returns the command stack.
`org.eclipse.gef.DefaultEditDomain` `getEditDomain()` Returns the edit domain.
`org.eclipse.gef.GraphicalViewer` `getGraphicalViewer()` Returns the graphical viewer.
`protected java.util.List` `getPropertyActions()` Returns the list of `IActions` dependant on property changes in the Editor.
`java.util.List` `getSelectionActions()` Returns the list of IDs of Actions that are dependant on changes in the workbench's `ISelectionService`.
`protected org.eclipse.gef.ui.parts.SelectionSynchronizer` `getSelectionSynchronizer()` Returns the selection syncronizer object.
`protected java.util.List` `getStackActions()` Returns the list of IDs of Actions that are dependant on the CommmandStack's state.
`protected abstract org.eclipse.ui.IWorkbenchPart` `getWorkbenchPart()`
`void` `hookGraphicalViewer()` Hooks the GraphicalViewer to the rest of the Editor.
`protected void` `init()`
`protected void` `initializeActionRegistry()` Initializes the ActionRegistry.
`protected void` `initializeGraphicalViewer()` Override to set the contents of the GraphicalViewer after it has been created.
`boolean` `isDirty()` Returns `true` if the command stack is dirty
`void` `selectionChanged​(org.eclipse.ui.IWorkbenchPart part, org.eclipse.jface.viewers.ISelection selection)`
`protected void` `setActionRegistry​(org.eclipse.gef.ui.actions.ActionRegistry registry)` Sets the ActionRegistry for this EditorPart.
`void` `setEditDomain​(org.eclipse.gef.DefaultEditDomain editDomain)` Sets the EditDomain for this EditorPart.
`boolean` `setFocus()`
`void` `setGraphicalViewer​(org.eclipse.gef.GraphicalViewer viewer)` Sets the graphicalViewer for this EditorPart.
`void` `stackChanged​(org.eclipse.gef.commands.CommandStackEvent event)` When the command stack changes, the actions interested in the command stack are updated.
`protected void` `updateActions​(java.util.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.swt.widgets.Composite

`changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setLayout, setLayoutDeferred, setTabList, toString`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### GraphicalComposite

    public GraphicalComposite​(org.eclipse.swt.widgets.Composite parent,
                              int style)

Constructs the editor part

### Method Detail

#### stackChanged

    public void stackChanged​(org.eclipse.gef.commands.CommandStackEvent event)

When the command stack changes, the actions interested in the command stack are updated.

Specified by:
  `stackChanged` in interface `org.eclipse.gef.commands.CommandStackEventListener`
Parameters:
  `event` - the change event
Since:
  0.15

#### commandStackChanged

    public void commandStackChanged​(java.util.EventObject event)

Deprecated.
Replaced by `stackChanged(CommandStackEvent)` because the class `CommandStackListener` is deprecated by GEF
When the command stack changes, the actions interested in the command stack are updated.

Specified by:
  `commandStackChanged` in interface `org.eclipse.gef.commands.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()

Creates the GraphicalViewer on the specified `Composite`.

Parameters:
  `parent` - the parent composite

#### createControl

    public void createControl()

Realizes the Editor by creating it's Control.

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

Parameters:
  `parent` - the parent composite

#### dispose

    public void dispose()

Overrides:
  `dispose` in class `org.eclipse.swt.widgets.Widget`
See Also:
  `IWorkbenchPart.dispose()`

#### firePropertyChange

    protected void firePropertyChange​(int property)

See Also:
  `WorkbenchPart.firePropertyChange(int)`

#### getActionRegistry

    public org.eclipse.gef.ui.actions.ActionRegistry getActionRegistry()

Lazily creates and returns the action registry.

Returns:
  the action registry

#### getAdapter

    public java.lang.Object getAdapter​(java.lang.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.

See Also:
  `IAdaptable.getAdapter(java.lang.Class)`

#### getCommandStack

    protected org.eclipse.gef.commands.CommandStack getCommandStack()

Returns the command stack.

Returns:
  the command stack

#### getEditDomain

    public org.eclipse.gef.DefaultEditDomain getEditDomain()

Returns the edit domain.

Returns:
  the edit domain

#### getGraphicalViewer

    public org.eclipse.gef.GraphicalViewer getGraphicalViewer()

Returns the graphical viewer.

Returns:
  the graphical viewer

#### getPropertyActions

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

    public java.util.List getSelectionActions()

Returns the list of IDs of Actions that are dependant on changes in the workbench's `ISelectionService`. The associated Actions can be found in the action registry. Such actions should implement the `UpdateAction` interface so that they can be updated in response to selection changes.

Returns:
  the list of selection-dependant action IDs
See Also:
  `updateActions(List)`

#### getSelectionSynchronizer

    protected org.eclipse.gef.ui.parts.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 java.util.List getStackActions()

Returns the list of IDs of Actions that are dependant on the CommmandStack's state. The associated Actions can be found in the action registry. 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 action IDs

#### hookGraphicalViewer

    public 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

    protected void init()

#### 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 void initializeGraphicalViewer()

Override to set the contents of the GraphicalViewer after it has been created.

See Also:
  `#createGraphicalViewer(Composite)`

#### isDirty

    public boolean isDirty()

Returns `true` if the command stack is dirty

See Also:
  `ISaveablePart.isDirty()`

#### selectionChanged

    public void selectionChanged​(org.eclipse.ui.IWorkbenchPart part,
                                 org.eclipse.jface.viewers.ISelection selection)

Specified by:
  `selectionChanged` in interface `org.eclipse.ui.ISelectionListener`
See Also:
  `ISelectionListener.selectionChanged(IWorkbenchPart, ISelection)`

#### setActionRegistry

    protected void setActionRegistry​(org.eclipse.gef.ui.actions.ActionRegistry registry)

Sets the ActionRegistry for this EditorPart.

Parameters:
  `registry` - the registry

#### setEditDomain

    public void setEditDomain​(org.eclipse.gef.DefaultEditDomain editDomain)

Sets the EditDomain for this EditorPart.

Parameters:
  `ed` - the domain

#### setFocus

    public boolean setFocus()

Overrides:
  `setFocus` in class `org.eclipse.swt.widgets.Composite`

#### setGraphicalViewer

    public void setGraphicalViewer​(org.eclipse.gef.GraphicalViewer viewer)

Sets the graphicalViewer for this EditorPart.

Parameters:
  `viewer` - the graphical viewer

#### updateActions

    protected void updateActions​(java.util.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

#### getWorkbenchPart

    protected abstract org.eclipse.ui.IWorkbenchPart getWorkbenchPart()