Eclipse GEF
3.2

org.eclipse.gef.editparts
Class ScalableRootEditPart

java.lang.Object
  extended byorg.eclipse.gef.editparts.AbstractEditPart
      extended byorg.eclipse.gef.editparts.AbstractGraphicalEditPart
          extended byorg.eclipse.gef.editparts.SimpleRootEditPart
              extended byorg.eclipse.gef.editparts.ScalableRootEditPart
All Implemented Interfaces:
EditPart, GraphicalEditPart, LayerConstants, LayerManager, RequestConstants, RootEditPart

public class ScalableRootEditPart
extends SimpleRootEditPart
implements LayerConstants, LayerManager

A graphical root composed of regular Layers. The layers are added to LayeredPane or ScalableLayeredPane. All layers are positioned by StackLayouts, which means that the diagrams preferred size is the union of the preferred size of each layer, and all layers will be positioned to fill the entire diagram.

IMPORTANTScalableRootEditPart uses a Viewport as its primary figure. It must be used with a ScrollingGraphicalViewer. The viewport gets installed into that viewer's FigureCanvas, which provides native scrollbars for scrolling the viewport.

The layer structure (top-to-bottom) for this root is:

Root Layered Pane
 Guide Layer
 Feedback Layer
 Handle Layer
 Scalable Layers (ScalableLayeredPane)
   Scaled Feedback Layer
   Printable Layers
    ├ Connection Layer
    └ Primary Layer  
   Grid Layer

Since:
2.1.1

Nested Class Summary
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
AbstractGraphicalEditPart.AccessibleGraphicalEditPart, AbstractGraphicalEditPart.DefaultAccessibleAnchorProvider
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractEditPart
AbstractEditPart.EditPolicyIterator
 
Nested classes inherited from class org.eclipse.gef.editparts.LayerManager
LayerManager.Helper
 
Field Summary
 
Fields inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
figure, sourceConnections, targetConnections
 
Fields inherited from class org.eclipse.gef.editparts.AbstractEditPart
children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAG
 
Fields inherited from interface org.eclipse.gef.LayerConstants
CONNECTION_LAYER, FEEDBACK_LAYER, GRID_LAYER, GUIDE_LAYER, HANDLE_LAYER, PRIMARY_LAYER, PRINTABLE_LAYERS, SCALABLE_LAYERS, SCALED_FEEDBACK_LAYER
 
Fields inherited from interface org.eclipse.gef.editparts.LayerManager
ID
 
Fields inherited from interface org.eclipse.gef.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARY
 
Fields inherited from interface org.eclipse.gef.RequestConstants
REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
 
Constructor Summary
ScalableRootEditPart()
          Constructor for ScalableFreeformRootEditPart
 
Method Summary
protected  org.eclipse.draw2d.IFigure createFigure()
          The default root figure is a figure with a stack layout.
protected  GridLayer createGridLayer()
          Creates a grid.
protected  void createLayers(org.eclipse.draw2d.LayeredPane layeredPane)
          Creates the top-most set of layers on the given layered pane
protected  org.eclipse.draw2d.LayeredPane createPrintableLayers()
          Creates a layered pane and the layers that should be printed.
protected  org.eclipse.draw2d.ScalableLayeredPane createScaledLayers()
          Creates a scalable layered pane and the layers that should be scaled.
protected  org.eclipse.draw2d.Viewport createViewport()
          Constructs the viewport that will be used to contain all of the layers.
 Object getAdapter(Class key)
          Extends AbstractEditPart.getAdapter(Class) to handle additional adapter types.
 org.eclipse.draw2d.IFigure getContentPane()
          The contents' Figure will be added to the PRIMARY_LAYER.
 DragTracker getDragTracker(Request req)
          Should not be called, but returns a MarqeeDragTracker for good measure.
 org.eclipse.draw2d.IFigure getLayer(Object key)
          Returns the layer indicated by the key.
 Object getModel()
          The root editpart does not have a real model.
protected  org.eclipse.draw2d.LayeredPane getPrintableLayers()
          Returns the LayeredPane that should be used during printing.
protected  org.eclipse.draw2d.LayeredPane getScaledLayers()
          Returns the scalable layers of this EditPart
 ZoomManager getZoomManager()
          Returns the zoomManager.
protected  void refreshGridLayer()
          Updates the grid based on properties set on the graphical viewer: SnapToGrid.PROPERTY_GRID_VISIBLE, SnapToGrid.PROPERTY_GRID_SPACING, and SnapToGrid.PROPERTY_GRID_ORIGIN.
protected  void register()
          Registers itself in the viewer's various registries.
protected  void unregister()
          Undoes any registration performed by register().
 
Methods inherited from class org.eclipse.gef.editparts.SimpleRootEditPart
createEditPolicies, getCommand, getContents, getRoot, getViewer, refreshChildren, setContents, setViewer
 
Methods inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
activate, addChildVisual, addNodeListener, addNotify, addSourceConnection, addTargetConnection, createConnection, createOrFindConnection, deactivate, fireRemovingSourceConnection, fireRemovingTargetConnection, fireSourceConnectionAdded, fireTargetConnectionAdded, getFigure, getModelSourceConnections, getModelTargetConnections, getSourceConnections, getTargetConnections, primAddSourceConnection, primAddTargetConnection, primRemoveSourceConnection, primRemoveTargetConnection, refresh, refreshSourceConnections, refreshTargetConnections, registerVisuals, removeChildVisual, removeNodeListener, removeNotify, removeSourceConnection, removeTargetConnection, reorderChild, reorderSourceConnection, reorderTargetConnection, setFigure, setLayoutConstraint, unregisterVisuals
 
Methods inherited from class org.eclipse.gef.editparts.AbstractEditPart
activateEditPolicies, addChild, addEditPartListener, createChild, deactivateEditPolicies, debug, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getAccessibleEditPart, getChildren, getEditPolicy, getEditPolicyIterator, getEventListeners, getFlag, getModelChildren, getParent, getSelected, getTargetEditPart, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refreshVisuals, registerAccessibility, registerModel, removeChild, removeEditPartListener, removeEditPolicy, setFlag, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, toString, understandsRequest, unregisterAccessibility, unregisterModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.gef.EditPart
activate, addEditPartListener, addNotify, deactivate, eraseSourceFeedback, eraseTargetFeedback, getChildren, getEditPolicy, getParent, getSelected, getTargetEditPart, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest
 

Constructor Detail

ScalableRootEditPart

public ScalableRootEditPart()
Constructor for ScalableFreeformRootEditPart

Method Detail

createFigure

protected org.eclipse.draw2d.IFigure createFigure()
Description copied from class: SimpleRootEditPart
The default root figure is a figure with a stack layout.

Overrides:
createFigure in class SimpleRootEditPart
See Also:
AbstractGraphicalEditPart.createFigure()

createGridLayer

protected GridLayer createGridLayer()
Creates a grid. Sub-classes can override this method to customize the appearance of the grid. The grid layer should be the first layer (i.e., beneath the primary layer) if it is not to cover up parts on the primary layer. In that case, the primary layer should be transparent so that the grid is visible.

Returns:
the newly created GridLayer

createLayers

protected void createLayers(org.eclipse.draw2d.LayeredPane layeredPane)
Creates the top-most set of layers on the given layered pane

Parameters:
layeredPane - the parent for the created layers

createPrintableLayers

protected org.eclipse.draw2d.LayeredPane createPrintableLayers()
Creates a layered pane and the layers that should be printed.

Returns:
a new LayeredPane containing the printable layers
See Also:
PrintGraphicalViewerOperation

createScaledLayers

protected org.eclipse.draw2d.ScalableLayeredPane createScaledLayers()
Creates a scalable layered pane and the layers that should be scaled.

Returns:
a new ScalableLayeredPane containing the scalable layers

createViewport

protected org.eclipse.draw2d.Viewport createViewport()
Constructs the viewport that will be used to contain all of the layers.

Returns:
a new Viewport

getAdapter

public Object getAdapter(Class key)
Description copied from class: AbstractGraphicalEditPart
Extends AbstractEditPart.getAdapter(Class) to handle additional adapter types. Currently, these types include AccessibleHandleProvider and AccessibleAnchorProvider. Subclasses should extend this method to support additional adapter types, or to replace the default provided adapaters.

Overrides:
getAdapter in class AbstractGraphicalEditPart
See Also:
org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)

getContentPane

public org.eclipse.draw2d.IFigure getContentPane()
The contents' Figure will be added to the PRIMARY_LAYER.

Specified by:
getContentPane in interface GraphicalEditPart
Overrides:
getContentPane in class AbstractGraphicalEditPart
See Also:
GraphicalEditPart.getContentPane()

getDragTracker

public DragTracker getDragTracker(Request req)
Should not be called, but returns a MarqeeDragTracker for good measure.

Specified by:
getDragTracker in interface EditPart
Overrides:
getDragTracker in class AbstractGraphicalEditPart
See Also:
EditPart.getDragTracker(org.eclipse.gef.Request)

getLayer

public org.eclipse.draw2d.IFigure getLayer(Object key)
Returns the layer indicated by the key. Searches all layered panes.

Specified by:
getLayer in interface LayerManager
Overrides:
getLayer in class AbstractGraphicalEditPart
Parameters:
key - ID of the Layer
Returns:
The requested layer or null if it doesn't exist
See Also:
LayerManager.getLayer(Object)

getModel

public Object getModel()
The root editpart does not have a real model. The LayerManager ID is returned so that this editpart gets registered using that key.

Specified by:
getModel in interface EditPart
Overrides:
getModel in class AbstractEditPart
See Also:
EditPart.getModel()

getPrintableLayers

protected org.eclipse.draw2d.LayeredPane getPrintableLayers()
Returns the LayeredPane that should be used during printing. This layer will be identified using LayerConstants.PRINTABLE_LAYERS.

Returns:
the layered pane containing all printable content

getScaledLayers

protected org.eclipse.draw2d.LayeredPane getScaledLayers()
Returns the scalable layers of this EditPart

Returns:
LayeredPane

getZoomManager

public ZoomManager getZoomManager()
Returns the zoomManager.

Returns:
ZoomManager

refreshGridLayer

protected void refreshGridLayer()
Updates the grid based on properties set on the graphical viewer: SnapToGrid.PROPERTY_GRID_VISIBLE, SnapToGrid.PROPERTY_GRID_SPACING, and SnapToGrid.PROPERTY_GRID_ORIGIN.

This method is invoked initially when the GridLayer is created, and when any of the above-mentioned properties are changed on the viewer.


register

protected void register()
Description copied from class: AbstractEditPart
Registers itself in the viewer's various registries. If your EditPart has a 1-to-1 relationship with a visual object and a 1-to-1 relationship with a model object, the default implementation should be sufficent.

Overrides:
register in class AbstractEditPart
See Also:
AbstractEditPart.register()

unregister

protected void unregister()
Description copied from class: AbstractEditPart
Undoes any registration performed by AbstractEditPart.register(). The provided base classes will correctly unregister their visuals.

Overrides:
unregister in class AbstractEditPart
See Also:
AbstractEditPart.unregister()

Eclipse GEF
3.2

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