Package org.eclipse.gef

# Class SelectionManager

java.lang.Object
org.eclipse.gef.SelectionManager

public class SelectionManager extends Object
Manages a viewer's selection model. Selection management includes representing a form of selection which is available to clients of a viewer as an ISelection. It also includes managing the notion of focus, which is closely tied to the current selection. The selection manager provides the mechanism for modifying the selection and any validation.

WARNING: Subclassing this class is considered experimental at this point.

Since:
  3.2

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SelectionManager()`
Default Constructor

## Method Summary

Modifier and Type
Method
Description
`void`
`appendSelection(EditPart editpart)`
Appends the `EditPart` to the current selection.
`static SelectionManager`
`createDefault()`
Creates the default implementation for a selection manager.
`void`
`deselect(EditPart editpart)`
Removes the `EditPart` from the current selection.
`void`
`deselectAll()`
Deselects everything.
`protected final void`
`fireSelectionChanged()`
Causes the viewer to fire selection changed notification to all listeners.
`protected EditPart`
`getFocus()`
Returns the focus editpart.
`ISelection`
`getSelection()`
Returns the current selection.
`protected EditPartViewer`
`getViewer()`
Returns `null` or the viewer whose selection is managed.
`protected void`
`hookViewer(EditPartViewer viewer)`
Provides a hook for when the viewer has been set.
`void`
`internalHookControl(Control control)`
For internal use only.
`void`
`internalInitialize(EditPartViewer viewer, List<EditPart> selection, Runnable notifier)`
For internal use only.
`void`
`internalUninstall()`
For internal use only.
`void`
`setFocus(EditPart part)`
Sets the focus part.
`void`
`setSelection(ISelection newSelection)`
Sets the selection.

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

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

## Constructor Details

### SelectionManager

protected SelectionManager()
Default Constructor

Since:
  3.2

## Method Details

### createDefault

public static SelectionManager createDefault()
Creates the default implementation for a selection manager.

Returns:
  the default selection manager
Since:
  3.2

### appendSelection

public void appendSelection(EditPart editpart)
Appends the `EditPart` to the current selection. The EditPart becomes the new primary selection. Fires selection changed to all `ISelectionChangedListener`s.

Parameters:
  `editpart` - the EditPart to append
Since:
  3.2

### deselect

public void deselect(EditPart editpart)
Removes the `EditPart` from the current selection.

Parameters:
  `editpart` - the editpart
Since:
  3.2

### deselectAll

public void deselectAll()
Deselects everything.

Since:
  3.2

### fireSelectionChanged

protected final void fireSelectionChanged()
Causes the viewer to fire selection changed notification to all listeners.

Since:
  3.2

### getFocus

protected EditPart getFocus()
Returns the focus editpart.

Returns:
  the focus editpart
Since:
  3.2

### getSelection

public ISelection getSelection()
Returns the current selection.

Returns:
  the selection
Since:
  3.2

### getViewer

protected EditPartViewer getViewer()
Returns `null` or the viewer whose selection is managed.

Returns:
  `null` or the viewer
Since:
  3.2

### internalHookControl

public void internalHookControl(Control control)
For internal use only. This API is subject to change.

Parameters:
  `control` - the control
Since:
  3.2

### internalUninstall

public void internalUninstall()
For internal use only. This API is subject to change.

Since:
  3.2

### hookViewer

protected void hookViewer(EditPartViewer viewer)
Provides a hook for when the viewer has been set.

Parameters:
  `viewer` - the viewer.
Since:
  3.2

### internalInitialize

public void internalInitialize(EditPartViewer viewer, List<EditPart> selection, Runnable notifier)
For internal use only.

Parameters:
  `viewer` - viewer
  `selection` - selection
  `notifier` - notifier
Since:
  3.2

### setFocus

public void setFocus(EditPart part)
Sets the focus part.

Parameters:
  `part` - the focus part
Since:
  3.2

### setSelection

public void setSelection(ISelection newSelection)
Sets the selection.

Parameters:
  `newSelection` - the new selection
Since:
  3.2