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 IFigure.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_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, deactivate, decorateChild, decorateChildren, eraseDragTargetFeedback, eraseLayoutTargetFeedback, eraseSizeOnDropFeedback, eraseTargetFeedback, getCommand, getCreateCommand, getDeleteDependantCommand, getLayoutContainer, getOrphanChildrenCommand, getSizeOnDropFeedback, getTargetEditPart, setListener, showDragTargetFeedback, showLayoutTargetFeedback, showSizeOnDropFeedback, showTargetFeedback |
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 after a 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 a reference EditPart
- 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 first 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)
Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.