Package org.eclipse.ui.actions
Class SelectionProviderAction
java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.action.AbstractAction
org.eclipse.jface.action.Action
org.eclipse.ui.actions.SelectionProviderAction
- All Implemented Interfaces:
IAction
,ISelectionChangedListener
- Direct Known Subclasses:
PropertyDialogAction
The abstract superclass for actions that listen to selection changes from a
particular selection provider. This implementation splits the current
selection along structured/unstructured lines, providing a convenient place
to monitor selection changes that require adjusting action state.
Subclasses must implement the following IAction
method:
run
- to do the action's work
Subclasses may reimplement either of the following methods:
selectionChanged(IStructuredSelection)
selectionChanged(ISelection)
-
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
ModifierConstructorDescriptionprotected
SelectionProviderAction
(ISelectionProvider provider, String text) Creates a new action with the given text that monitors selection changes within the given selection provider. -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Disposes this action by removing it as a listener from the selection provider.Returns the current selection in the selection provider.Returns the selection provider that is the target of this action.Returns the current structured selection in the selection provider, or an empty selection if nothing is selected or if selection does not include objects (for example, raw text).void
selectionChanged
(ISelection selection) Notifies this action that the given (non-structured) selection has changed in the selection provider.void
selectionChanged
(IStructuredSelection selection) Notifies this action that the given structured selection has changed in the selection provider.final void
TheSelectionProviderAction
implementation of thisISelectionChangedListener
method callsselectionChanged(IStructuredSelection)
if the selection is a structured selection butselectionChanged(ISelection)
if it is not.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, isEnabled, 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
-
Constructor Details
-
SelectionProviderAction
Creates a new action with the given text that monitors selection changes within the given selection provider. The resulting action is added as a listener on the selection provider.- Parameters:
provider
- the selection provider that will provide selection notificationtext
- the string used as the text for the action, ornull
if there is no text
-
-
Method Details
-
dispose
public void dispose()Disposes this action by removing it as a listener from the selection provider. This must be called by the creator of the action when the action is no longer needed. -
getSelection
Returns the current selection in the selection provider.- Returns:
- the current selection in the selection provider
-
getSelectionProvider
Returns the selection provider that is the target of this action.- Returns:
- the target selection provider of this action
-
getStructuredSelection
Returns the current structured selection in the selection provider, or an empty selection if nothing is selected or if selection does not include objects (for example, raw text).- Returns:
- the current structured selection in the selection provider
-
selectionChanged
Notifies this action that the given (non-structured) selection has changed in the selection provider.The
SelectionProviderAction
implementation of this method does nothing. Subclasses may reimplement to react to this selection change.- Parameters:
selection
- the new selection
-
selectionChanged
Notifies this action that the given structured selection has changed in the selection provider.The
SelectionProviderAction
implementation of this method does nothing. Subclasses may reimplement to react to this selection change.- Parameters:
selection
- the new selection
-
selectionChanged
TheSelectionProviderAction
implementation of thisISelectionChangedListener
method callsselectionChanged(IStructuredSelection)
if the selection is a structured selection butselectionChanged(ISelection)
if it is not. Subclasses should override either of those methods method to react to selection changes.- Specified by:
selectionChanged
in interfaceISelectionChangedListener
- Parameters:
event
- event object describing the change
-