Eclipse Platform
2.0

org.eclipse.ui.actions
Class SelectionProviderAction

java.lang.Object
  |
  +--org.eclipse.jface.action.Action
        |
        +--org.eclipse.ui.actions.SelectionProviderAction
All Implemented Interfaces:
IAction, ISelectionChangedListener
Direct Known Subclasses:
PropertyDialogAction, ResourceNavigatorAction, ShowInNavigatorAction

public abstract class SelectionProviderAction
extends Action
implements ISelectionChangedListener

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:

Subclasses may reimplement either of the following methods:


Field Summary
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, CHECKED, DESCRIPTION, ENABLED, IMAGE, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
protected SelectionProviderAction(ISelectionProvider provider, String text)
          Creates a new action with the given text that monitors selection changes within the given selection provider.
 
Method Summary
 void dispose()
          Disposes this action by removing it as a listener from the selection provider.
 ISelection getSelection()
          Returns the current selection in the selection provider.
 ISelectionProvider getSelectionProvider()
          Returns the selection provider that is the target of this action.
 IStructuredSelection 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).
 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.
 void selectionChanged(SelectionChangedEvent event)
          The SelectionProviderAction implementation of this ISelectionChangedListener method calls selectionChanged(IStructuredSelection) if the selection is a structured selection but selectionChanged(ISelection) if it is not.
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, removeAcceleratorText, removePropertyChangeListener, run, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectionProviderAction

protected SelectionProviderAction(ISelectionProvider provider,
                                  String text)
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 notification
text - the string used as the text for the action, or null if these is no text
Method Detail

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

public ISelection getSelection()
Returns the current selection in the selection provider.

Returns:
the current selection in the selection provider

getSelectionProvider

public ISelectionProvider getSelectionProvider()
Returns the selection provider that is the target of this action.

Returns:
the target selection provider of this action

getStructuredSelection

public IStructuredSelection 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

public void selectionChanged(ISelection selection)
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

public void selectionChanged(IStructuredSelection selection)
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

public final void selectionChanged(SelectionChangedEvent event)
The SelectionProviderAction implementation of this ISelectionChangedListener method calls selectionChanged(IStructuredSelection) if the selection is a structured selection but selectionChanged(ISelection) if it is not. Subclasses should override either of those methods method to react to selection changes.

Specified by:
selectionChanged in interface ISelectionChangedListener
Parameters:
event - event object describing the change

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.