Package 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
Modifier and Type
Field
Description
`protected List<? extends Handle>`
`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
Description
`SelectionHandlesEditPolicy()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addSelectionHandles()`
Adds the handles to the handle layer.
`protected abstract List<? extends Handle>`
`createSelectionHandles()`
Subclasses must implement to provide the list of handles.
`<T> T`
`getAdapter(Class<T> 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, getHost, getHostFigure, getLayer, removeFeedback`

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

`debugFeedback, eraseSourceFeedback, eraseTargetFeedback, getCommand, setHost, showSourceFeedback, showTargetFeedback, toString, understandsRequest`

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

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

## Field Details

### handles

protected List<? extends Handle> handles
the List of handles

## Constructor Details

### SelectionHandlesEditPolicy

public SelectionHandlesEditPolicy()

## Method Details

### addSelectionHandles

protected void addSelectionHandles()
Adds the handles to the handle layer.

### createSelectionHandles

protected abstract List<? extends Handle> createSelectionHandles()
Subclasses must implement to provide the list of handles.

Returns:
  List of handles; cannot be `null`

### getAdapter

public <T> T getAdapter(Class<T> 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()`