public class FreeformGraphicalRootEditPart extends SimpleRootEditPart implements LayerConstants, LayerManager
FreeformFigures as the layers in the diagram. The
contents editpart must provide a
FreeformFigure as its figure. Freeform figures are special because they can
expand in any direction. This allows the user to drag objects or bendpoints
into the negative X and Y coordinates of a diagram. If this feature is not
being used, clients should use the FreeformGraphicalRootEditPart as
their viewer's root editpart.
IMPORTANT: The contents editpart that is added to a freeform root
should have a FreeformFigure (such as FreeformLayer) as its
Figure. The primary layer is not using a draw2d LayoutManager, and
will not size the contents' figure properly unless it is a freeform figure.
IMPORTANT:The freeform root uses a FreeformViewport as
its primary figure. This class must be used with the
ScrollingGraphicalViewer. The viewport gets
installed into that viewer's FigureCanvas, which
provides native scrollbars for scrolling the viewport.
This root serves as the diagram's
LayerManager, providing the following layer
structure, in top-to-bottom order:
| Root Freeform Layered Pane | |
| ├ | Feedback Layer |
| ├ | Handle Layer |
| └ | Printable Layers |
| ├ Connection Layer | |
| └ Primary Layer | |
AbstractGraphicalEditPart.AccessibleGraphicalEditPart, AbstractGraphicalEditPart.DefaultAccessibleAnchorProviderAbstractEditPart.EditPolicyIteratorLayerManager.Helperfigure, sourceConnections, targetConnectionschildren, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAGCONNECTION_LAYER, FEEDBACK_LAYER, GRID_LAYER, GUIDE_LAYER, HANDLE_LAYER, PRIMARY_LAYER, PRINTABLE_LAYERS, SCALABLE_LAYERS, SCALED_FEEDBACK_LAYERIDSELECTED, SELECTED_NONE, SELECTED_PRIMARYREQ_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 and Description |
|---|
FreeformGraphicalRootEditPart() |
| Modifier and Type | Method and Description |
|---|---|
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.
|
java.lang.Object |
getAdapter(java.lang.Class adapter)
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 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(). |
createEditPolicies, getCommand, getContents, getRoot, getViewer, refreshChildren, setContents, setVieweractivate, 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, unregisterVisualsactivateEditPolicies, 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, unregisterModelclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitactivate, 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, understandsRequestprotected IFigure createFigure()
SimpleRootEditPartcreateFigure in class SimpleRootEditPartAbstractGraphicalEditPart.createFigure()protected GridLayer createGridLayer()
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.protected void createLayers(LayeredPane layeredPane)
layeredPane - the parent for the created layersprotected LayeredPane createPrintableLayers()
PrintGraphicalViewerOperationpublic java.lang.Object getAdapter(java.lang.Class adapter)
AbstractGraphicalEditPartAbstractEditPart.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.getAdapter in interface IAdaptablegetAdapter in class AbstractGraphicalEditPartIAdaptable.getAdapter(java.lang.Class)public IFigure getContentPane()
getContentPane in interface GraphicalEditPartgetContentPane in class AbstractGraphicalEditPartGraphicalEditPart.getContentPane()public DragTracker getDragTracker(Request req)
getDragTracker in interface EditPartgetDragTracker in class AbstractGraphicalEditPartreq - a Request indicating the context of the dragnull or a DragTrackerEditPart.getDragTracker(org.eclipse.gef.Request)public IFigure getLayer(java.lang.Object key)
getLayer in interface LayerManagergetLayer in class AbstractGraphicalEditPartkey - ID of the Layernull if it doesn't existLayerManager.getLayer(Object)public java.lang.Object getModel()
getModel in interface EditPartgetModel in class AbstractEditPartnull or the primary model objectEditPart.getModel()protected LayeredPane getPrintableLayers()
LayerConstants.PRINTABLE_LAYERS.protected void refreshGridLayer()
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.
protected void register()
AbstractEditPartregister in class AbstractEditPartAbstractEditPart.register()protected void unregister()
AbstractEditPartAbstractEditPart.register(). The provided
base classes will correctly unregister their visuals.unregister in class AbstractEditPartAbstractEditPart.unregister()Copyright (c) IBM Corp. and others 2000, 2011. All Rights Reserved.