Package org.eclipse.gef.editparts
Class ScalableRootEditPart
- java.lang.Object
-
- org.eclipse.gef.editparts.AbstractEditPart
-
- org.eclipse.gef.editparts.AbstractGraphicalEditPart
-
- org.eclipse.gef.editparts.SimpleRootEditPart
-
- 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 regularLayers
. The layers are added toLayeredPane
orScalableLayeredPane
. All layers are positioned byStackLayout
s, 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 aScrollingGraphicalViewer
. The viewport gets installed into that viewer'sFigureCanvas
, 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.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARY
-
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.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
Constructors Constructor Description ScalableRootEditPart()
Constructor for ScalableFreeformRootEditPart
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.eclipse.draw2d.IFigure
createFigure()
The default root figure is a figure with a stack layout.protected GridLayer
createGridLayer()
Creates agrid
.protected void
createLayers(org.eclipse.draw2d.LayeredPane layeredPane)
Creates the top-most set of layers on the given layered paneprotected 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.protected ZoomManager
createZoomManager(org.eclipse.draw2d.ScalableFigure scalableFigure, org.eclipse.draw2d.Viewport viewport)
Responsible of creating aZoomManager
to be used by thisScalableRootEditPart
.java.lang.Object
getAdapter(java.lang.Class key)
ExtendsAbstractEditPart.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(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 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 EditPartZoomManager
getZoomManager()
Returns the zoomManager.protected void
refreshGridLayer()
Updates thegrid
based on properties set on thegraphical viewer
:SnapToGrid.PROPERTY_GRID_VISIBLE
,SnapToGrid.PROPERTY_GRID_SPACING
, andSnapToGrid.PROPERTY_GRID_ORIGIN
.protected void
register()
Registers itself in the viewer's various registries.protected void
unregister()
Undoes any registration performed byAbstractEditPart.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
-
-
-
-
Method Detail
-
createZoomManager
protected ZoomManager createZoomManager(org.eclipse.draw2d.ScalableFigure scalableFigure, org.eclipse.draw2d.Viewport viewport)
Responsible of creating aZoomManager
to be used by thisScalableRootEditPart
.- Returns:
- A new
ZoomManager
bound to the givenScalableFigure
andViewport
. - Since:
- 3.10
-
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 classSimpleRootEditPart
- Returns:
- a Figure
- See Also:
AbstractGraphicalEditPart.createFigure()
-
createGridLayer
protected GridLayer createGridLayer()
Creates agrid
. 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 java.lang.Object getAdapter(java.lang.Class key)
Description copied from class:AbstractGraphicalEditPart
ExtendsAbstractEditPart.getAdapter(Class)
to handle additional adapter types. Currently, these types includeAccessibleHandleProvider
andAccessibleAnchorProvider
. Subclasses should extend this method to support additional adapter types, or to replace the default provided adapaters.- Specified by:
getAdapter
in interfaceIAdaptable
- Overrides:
getAdapter
in classAbstractGraphicalEditPart
- See Also:
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 interfaceGraphicalEditPart
- Overrides:
getContentPane
in classAbstractGraphicalEditPart
- 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 interfaceEditPart
- Overrides:
getDragTracker
in classAbstractGraphicalEditPart
- Parameters:
req
- aRequest
indicating the context of the drag- Returns:
null
or a DragTracker- See Also:
EditPart.getDragTracker(org.eclipse.gef.Request)
-
getLayer
public org.eclipse.draw2d.IFigure getLayer(java.lang.Object key)
Returns the layer indicated by the key. Searches all layered panes.- Specified by:
getLayer
in interfaceLayerManager
- Overrides:
getLayer
in classAbstractGraphicalEditPart
- 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 interfaceEditPart
- Overrides:
getModel
in classAbstractEditPart
- Returns:
null
or the primary model object- 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 usingLayerConstants.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 thegrid
based on properties set on thegraphical viewer
:SnapToGrid.PROPERTY_GRID_VISIBLE
,SnapToGrid.PROPERTY_GRID_SPACING
, andSnapToGrid.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 classAbstractEditPart
- See Also:
AbstractEditPart.register()
-
unregister
protected void unregister()
Description copied from class:AbstractEditPart
Undoes any registration performed byAbstractEditPart.register()
. The provided base classes will correctly unregister their visuals.- Overrides:
unregister
in classAbstractEditPart
- See Also:
AbstractEditPart.unregister()
-
-