Package org.eclipse.gef.ui.actions

# Class SelectionAction

java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.action.AbstractAction
org.eclipse.jface.action.Action
org.eclipse.gef.ui.actions.WorkbenchPartAction
org.eclipse.gef.ui.actions.SelectionAction

All Implemented Interfaces:
  `Disposable`, `UpdateAction`, `IAction`

Direct Known Subclasses:
  `AlignmentAction`, `DeleteAction`, `DirectEditAction`, `MatchSizeAction`, `PasteTemplateAction`

public abstract class SelectionAction extends WorkbenchPartAction
Superclass for an action needing the current selection.

## Field Summary

### Fields inherited from interface org.eclipse.jface.action.IAction

`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

## Constructor Summary

Constructors
Constructor
Description
`SelectionAction(IWorkbenchPart part)`
Creates a `SelectionAction` and associates it with the given workbench part.
`SelectionAction(IWorkbenchPart part, int style)`
Creates a `SelectionAction` and associates it with the given editor.

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Disposes the action when it is no longer needed.
`protected List`
`getSelectedObjects()`
Returns a `List` containing the currently selected objects.
`protected ISelection`
`getSelection()`
Gets the current selection.
`protected void`
`handleSelectionChanged()`
Called when the selection is changed.
`protected void`
`setSelection(ISelection selection)`
Sets the current selection and calls on subclasses to handle the selectionChanged event.
`void`
`setSelectionProvider(ISelectionProvider provider)`
May be used to provide an alternative selection source other than the workbench's selection service.
`void`
`update()`
Called to update the receiver.

### Methods inherited from class org.eclipse.gef.ui.actions.WorkbenchPartAction

`calculateEnabled, execute, getCommandStack, getWorkbenchPart, init, isEnabled, refresh, setLazyEnablementCalculation, setWorkbenchPart`

### Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, run, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Methods inherited from class org.eclipse.jface.action.AbstractAction

`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

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

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

## Constructor Details

### SelectionAction

public SelectionAction(IWorkbenchPart part, int style)
Creates a `SelectionAction` and associates it with the given editor.

Parameters:
  `part` - The workbench part associated with this action
  `style` - the style for this action

### SelectionAction

public SelectionAction(IWorkbenchPart part)
Creates a `SelectionAction` and associates it with the given workbench part.

Parameters:
  `part` - the workbench part

## Method Details

### dispose

public void dispose()
Description copied from class: `WorkbenchPartAction`
Disposes the action when it is no longer needed.

Specified by:
  `dispose` in interface `Disposable`
Overrides:
  `dispose` in class `WorkbenchPartAction`
See Also:
  - `Disposable.dispose()`

### getSelectedObjects

protected List getSelectedObjects()
Returns a `List` containing the currently selected objects.

Returns:
  A List containing the currently selected objects.

### getSelection

protected ISelection getSelection()
Gets the current selection.

Returns:
  The current selection.

### handleSelectionChanged

protected void handleSelectionChanged()
Called when the selection is changed.

### setSelection

protected void setSelection(ISelection selection)
Sets the current selection and calls on subclasses to handle the selectionChanged event.

Parameters:
  `selection` - The new selection.

### setSelectionProvider

public void setSelectionProvider(ISelectionProvider provider)
May be used to provide an alternative selection source other than the workbench's selection service. Use of this method is optional. The default value is `null`, in which case the selection is obtained using the partsite's selection service.

Parameters:
  `provider` - `null` or a selection provider

### update

public void update()
Description copied from interface: `UpdateAction`
Called to update the receiver.

Specified by:
  `update` in interface `UpdateAction`
Overrides:
  `update` in class `WorkbenchPartAction`
See Also:
  - `WorkbenchPartAction.update()`