org.eclipse.gef.editpolicies

## Class SelectionHandlesEditPolicy

- java.lang.Object
- - org.eclipse.gef.editpolicies.AbstractEditPolicy
  - - org.eclipse.gef.editpolicies.GraphicalEditPolicy
    - - org.eclipse.gef.editpolicies.SelectionEditPolicy
      - - org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy

All Implemented Interfaces:
  IAdaptable, EditPolicy, RequestConstants

Direct Known Subclasses:
  BendpointEditPolicy, ConnectionEndpointEditPolicy, NonResizableEditPolicy

    public abstract class SelectionHandlesEditPolicy
    extends SelectionEditPolicy
    implements IAdaptable

A SelectionEditPolicy which manages a List of handles provided by the subclass. Handles are Figures which are added to the HANDLE layer, and generally return a DragTracker for dragging them. Handles are accessible for keyboard use if they return an accessible location.

SelectionHandlesEditPolicy implements `IAdaptable` for accessibility support. If any of the managed Handles provide accesible locations, then a `AccessibleHandleProvider` is automatically created.

Since:
  2.0

### Field Summary

Fields
`protected java.util.List` `handles` the List of handles

### 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 and Description
`SelectionHandlesEditPolicy()`

### Method Summary

Methods
`protected void` `addSelectionHandles()` Adds the handles to the handle layer.
`protected abstract java.util.List` `createSelectionHandles()` Subclasses must implement to provide the list of handles.
`java.lang.Object` `getAdapter(java.lang.Class key)`
`protected void` `hideSelection()` Implemented to remove the handles.
`protected void` `removeSelectionHandles()` removes the selection handles from the selection layer.
`protected void` `showSelection()` Implemented to add the selection handles

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

`activate, addSelectionListener, deactivate, getTargetEditPart, hideFocus, removeSelectionListener, setFocus, setSelectedState, showFocus, showPrimarySelection`

### 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, eraseTargetFeedback, getCommand, getHost, setHost, showSourceFeedback, showTargetFeedback, toString, understandsRequest`

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

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

### Field Detail

#### handles

    protected java.util.List handles

the List of handles

### Constructor Detail

#### SelectionHandlesEditPolicy

    public SelectionHandlesEditPolicy()

### Method Detail

#### addSelectionHandles

    protected void addSelectionHandles()

Adds the handles to the handle layer.

#### createSelectionHandles

    protected abstract java.util.List createSelectionHandles()

Subclasses must implement to provide the list of handles.

Returns:
  List of handles; cannot be `null`

#### getAdapter

    public java.lang.Object getAdapter(java.lang.Class key)

Specified by:
  `getAdapter` in interface `IAdaptable`
See Also:
  `IAdaptable.getAdapter(Class)`

#### hideSelection

    protected void hideSelection()

Implemented to remove the handles.

Specified by:
  `hideSelection` in class `SelectionEditPolicy`
See Also:
  `SelectionEditPolicy.hideSelection()`

#### removeSelectionHandles

    protected void removeSelectionHandles()

removes the selection handles from the selection layer.

#### showSelection

    protected void showSelection()

Implemented to add the selection handles

Specified by:
  `showSelection` in class `SelectionEditPolicy`
See Also:
  `SelectionEditPolicy.showSelection()`