org.eclipse.gef.editpolicies
Class OrderedLayoutEditPolicy
java.lang.Object
org.eclipse.gef.editpolicies.AbstractEditPolicy
org.eclipse.gef.editpolicies.GraphicalEditPolicy
org.eclipse.gef.editpolicies.LayoutEditPolicy
org.eclipse.gef.editpolicies.OrderedLayoutEditPolicy
- All Implemented Interfaces:
- EditPolicy, RequestConstants
- Direct Known Subclasses:
- FlowLayoutEditPolicy
public abstract class OrderedLayoutEditPolicy
- extends LayoutEditPolicy
A LayoutEditPolicy for use with LayoutManagers
that take no
constraints. Such layout managers typically position children in
coordinates based on their order in
getChildren()
. Therefore,
this EditPolicy must perform the inverse mapping. Given a mouse location from
the User, the policy must determine the index at which the child[ren] should
be added/created.
- Since:
- 2.0
Fields inherited from interface org.eclipse.gef.EditPolicy |
COMPONENT_ROLE, CONNECTION_BENDPOINTS_ROLE, CONNECTION_ENDPOINTS_ROLE, CONNECTION_ROLE, CONTAINER_ROLE, DIRECT_EDIT_ROLE, GRAPHICAL_NODE_ROLE, LAYOUT_ROLE, NODE_ROLE, PRIMARY_DRAG_ROLE, SELECTION_FEEDBACK_ROLE, TREE_CONTAINER_ROLE |
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 |
Methods inherited from class org.eclipse.gef.editpolicies.LayoutEditPolicy |
activate, createListener, createSizeOnDropFeedback, deactivate, decorateChild, decorateChildren, eraseLayoutTargetFeedback, eraseSizeOnDropFeedback, eraseTargetFeedback, getCloneCommand, getCommand, getCreateCommand, getCreationFeedbackOffset, getDeleteDependantCommand, getLayoutContainer, getLayoutOrigin, getOrphanChildrenCommand, getSizeOnDropFeedback, getSizeOnDropFeedback, getTargetEditPart, setListener, showLayoutTargetFeedback, showSizeOnDropFeedback, showTargetFeedback, translateFromAbsoluteToLayoutRelative, translateFromLayoutRelativeToAbsolute, undecorateChild, undecorateChildren |
OrderedLayoutEditPolicy
public OrderedLayoutEditPolicy()
createAddCommand
protected abstract Command createAddCommand(EditPart child,
EditPart after)
- Returns the
Command
to add the specified child after a
reference EditPart
. If the reference is null
,
the child should be added as the first child.
- Parameters:
child
- the child being addedafter
- null
or a reference EditPart
- Returns:
- a Command to add the child
createChildEditPolicy
protected EditPolicy createChildEditPolicy(EditPart child)
- Since Ordered layouts generally don't use constraints, a
NonResizableEditPolicy
is used by default for children.
Subclasses may override this method to supply a different EditPolicy.
- Specified by:
createChildEditPolicy
in class LayoutEditPolicy
- Parameters:
child
- the child EditPart
- Returns:
- an EditPolicy to be installed as the
EditPolicy.PRIMARY_DRAG_ROLE
- See Also:
LayoutEditPolicy.createChildEditPolicy(EditPart)
createMoveChildCommand
protected abstract Command createMoveChildCommand(EditPart child,
EditPart after)
- Returns the
Command
to move the specified child before the
given reference EditPart
. If the reference is
null
, the child should be moved in front of all children.
A move is a change in the order of the children, which indirectly causes
a change in location on the screen.
- Parameters:
child
- the child being movedafter
- null
or the EditPart that should be after (or to
the right of) the child being moved
- Returns:
- a Command to move the child
getAddCommand
protected Command getAddCommand(Request req)
- This method is overridden from the superclass to calculate the
index at which the children should be added. The index is
determined by finding a reference EditPart, and adding the new child[ren]
after that reference part.
null
is used to indicate
that the child[ren] should be added at the beginning.
Subclasses must override createAddCommand(EditPart, EditPart)
,
and should not override this method.
- Overrides:
getAddCommand
in class LayoutEditPolicy
- Parameters:
req
- the ADD Request
- Returns:
- A command to perform the ADD.
- See Also:
LayoutEditPolicy.getAddCommand(Request)
getInsertionReference
protected abstract EditPart getInsertionReference(Request request)
- Calculates a reference
EditPart
using the specified
Request
. The EditPart returned is used to mark the index
coming after that EditPart. null
is used to
indicate the index that comes after no EditPart, that is, it
indicates the very last index.
- Parameters:
request
- the Request
- Returns:
null
or a reference EditPart
getMoveChildrenCommand
protected Command getMoveChildrenCommand(Request request)
- A move is interpreted here as a change in order of the children. This
method obtains the proper index, and then calls
createMoveChildCommand(EditPart, EditPart)
, which subclasses
must implement. Subclasses should not override this method.
- Specified by:
getMoveChildrenCommand
in class LayoutEditPolicy
- Parameters:
request
- the Request
- Returns:
- the Command to perform the move
- See Also:
LayoutEditPolicy.getMoveChildrenCommand(Request)
isLayoutHorizontal
protected boolean isLayoutHorizontal()
- Returns whether the layout container's layout manager has a horizontal
orientation or not.
- Returns:
true
if the layout container's layout manager has a
horizontal orientation, false
otherwise- Since:
- 3.7
Copyright (c) IBM Corp. and others 2000, 2011. All Rights Reserved.