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 and 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

Methods
`void` `dispose()` Disposes the action when it is no longer needed.
`protected java.util.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 Detail

#### 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 Detail

#### 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 java.util.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()`