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:
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
    Constructor
    Description
    GraphicalComposite(org.eclipse.swt.widgets.Composite parent, int style)
    Constructs the editor part
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Deprecated.
    Replaced by stackChanged(CommandStackEvent) because the class CommandStackListener is deprecated by GEF
    protected void
    Called to configure the graphical viewer before it receives its contents.
    protected void
    Creates actions for this editor.
    void
    Realizes the Editor by creating it's Control.
    protected void
    Creates the GraphicalViewer on the specified Composite.
    void
     
    protected void
    firePropertyChange(int property)
     
    org.eclipse.gef.ui.actions.ActionRegistry
    Lazily creates and returns the action registry.
    Returns the adapter for the specified key.
    protected org.eclipse.gef.commands.CommandStack
    Returns the command stack.
    org.eclipse.gef.DefaultEditDomain
    Returns the edit domain.
    org.eclipse.gef.GraphicalViewer
    Returns the graphical viewer.
    protected List
    Returns the list of IActions dependant on property changes in the Editor.
    Returns the list of IDs of Actions that are dependant on changes in the workbench's ISelectionService.
    protected org.eclipse.gef.ui.parts.SelectionSynchronizer
    Returns the selection syncronizer object.
    protected List
    Returns the list of IDs of Actions that are dependant on the CommmandStack's state.
    protected abstract org.eclipse.ui.IWorkbenchPart
     
    void
    Hooks the GraphicalViewer to the rest of the Editor.
    protected void
     
    protected void
    Initializes the ActionRegistry.
    protected void
    Override to set the contents of the GraphicalViewer after it has been created.
    boolean
    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
     
    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(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 Details

    • GraphicalComposite

      public GraphicalComposite(org.eclipse.swt.widgets.Composite parent, int style)
      Constructs the editor part
  • Method Details

    • 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(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 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.

      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 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 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:
    • 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 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(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()