Package org.eclipse.graphiti.ui.internal.policy

## Class ShapeXYLayoutEditPolicy

- java.lang.Object
- - org.eclipse.gef.editpolicies.AbstractEditPolicy
  - - org.eclipse.gef.editpolicies.GraphicalEditPolicy
    - - org.eclipse.gef.editpolicies.LayoutEditPolicy
      - - org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy
        - - org.eclipse.gef.editpolicies.XYLayoutEditPolicy
          - - org.eclipse.graphiti.ui.internal.policy.ShapeXYLayoutEditPolicy

All Implemented Interfaces:
  `org.eclipse.gef.EditPolicy`, `org.eclipse.gef.RequestConstants`

Direct Known Subclasses:
  `ShapeContainerAndXYLayoutEditPolicy`

    public class ShapeXYLayoutEditPolicy
    extends org.eclipse.gef.editpolicies.XYLayoutEditPolicy

An EditPolicy, where the Layout of the EditParts is important: they must have an XYLayout. It assumes, that this EditPart is a parent, whose children can be added/deleted/moved.

See Also:
  `IEditPolicyFactory.createShapeXYLayoutEditPolicy()`

### Field Summary

### Fields inherited from class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy

`UNSPECIFIED_SIZE`

### 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`

### Constructor Summary

Constructors
`protected` `ShapeXYLayoutEditPolicy​(IConfigurationProviderInternal configurationProvider)` Creates a new ShapeXYLayoutEditPolicy.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected org.eclipse.gef.commands.Command` `createAddCommand​(org.eclipse.gef.EditPart child, java.lang.Object constraint)` Is called, when a child EditPart shall be moved from another parent-EditPart into this parent-EditPart.
`protected org.eclipse.gef.commands.Command` `createChangeConstraintCommand​(org.eclipse.gef.requests.ChangeBoundsRequest request, org.eclipse.gef.EditPart child, java.lang.Object constraint)` Is called, when a child EditPart shall be moved inside this parent-EditPart (resized or changed XY-position).
`protected org.eclipse.gef.EditPolicy` `createChildEditPolicy​(org.eclipse.gef.EditPart child)`
`static ICreateContext` `createCreateContext​(ContainerShape target, org.eclipse.draw2d.geometry.Rectangle rect)`
`protected IMoveAnchorContext` `createLayoutAnchorContext​(Anchor shape, AnchorContainer source, AnchorContainer target, java.lang.Object constraint)`
`protected IMoveShapeContext` `createMoveShapeContext​(Shape shape, ContainerShape source, ContainerShape target, java.lang.Object constraint)`
`protected IResizeShapeContext` `createResizeShapeContext​(Shape shape, java.lang.Object constraint, int resizeDirection)`
`protected IConfigurationProviderInternal` `getConfigurationProvider()`
`protected org.eclipse.gef.commands.Command` `getCreateCommand​(org.eclipse.gef.requests.CreateRequest request)` Is called, when a new child EditPart shall be created inside this parent-EditPart (with the CreationTool).
`protected org.eclipse.gef.commands.Command` `getDeleteDependantCommand​(org.eclipse.gef.Request request)` Usage unknown, returns null.

### Methods inherited from class org.eclipse.gef.editpolicies.XYLayoutEditPolicy

`getConstraintFor, getConstraintFor, getConstraintFor, getCurrentConstraintFor, getLayoutOrigin, getMinimumSizeFor, getXYLayout, setXyLayout, showSizeOnDropFeedback`

### Methods inherited from class org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy

`createAddCommand, createChangeConstraintCommand, getAddCommand, getAlignChildrenCommand, getChangeConstraintCommand, getCommand, getConstraintFor, getConstraintFor, getConstraintForClone, getMoveChildrenCommand, getResizeChildrenCommand, translateToModelConstraint`

### Methods inherited from class org.eclipse.gef.editpolicies.LayoutEditPolicy

`activate, createListener, createSizeOnDropFeedback, deactivate, decorateChild, decorateChildren, eraseLayoutTargetFeedback, eraseSizeOnDropFeedback, eraseTargetFeedback, getCloneCommand, getCreationFeedbackOffset, getLayoutContainer, getOrphanChildrenCommand, getSizeOnDropFeedback, getSizeOnDropFeedback, getTargetEditPart, setListener, showLayoutTargetFeedback, showTargetFeedback, translateFromAbsoluteToLayoutRelative, translateFromLayoutRelativeToAbsolute, undecorateChild, undecorateChildren`

### Methods inherited from class org.eclipse.gef.editpolicies.GraphicalEditPolicy

`addFeedback, getFeedbackLayer, getHostFigure, getLayer, removeFeedback`

### Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy

`debugFeedback, eraseSourceFeedback, getHost, setHost, showSourceFeedback, toString, understandsRequest`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ShapeXYLayoutEditPolicy

    protected ShapeXYLayoutEditPolicy​(IConfigurationProviderInternal configurationProvider)

Creates a new ShapeXYLayoutEditPolicy.

Parameters:
  `configurationProvider` - The IConfigurationProviderInternal.

### Method Detail

#### getConfigurationProvider

    protected final IConfigurationProviderInternal getConfigurationProvider()

#### createAddCommand

    protected org.eclipse.gef.commands.Command createAddCommand​(org.eclipse.gef.EditPart child,
                                                                java.lang.Object constraint)

Is called, when a child EditPart shall be moved from another parent-EditPart into this parent-EditPart. It creates an ICommandCombiner.createSetParentReferenceCommand().

Overrides:
  `createAddCommand` in class `org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy`
See Also:
  `ConstrainedLayoutEditPolicy.createAddCommand(org.eclipse.gef.EditPart, java.lang.Object)`

#### createChildEditPolicy

    protected org.eclipse.gef.EditPolicy createChildEditPolicy​(org.eclipse.gef.EditPart child)

Overrides:
  `createChildEditPolicy` in class `org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy`

#### createChangeConstraintCommand

    protected org.eclipse.gef.commands.Command createChangeConstraintCommand​(org.eclipse.gef.requests.ChangeBoundsRequest request,
                                                                             org.eclipse.gef.EditPart child,
                                                                             java.lang.Object constraint)

Is called, when a child EditPart shall be moved inside this parent-EditPart (resized or changed XY-position). It creates an ICommandFactory.createChangeModelObjectConstraintCommand(().

Overrides:
  `createChangeConstraintCommand` in class `org.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy`
See Also:
  `ConstrainedLayoutEditPolicy.createChangeConstraintCommand(org.eclipse.gef.EditPart, java.lang.Object)`

#### createMoveShapeContext

    protected IMoveShapeContext createMoveShapeContext​(Shape shape,
                                                       ContainerShape source,
                                                       ContainerShape target,
                                                       java.lang.Object constraint)

Parameters:
  `constraint` -
  `coll` -
  `container` -
  `container2` -
Returns:

#### createResizeShapeContext

    protected IResizeShapeContext createResizeShapeContext​(Shape shape,
                                                           java.lang.Object constraint,
                                                           int resizeDirection)

#### createLayoutAnchorContext

    protected IMoveAnchorContext createLayoutAnchorContext​(Anchor shape,
                                                           AnchorContainer source,
                                                           AnchorContainer target,
                                                           java.lang.Object constraint)

#### createCreateContext

    public static ICreateContext createCreateContext​(ContainerShape target,
                                                     org.eclipse.draw2d.geometry.Rectangle rect)

Parameters:
  `constraint` -
  `coll` -
  `container` -
  `container2` -
Returns:

#### getCreateCommand

    protected org.eclipse.gef.commands.Command getCreateCommand​(org.eclipse.gef.requests.CreateRequest request)

Is called, when a new child EditPart shall be created inside this parent-EditPart (with the CreationTool). It creates an ICommandCombiner.createCreateModelObjectCommand().

Specified by:
  `getCreateCommand` in class `org.eclipse.gef.editpolicies.LayoutEditPolicy`
See Also:
  `LayoutEditPolicy.getCreateCommand(org.eclipse.gef.requests.CreateRequest)`

#### getDeleteDependantCommand

    protected org.eclipse.gef.commands.Command getDeleteDependantCommand​(org.eclipse.gef.Request request)

Usage unknown, returns null.

Overrides:
  `getDeleteDependantCommand` in class `org.eclipse.gef.editpolicies.LayoutEditPolicy`
See Also:
  `LayoutEditPolicy.getDeleteDependantCommand(org.eclipse.gef.Request)`