Class SelectionDispatchAction

java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.action.AbstractAction
org.eclipse.jface.action.Action
org.eclipse.jdt.ui.actions.SelectionDispatchAction
All Implemented Interfaces:
org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelectionChangedListener
Direct Known Subclasses:
AddDelegateMethodsAction, AddGetterSetterAction, AddJavaDocStubAction, AddToClasspathAction, AddUnimplementedConstructorsAction, ChangeTypeAction, ConvertAnonymousToNestedAction, ConvertLocalToFieldAction, ConvertNestedToTopAction, ExternalizeStringsAction, ExtractClassAction, ExtractConstantAction, ExtractInterfaceAction, ExtractMethodAction, ExtractTempAction, FindAction, FindBreakContinueTargetOccurrencesAction, FindExceptionOccurrencesAction, FindImplementOccurrencesAction, FindMethodExitOccurrencesAction, FindOccurrencesInFileAction, FindStringsToExternalizeAction, FormatAllAction, GenerateHashCodeEqualsAction, GenerateNewConstructorUsingFieldsAction, GenerateToStringAction, InferTypeArgumentsAction, InlineAction, InlineTempAction, IntroduceFactoryAction, IntroduceIndirectionAction, IntroduceParameterAction, MakeStaticAction, ModifyParametersAction, MoveAction, OpenAction, OpenAttachedJavadocAction, OpenImplementationAction, OpenProjectAction, OpenSuperImplementationAction, OpenTypeHierarchyAction, OrganizeImportsAction, OverrideMethodsAction, PullUpAction, PushDownAction, RefreshAction, RemoveFromClasspathAction, RenameAction, ReplaceInvocationsAction, SelfEncapsulateFieldAction, ShowInPackageViewAction, SortMembersAction, SurroundWithTryCatchAction, SurroundWithTryWithResourcesAction, UseSupertypeAction

public abstract class SelectionDispatchAction extends org.eclipse.jface.action.Action implements org.eclipse.jface.viewers.ISelectionChangedListener
Action that dispatches the IAction#run() and the ISelectionChangedListener#selectionChanged according to the type of the selection.
  • if selection is of type ITextSelection then run(ITextSelection) and selectionChanged(ITextSelection) is called.
  • if selection is of type IStructuredSelection then run(IStructuredSelection) and selectionChanged(IStructuredSelection) is called.
  • default is to call run(ISelection) and selectionChanged(ISelection).

Note: This class is not intended to be subclassed outside the JDT UI plug-in.

Since:
2.0
Restriction:
This class is not intended to be subclassed by clients.
  • 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
    Modifier
    Constructor
    Description
    protected
    SelectionDispatchAction(org.eclipse.ui.IWorkbenchSite site)
    Creates a new action with no text and no image.
    protected
    SelectionDispatchAction(org.eclipse.ui.IWorkbenchSite site, org.eclipse.jface.viewers.ISelectionProvider provider)
  • Method Summary

    Modifier and Type
    Method
    Description
    org.eclipse.jface.viewers.ISelection
    Returns the selection provided by the site owning this action.
    org.eclipse.jface.viewers.ISelectionProvider
    Returns the selection provider managed by the site owning this action or the selection provider explicitly set in setSpecialSelectionProvider(ISelectionProvider).
    org.eclipse.swt.widgets.Shell
    Returns the shell provided by the site owning this action.
    org.eclipse.ui.IWorkbenchSite
    Returns the site owning this action.
    void
    run()
     
    void
    run(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
    Note: This method is for internal use only.
    void
    run(org.eclipse.jface.text.ITextSelection selection)
    Executes this actions with the given text selection.
    void
    run(org.eclipse.jface.viewers.ISelection selection)
    Executes this actions with the given selection.
    void
    run(org.eclipse.jface.viewers.IStructuredSelection selection)
    Executes this actions with the given structured selection.
    void
    selectionChanged(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
    Note: This method is for internal use only.
    void
    selectionChanged(org.eclipse.jface.text.ITextSelection selection)
    Notifies this action that the given text selection has changed.
    void
    selectionChanged(org.eclipse.jface.viewers.ISelection selection)
    Notifies this action that the given selection has changed.
    void
    selectionChanged(org.eclipse.jface.viewers.IStructuredSelection selection)
    Notifies this action that the given structured selection has changed.
    void
    selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
     
    void
    setSpecialSelectionProvider(org.eclipse.jface.viewers.ISelectionProvider provider)
    Sets a special selection provider which will be used instead of the site's selection provider.
    void
    update(org.eclipse.jface.viewers.ISelection selection)
    Updates the action's enablement state according to the given selection.

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

    • SelectionDispatchAction

      protected SelectionDispatchAction(org.eclipse.ui.IWorkbenchSite site)
      Creates a new action with no text and no image.

      Configure the action later using the set methods.

      Parameters:
      site - the site this action is working on
    • SelectionDispatchAction

      @Deprecated protected SelectionDispatchAction(org.eclipse.ui.IWorkbenchSite site, org.eclipse.jface.viewers.ISelectionProvider provider)
      Deprecated.
      Use setSpecialSelectionProvider(ISelectionProvider) instead. This constructor will be removed after 3.2 M5.
      Creates a new action with no text and no image

      Configure the action later using the set methods.

      Parameters:
      site - the site this action is working on
      provider - a special selection provider which is used instead of the site's selection provider or null to use the site's selection provider. Clients can for example use a ConvertingSelectionProvider to first convert a selection before passing it to the action.
      Since:
      3.2
  • Method Details

    • getSite

      public org.eclipse.ui.IWorkbenchSite getSite()
      Returns the site owning this action.
      Returns:
      the site owning this action
    • getSelection

      public org.eclipse.jface.viewers.ISelection getSelection()
      Returns the selection provided by the site owning this action.
      Returns:
      the site's selection
    • getShell

      public org.eclipse.swt.widgets.Shell getShell()
      Returns the shell provided by the site owning this action.
      Returns:
      the site's shell
    • getSelectionProvider

      public org.eclipse.jface.viewers.ISelectionProvider getSelectionProvider()
      Returns the selection provider managed by the site owning this action or the selection provider explicitly set in setSpecialSelectionProvider(ISelectionProvider).
      Returns:
      the site's selection provider
    • setSpecialSelectionProvider

      public void setSpecialSelectionProvider(org.eclipse.jface.viewers.ISelectionProvider provider)
      Sets a special selection provider which will be used instead of the site's selection provider. This method should be used directly after constructing the action and before the action is registered as a selection listener. The invocation will not a perform a selection change notification.
      Parameters:
      provider - a special selection provider which is used instead of the site's selection provider or null to use the site's selection provider. Clients can for example use a ConvertingSelectionProvider to first convert a selection before passing it to the action.
      Since:
      3.2
    • update

      public void update(org.eclipse.jface.viewers.ISelection selection)
      Updates the action's enablement state according to the given selection. This default implementation calls one of the selectionChanged methods depending on the type of the passed selection.
      Parameters:
      selection - the selection this action is working on
    • selectionChanged

      public void selectionChanged(org.eclipse.jface.viewers.IStructuredSelection selection)
      Notifies this action that the given structured selection has changed. This default implementation calls selectionChanged(ISelection selection).
      Parameters:
      selection - the new selection
    • run

      public void run(org.eclipse.jface.viewers.IStructuredSelection selection)
      Executes this actions with the given structured selection. This default implementation calls run(ISelection selection).
      Parameters:
      selection - the selection
    • selectionChanged

      public void selectionChanged(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
      Note: This method is for internal use only. Clients should not call this method.
      Parameters:
      selection - the selection
      Restriction:
      This method is not intended to be referenced by clients.
    • run

      public void run(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)
      Note: This method is for internal use only. Clients should not call this method.
      Parameters:
      selection - the selection
      Restriction:
      This method is not intended to be referenced by clients.
    • selectionChanged

      public void selectionChanged(org.eclipse.jface.text.ITextSelection selection)
      Notifies this action that the given text selection has changed. This default implementation calls selectionChanged(ISelection selection).
      Parameters:
      selection - the new selection
    • run

      public void run(org.eclipse.jface.text.ITextSelection selection)
      Executes this actions with the given text selection. This default implementation calls run(ISelection selection).
      Parameters:
      selection - the selection
    • selectionChanged

      public void selectionChanged(org.eclipse.jface.viewers.ISelection selection)
      Notifies this action that the given selection has changed. This default implementation sets the action's enablement state to false.
      Parameters:
      selection - the new selection
    • run

      public void run(org.eclipse.jface.viewers.ISelection selection)
      Executes this actions with the given selection. This default implementation does nothing.
      Parameters:
      selection - the selection
    • run

      public void run()
      Specified by:
      run in interface org.eclipse.jface.action.IAction
      Overrides:
      run in class org.eclipse.jface.action.Action
    • selectionChanged

      public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
      Specified by:
      selectionChanged in interface org.eclipse.jface.viewers.ISelectionChangedListener