GEF (MVC)
3.9.0.201308190730

org.eclipse.gef.editparts
Class ScalableRootEditPart

java.lang.Object
  extended by org.eclipse.gef.editparts.AbstractEditPart
      extended by org.eclipse.gef.editparts.AbstractGraphicalEditPart
          extended by org.eclipse.gef.editparts.SimpleRootEditPart
              extended by org.eclipse.gef.editparts.ScalableRootEditPart
All Implemented Interfaces:
IAdaptable, EditPart, LayerManager, GraphicalEditPart, LayerConstants, 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/interfaces inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
AbstractGraphicalEditPart.AccessibleGraphicalEditPart, AbstractGraphicalEditPart.DefaultAccessibleAnchorProvider
 
Nested classes/interfaces inherited from class org.eclipse.gef.editparts.AbstractEditPart
AbstractEditPart.EditPolicyIterator
 
Nested classes/interfaces inherited from interface 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  IFigure createFigure()
          The default root figure is a figure with a stack layout.
protected  GridLayer createGridLayer()
          Creates a grid.
protected  void createLayers(LayeredPane layeredPane)
          Creates the top-most set of layers on the given layered pane
protected  LayeredPane createPrintableLayers()
          Creates a layered pane and the layers that should be printed.
protected  ScalableLayeredPane createScaledLayers()
          Creates a scalable layered pane and the layers that should be scaled.
protected  Viewport createViewport()
          Constructs the viewport that will be used to contain all of the layers.
 java.lang.Object getAdapter(java.lang.Class key)
          Extends AbstractEditPart.getAdapter(Class) to handle additional adapter types.
 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.
 IFigure getLayer(java.lang.Object key)
          Returns the layer indicated by the key.
 java.lang.Object getModel()
          The root editpart does not have a real model.
protected  LayeredPane getPrintableLayers()
          Returns the LayeredPane that should be used during printing.
protected  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 AbstractEditPart.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, isSelectable, 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, 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 IFigure createFigure()
Description copied from class: SimpleRootEditPart
The default root figure is a figure with a stack layout.

Overrides:
createFigure in class SimpleRootEditPart
Returns:
a Figure
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(LayeredPane layeredPane)
Creates the top-most set of layers on the given layered pane

Parameters:
layeredPane - the parent for the created layers

createPrintableLayers

protected 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 ScalableLayeredPane createScaledLayers()
Creates a scalable layered pane and the layers that should be scaled.

Returns:
a new ScalableLayeredPane containing the scalable layers

createViewport

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

Returns:
a new Viewport

getAdapter

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

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

getContentPane

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

Specified by:
getContentPane in interface GraphicalEditPart
Overrides:
getContentPane in class AbstractGraphicalEditPart
Returns:
the content pane Figure
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
Parameters:
req - a Request indicating the context of the drag
Returns:
null or a DragTracker
See Also:
EditPart.getDragTracker(org.eclipse.gef.Request)

getLayer

public IFigure getLayer(java.lang.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 java.lang.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
Returns:
null or the primary model object
See Also:
EditPart.getModel()

getPrintableLayers

protected 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 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()

GEF (MVC)
3.9.0.201308190730

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