Eclipse GEF
2.1

org.eclipse.gef.ui.parts
Class GraphicalViewerImpl

java.lang.Object
  |
  +--org.eclipse.gef.ui.parts.AbstractEditPartViewer
        |
        +--org.eclipse.gef.ui.parts.GraphicalViewerImpl
All Implemented Interfaces:
EditPartViewer, GraphicalViewer, ISelectionProvider
Direct Known Subclasses:
ScrollingGraphicalViewer

public class GraphicalViewerImpl
extends AbstractEditPartViewer
implements GraphicalViewer

An EditPartViewer implementation based on Figures.


Nested Class Summary
 
Nested classes inherited from class org.eclipse.gef.EditPartViewer
EditPartViewer.Conditional
 
Field Summary
 
Fields inherited from class org.eclipse.gef.ui.parts.AbstractEditPartViewer
constantSelection, selection, selectionListeners
 
Constructor Summary
GraphicalViewerImpl()
          Constructs a GraphicalViewerImpl.
 
Method Summary
 Control createControl(Composite composite)
          Optionally creates the default Control using the default style.
protected  void createDefaultRoot()
          Creates the default root editpart.
protected  LightweightSystem createLightweightSystem()
          Creates the lightweight system used to host figures.
 Handle findHandleAt(Point p)
          Returns the Handle at the specified Point.
 EditPart findObjectAtExcluding(Point pt, Collection exclude, EditPartViewer.Conditional condition)
          Returns null or the EditPart at the specified location, using the given exclusion set and conditional.
 void flush()
          Flushes and pending layouts and paints in the lightweight system.
protected  DomainEventDispatcher getEventDispatcher()
          Deprecated. This method should not be called by subclasses
protected  LayerManager getLayerManager()
          Convenience method for finding the layer manager.
protected  LightweightSystem getLightweightSystem()
          Returns the lightweight system.
protected  IFigure getRootFigure()
          Deprecated. There is no reason to call this method $TODO delete this method
protected  void handleDispose(DisposeEvent e)
          Called if and when the Control is disposed.
protected  void hookControl()
          Extended to tell the lightweight system what its control is.
protected  void hookDropTarget()
          Extended to flush paints during drop callbacks.
 void registerAccessibleEditPart(AccessibleEditPart acc)
          Registers the accessible editpart with the event dispatcher.
 void reveal(EditPart part)
          Reveals the specified editpart by using ExposeHelpers.
 void setContextMenu(MenuManager contextMenu)
          Extended implementation to flush the viewer as the context menu is shown.
 void setCursor(Cursor newCursor)
          Sets the cursor for the viewer's Control.
protected  void setDragSource(DragSource source)
          Extends the drag source to handle figures which handle MouseDown events, thereby aborting any DragDetect callbacks.
 void setEditDomain(EditDomain domain)
          Sets the EditDomain for this viewer.
 void setRootEditPart(RootEditPart editpart)
          Sets the root of this viewer.
protected  void setRootFigure(IFigure figure)
          Sets the lightweight system's root figure.
 void setRouteEventsToEditDomain(boolean value)
          Turns on/off the routing of events directly to the Editor.
 void unregisterAccessibleEditPart(AccessibleEditPart acc)
          Used for accessibility purposes.
 
Methods inherited from class org.eclipse.gef.ui.parts.AbstractEditPartViewer
addDragSourceListener, addDropTargetListener, addSelectionChangedListener, appendSelection, deselect, deselectAll, findObjectAt, findObjectAtExcluding, fireSelectionChanged, getContents, getContextMenu, getControl, getDelegatingDragAdapter, getDelegatingDropAdapter, getDragSource, getDropTarget, getEditDomain, getEditPartFactory, getEditPartRegistry, getFocusEditPart, getKeyHandler, getRootEditPart, getSelectedEditParts, getSelection, getVisualPartMap, hookDragSource, init, primGetSelectedEditParts, refreshDragSourceAdapter, refreshDropTargetAdapter, removeDragSourceListener, removeDropTargetListener, removeSelectionChangedListener, select, setContents, setContents, setControl, setDropTarget, setEditPartFactory, setFocus, setKeyHandler, setSelection, unhookControl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.gef.EditPartViewer
addDragSourceListener, addDropTargetListener, appendSelection, deselect, deselectAll, findObjectAt, findObjectAtExcluding, getContents, getContextMenu, getControl, getEditDomain, getEditPartFactory, getEditPartRegistry, getFocusEditPart, getKeyHandler, getRootEditPart, getSelectedEditParts, getVisualPartMap, removeDragSourceListener, removeDropTargetListener, select, setContents, setContents, setControl, setEditPartFactory, setFocus, setKeyHandler
 
Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider
addSelectionChangedListener, getSelection, removeSelectionChangedListener, setSelection
 

Constructor Detail

GraphicalViewerImpl

public GraphicalViewerImpl()
Constructs a GraphicalViewerImpl.

Method Detail

createControl

public Control createControl(Composite composite)
Description copied from interface: EditPartViewer
Optionally creates the default Control using the default style. The Control can also be created externally and then set into the Viewer.

Specified by:
createControl in interface EditPartViewer
Specified by:
createControl in class AbstractEditPartViewer
Parameters:
composite - the parent in which create the SWT Control
Returns:
the created Control for convenience
See Also:
EditPartViewer.createControl(org.eclipse.swt.widgets.Composite)

createDefaultRoot

protected void createDefaultRoot()
Creates the default root editpart. Called during construction.


createLightweightSystem

protected LightweightSystem createLightweightSystem()
Creates the lightweight system used to host figures. Subclasses should not need to override this method.

Returns:
the lightweight system

handleDispose

protected void handleDispose(DisposeEvent e)
Description copied from class: AbstractEditPartViewer
Called if and when the Control is disposed. Subclasses may extend this method to perform additional cleanup.

Overrides:
handleDispose in class AbstractEditPartViewer
Parameters:
e - the disposeevent
See Also:
AbstractEditPartViewer.handleDispose(org.eclipse.swt.events.DisposeEvent)

findHandleAt

public Handle findHandleAt(Point p)
Description copied from interface: GraphicalViewer
Returns the Handle at the specified Point. Returns null if no handle exists at the given Point. The specified point should be relative to the client area for this Viewer's Control.

Specified by:
findHandleAt in interface GraphicalViewer
Parameters:
p - the location relative to the Control's client area
Returns:
Handle null or a Handle
See Also:
GraphicalViewer.findHandleAt(org.eclipse.draw2d.geometry.Point)

findObjectAtExcluding

public EditPart findObjectAtExcluding(Point pt,
                                      Collection exclude,
                                      EditPartViewer.Conditional condition)
Description copied from interface: EditPartViewer
Returns null or the EditPart at the specified location, using the given exclusion set and conditional. This method behaves similarly to EditPartViewer.findObjectAt(Point).

Specified by:
findObjectAtExcluding in interface EditPartViewer
Parameters:
pt - The mouse location
exclude - The set of EditParts to be excluded
condition - the Conditional used to evaluate a potential hit
Returns:
null or an EditPart
See Also:
EditPartViewer.findObjectAtExcluding(Point, Collection, EditPartViewer.Conditional)

flush

public void flush()
Flushes and pending layouts and paints in the lightweight system.

Specified by:
flush in interface EditPartViewer
Overrides:
flush in class AbstractEditPartViewer
See Also:
EditPartViewer.flush()

getEventDispatcher

protected DomainEventDispatcher getEventDispatcher()
Deprecated. This method should not be called by subclasses

Returns the event dispatcher

Returns:
the event dispatcher

getLayerManager

protected LayerManager getLayerManager()
Convenience method for finding the layer manager.

Returns:
the LayerManager

getLightweightSystem

protected LightweightSystem getLightweightSystem()
Returns the lightweight system.

Returns:
the system

getRootFigure

protected IFigure getRootFigure()
Deprecated. There is no reason to call this method $TODO delete this method

Returns the root figure

Returns:
the root figure

hookDropTarget

protected void hookDropTarget()
Extended to flush paints during drop callbacks.

Overrides:
hookDropTarget in class AbstractEditPartViewer
See Also:
AbstractEditPartViewer.hookDropTarget()

hookControl

protected void hookControl()
Extended to tell the lightweight system what its control is.

Overrides:
hookControl in class AbstractEditPartViewer
See Also:
AbstractEditPartViewer.hookControl()

registerAccessibleEditPart

public void registerAccessibleEditPart(AccessibleEditPart acc)
Registers the accessible editpart with the event dispatcher.

Specified by:
registerAccessibleEditPart in interface EditPartViewer
Overrides:
registerAccessibleEditPart in class AbstractEditPartViewer
Parameters:
acc - the accessible

reveal

public void reveal(EditPart part)
Reveals the specified editpart by using ExposeHelpers. A bottom-up scan through the parent-chain is performed, looking for expose helpers along the way, and asking them to expose the given editpart.

Specified by:
reveal in interface EditPartViewer
Overrides:
reveal in class AbstractEditPartViewer
Parameters:
part - the EditPart to reveal
See Also:
EditPartViewer.reveal(EditPart)

setContextMenu

public void setContextMenu(MenuManager contextMenu)
Extended implementation to flush the viewer as the context menu is shown.

Specified by:
setContextMenu in interface EditPartViewer
Overrides:
setContextMenu in class AbstractEditPartViewer
Parameters:
contextMenu - the ContextMenuProvider
See Also:
EditPartViewer.setContextMenu(org.eclipse.jface.action.MenuManager)

setCursor

public void setCursor(Cursor newCursor)
Description copied from interface: EditPartViewer
Sets the cursor for the viewer's Control. This method should only be called by Tools. null can be used to indicate that the default cursor should be restored.

Specified by:
setCursor in interface EditPartViewer
Overrides:
setCursor in class AbstractEditPartViewer
Parameters:
newCursor - null or a Cursor
See Also:
EditPartViewer.setCursor(org.eclipse.swt.graphics.Cursor)

setDragSource

protected void setDragSource(DragSource source)
Extends the drag source to handle figures which handle MouseDown events, thereby aborting any DragDetect callbacks.

Overrides:
setDragSource in class AbstractEditPartViewer
Parameters:
source - null or a drag source
See Also:
AbstractEditPartViewer.setDragSource(org.eclipse.swt.dnd.DragSource)

setEditDomain

public void setEditDomain(EditDomain domain)
Description copied from interface: EditPartViewer
Sets the EditDomain for this viewer. The Viewer will route all mouse and keyboard events to the EditDomain.

Specified by:
setEditDomain in interface EditPartViewer
Overrides:
setEditDomain in class AbstractEditPartViewer
Parameters:
domain - The EditDomain
See Also:
EditPartViewer.setEditDomain(org.eclipse.gef.EditDomain)

setRootEditPart

public void setRootEditPart(RootEditPart editpart)
Description copied from interface: EditPartViewer
Sets the root of this viewer. The root should not be confused with the contents.

Specified by:
setRootEditPart in interface EditPartViewer
Overrides:
setRootEditPart in class AbstractEditPartViewer
Parameters:
editpart - the RootEditPart
See Also:
EditPartViewer.setRootEditPart(org.eclipse.gef.RootEditPart)

setRootFigure

protected void setRootFigure(IFigure figure)
Sets the lightweight system's root figure.

Parameters:
figure - the root figure

setRouteEventsToEditDomain

public void setRouteEventsToEditDomain(boolean value)
Description copied from interface: EditPartViewer
Turns on/off the routing of events directly to the Editor. If supported by the viewer implementation, all Events should be routed to the EditDomain rather than handled in the default way.

Specified by:
setRouteEventsToEditDomain in interface EditPartViewer
Overrides:
setRouteEventsToEditDomain in class AbstractEditPartViewer
Parameters:
value - true if the viewer should route events to the EditDomain
See Also:
EditPartViewer.setRouteEventsToEditDomain(boolean)

unregisterAccessibleEditPart

public void unregisterAccessibleEditPart(AccessibleEditPart acc)
Description copied from interface: EditPartViewer
Used for accessibility purposes.

Specified by:
unregisterAccessibleEditPart in interface EditPartViewer
Overrides:
unregisterAccessibleEditPart in class AbstractEditPartViewer
Parameters:
acc - the accessible part
See Also:
EditPartViewer.unregisterAccessibleEditPart(org.eclipse.gef.AccessibleEditPart)

Eclipse GEF
2.1

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