Package org.eclipse.gef.editpolicies

# Class XYLayoutEditPolicy

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

All Implemented Interfaces:
  `EditPolicy`, `RequestConstants`

public abstract class XYLayoutEditPolicy extends ConstrainedLayoutEditPolicy
An EditPolicy for use with `Figures` in `XYLayout`. The constraint for XYLayout is a `Rectangle`. Created on :Nov 12, 2002

Since:
  2.0

## 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
Constructor
Description
`XYLayoutEditPolicy()`

## Method Summary

Modifier and Type
Method
Description
`Object`
`getConstraintFor(org.eclipse.draw2d.geometry.Point p)`
Returns a Rectangle at the given Point with width and height of -1.
`Object`
`getConstraintFor(org.eclipse.draw2d.geometry.Rectangle r)`
Returns a new Rectangle equivalent to the passed Rectangle.
`protected Object`
`getConstraintFor(Request request, GraphicalEditPart child, org.eclipse.draw2d.geometry.Rectangle rect)`
Overridden to preserve existing width and height (as well as preferred sizes) during MOVE requests.
`protected org.eclipse.draw2d.geometry.Rectangle`
`getCurrentConstraintFor(GraphicalEditPart child)`
Retrieves the child's current constraint from the `LayoutManager`.
`protected org.eclipse.draw2d.geometry.Point`
`getLayoutOrigin()`
Returns `XYLayout.getOrigin(IFigure)`.
`protected org.eclipse.draw2d.geometry.Dimension`
`getMinimumSizeFor(GraphicalEditPart child)`
Deprecated.
Clients should no longer extend this method.
`protected org.eclipse.draw2d.XYLayout`
`getXYLayout()`
`void`
`setXyLayout(org.eclipse.draw2d.XYLayout xyLayout)`
`protected void`
`showSizeOnDropFeedback(CreateRequest request)`
Shows size-on-drop feedback during creation.

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

`createAddCommand, createAddCommand, createChangeConstraintCommand, createChangeConstraintCommand, createChildEditPolicy, 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, getCreateCommand, getCreationFeedbackOffset, getDeleteDependantCommand, getLayoutContainer, getOrphanChildrenCommand, getSizeOnDropFeedback, getSizeOnDropFeedback, getTargetEditPart, setListener, showLayoutTargetFeedback, showTargetFeedback, translateFromAbsoluteToLayoutRelative, translateFromLayoutRelativeToAbsolute, undecorateChild, undecorateChildren`

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

`addFeedback, getFeedbackLayer, getHost, getHostFigure, getLayer, removeFeedback`

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

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

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

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

## Constructor Details

### XYLayoutEditPolicy

public XYLayoutEditPolicy()

## Method Details

### getConstraintFor

protected Object getConstraintFor(Request request, GraphicalEditPart child, org.eclipse.draw2d.geometry.Rectangle rect)
Overridden to preserve existing width and height (as well as preferred sizes) during MOVE requests.

Overrides:
  `getConstraintFor` in class `ConstrainedLayoutEditPolicy`
Parameters:
  `rect` - the Rectangle relative to the `layout origin`
Returns:
  the constraint
See Also:
  - `ConstrainedLayoutEditPolicy.getConstraintFor(org.eclipse.gef.Request, org.eclipse.gef.GraphicalEditPart, org.eclipse.draw2d.geometry.Rectangle)`

### getConstraintFor

public Object getConstraintFor(org.eclipse.draw2d.geometry.Point p)
Returns a Rectangle at the given Point with width and height of -1. `XYLayout` uses width or height equal to '-1' to mean use the figure's preferred size.

Specified by:
  `getConstraintFor` in class `ConstrainedLayoutEditPolicy`
Parameters:
  `p` - the input Point
Returns:
  a Rectangle

### getConstraintFor

public Object getConstraintFor(org.eclipse.draw2d.geometry.Rectangle r)
Returns a new Rectangle equivalent to the passed Rectangle.

Specified by:
  `getConstraintFor` in class `ConstrainedLayoutEditPolicy`
Parameters:
  `r` - the input Rectangle
Returns:
  a copy of the input Rectangle

### getCurrentConstraintFor

protected org.eclipse.draw2d.geometry.Rectangle getCurrentConstraintFor(GraphicalEditPart child)
Retrieves the child's current constraint from the `LayoutManager`.

Parameters:
  `child` - the child
Returns:
  the current constraint

### getLayoutOrigin

protected org.eclipse.draw2d.geometry.Point getLayoutOrigin()
Returns `XYLayout.getOrigin(IFigure)`.

Overrides:
  `getLayoutOrigin` in class `LayoutEditPolicy`
Returns:
  Point
See Also:
  - `LayoutEditPolicy.getLayoutOrigin()`

### getXYLayout

protected org.eclipse.draw2d.XYLayout getXYLayout()

Returns:
  the XYLayout layout manager set on the `container`

### setXyLayout

public void setXyLayout(org.eclipse.draw2d.XYLayout xyLayout)

Parameters:
  `xyLayout` - The xyLayout to set.

### showSizeOnDropFeedback

protected void showSizeOnDropFeedback(CreateRequest request)
Description copied from class: `LayoutEditPolicy`
Shows size-on-drop feedback during creation.

Overrides:
  `showSizeOnDropFeedback` in class `LayoutEditPolicy`
Parameters:
  `request` - the CreateRequest
See Also:
  - `LayoutEditPolicy.showSizeOnDropFeedback(org.eclipse.gef.requests.CreateRequest)`

### getMinimumSizeFor

@Deprecated protected org.eclipse.draw2d.geometry.Dimension getMinimumSizeFor(GraphicalEditPart child)
Deprecated.
Clients should no longer extend this method. Instead, the resize tracker, constructed by the 'satellite' primary drag edit policy should be parameterized with max and min size constraints.
Determines the minimum size that the specified child can be resized to. Called from `ConstrainedLayoutEditPolicy.getConstraintFor(ChangeBoundsRequest, GraphicalEditPart)`. By default, a small `Dimension` is returned.

Parameters:
  `child` - the child
Returns:
  the minimum size