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 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.DefaultAccessibleAnchorProviderNested classes/interfaces inherited from class org.eclipse.gef.editparts.AbstractEditPart
AbstractEditPart.EditPolicyIteratorNested 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, targetConnectionsFields inherited from class org.eclipse.gef.editparts.AbstractEditPart
children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAGFields inherited from interface org.eclipse.gef.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARYFields 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_LAYERFields inherited from interface org.eclipse.gef.editparts.LayerManager
IDFields 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
ConstructorsConstructorDescriptionConstructor for ScalableRootEditPartScalableRootEditPart(boolean useScaledGraphics) Constructor which allows to configure if scaled graphics should be used. -
Method Summary
Modifier and TypeMethodDescriptionprotected IFigureThe default root figure is a figure with a stack layout.protected GridLayerCreates agrid.protected voidcreateLayers(LayeredPane layeredPane) Creates the top-most set of layers on the given layered paneprotected LayeredPaneCreates a layered pane and the layers that should be printed.protected ScalableLayeredPaneCreates a scalable layered pane and the layers that should be scaled.protected ViewportConstructs the viewport that will be used to contain all of the layers.protected ZoomManagercreateZoomManager(ScalableFigure scalableFigure, Viewport viewport) Responsible of creating aZoomManagerto be used by thisScalableRootEditPart.<T> TgetAdapter(Class<T> key) ExtendsAbstractEditPart.getAdapter(Class)to handle additional adapter types.The contents' Figure will be added to the PRIMARY_LAYER.getDragTracker(Request req) Should not be called, but returns a MarqeeDragTracker for good measure.Returns the layer indicated by the key.getModel()The root editpart does not have a real model.protected LayeredPaneReturns the LayeredPane that should be used during printing.protected LayeredPaneReturns the scalable layers of this EditPartReturns the zoomManager.protected voidUpdates thegridbased on properties set on thegraphical viewer:SnapToGrid.PROPERTY_GRID_VISIBLE,SnapToGrid.PROPERTY_GRID_SPACING, andSnapToGrid.PROPERTY_GRID_ORIGIN.protected voidregister()Registers itself in the viewer's various registries.protected voidUndoes any registration performed byAbstractEditPart.register().Methods inherited from class org.eclipse.gef.editparts.SimpleRootEditPart
createEditPolicies, getCommand, getContents, getRoot, getViewer, refreshChildren, setContents, setViewerMethods inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
activate, addChildVisual, addNodeListener, addNotify, addSourceConnection, addTargetConnection, createConnection, createOrFindConnection, deactivate, fireRemovingSourceConnection, fireRemovingTargetConnection, fireSourceConnectionAdded, fireTargetConnectionAdded, getChildren, getFigure, getModelSourceConnections, getModelTargetConnections, getSourceConnections, getTargetConnections, isSelectable, primAddSourceConnection, primAddTargetConnection, primRemoveSourceConnection, primRemoveTargetConnection, refresh, refreshSourceConnections, refreshTargetConnections, registerVisuals, removeChildVisual, removeNodeListener, removeNotify, removeSourceConnection, removeTargetConnection, reorderChild, reorderSourceConnection, reorderTargetConnection, setFigure, setLayoutConstraint, unregisterVisualsMethods inherited from class org.eclipse.gef.editparts.AbstractEditPart
activateEditPolicies, addChild, addEditPartListener, createChild, deactivateEditPolicies, debug, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getAccessibleEditPart, getEditPolicy, getEditPolicyIterable, getEditPolicyIterator, getEventListeners, getEventListenersIterable, 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, unregisterModelMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.gef.EditPart
activate, addEditPartListener, addNotify, deactivate, eraseSourceFeedback, eraseTargetFeedback, getEditPolicy, getParent, getSelected, getTargetEditPart, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest
-
Constructor Details
-
ScalableRootEditPart
public ScalableRootEditPart()Constructor for ScalableRootEditPart -
ScalableRootEditPart
public ScalableRootEditPart(boolean useScaledGraphics) Constructor which allows to configure if scaled graphics should be used.- Since:
- 3.14
-
-
Method Details
-
createZoomManager
Responsible of creating aZoomManagerto be used by thisScalableRootEditPart.- Returns:
- A new
ZoomManagerbound to the givenScalableFigureandViewport. - Since:
- 3.10
-
createFigure
Description copied from class:SimpleRootEditPartThe default root figure is a figure with a stack layout.- Overrides:
createFigurein classSimpleRootEditPart- Returns:
- a Figure
- See Also:
-
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
Creates the top-most set of layers on the given layered pane- Parameters:
layeredPane- the parent for the created layers
-
createPrintableLayers
Creates a layered pane and the layers that should be printed.- Returns:
- a new LayeredPane containing the printable layers
- See Also:
-
createScaledLayers
Creates a scalable layered pane and the layers that should be scaled.- Returns:
- a new
ScalableLayeredPanecontaining the scalable layers
-
createViewport
Constructs the viewport that will be used to contain all of the layers.- Returns:
- a new Viewport
-
getAdapter
Description copied from class:AbstractGraphicalEditPartExtendsAbstractEditPart.getAdapter(Class)to handle additional adapter types. Currently, these types includeAccessibleHandleProviderandAccessibleAnchorProvider. Subclasses should extend this method to support additional adapter types, or to replace the default provided adapters.- Specified by:
getAdapterin interfaceIAdaptable- Overrides:
getAdapterin classAbstractGraphicalEditPart- See Also:
-
getContentPane
The contents' Figure will be added to the PRIMARY_LAYER.- Specified by:
getContentPanein interfaceGraphicalEditPart- Overrides:
getContentPanein classAbstractGraphicalEditPart- Returns:
- the content pane Figure
- See Also:
-
getDragTracker
Should not be called, but returns a MarqeeDragTracker for good measure.- Specified by:
getDragTrackerin interfaceEditPart- Overrides:
getDragTrackerin classAbstractGraphicalEditPart- Parameters:
req- aRequestindicating the context of the drag- Returns:
nullor a DragTracker- See Also:
-
getLayer
Returns the layer indicated by the key. Searches all layered panes.- Specified by:
getLayerin interfaceLayerManager- Overrides:
getLayerin classAbstractGraphicalEditPart- Parameters:
key- ID of the Layer- Returns:
- The requested layer or
nullif it doesn't exist - See Also:
-
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:
getModelin interfaceEditPart- Overrides:
getModelin classAbstractEditPart- Returns:
nullor the primary model object- See Also:
-
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
Returns the scalable layers of this EditPart- Returns:
- LayeredPane
-
getZoomManager
Returns the zoomManager.- Returns:
- ZoomManager
-
refreshGridLayer
protected void refreshGridLayer()Updates thegridbased 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:AbstractEditPartRegisters 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 sufficient.- Overrides:
registerin classAbstractEditPart- See Also:
-
unregister
protected void unregister()Description copied from class:AbstractEditPartUndoes any registration performed byAbstractEditPart.register(). The provided base classes will correctly unregister their visuals.- Overrides:
unregisterin classAbstractEditPart- See Also:
-