org.eclipse.xtend.shared.ui.core.action
Class SelectionDispatchAction

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.jface.action.AbstractAction
          extended by org.eclipse.jface.action.Action
              extended by org.eclipse.xtend.shared.ui.core.action.SelectionDispatchAction
All Implemented Interfaces:
org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelectionChangedListener
Direct Known Subclasses:
FindAction, RenameDefineAction

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(org.eclipse.jface.viewers.SelectionChangedEvent) according to the type of the selection.

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


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
protected SelectionDispatchAction(org.eclipse.ui.IWorkbenchSite site)
          Creates a new action with no text and no image.
 
Method Summary
 org.eclipse.jface.viewers.ISelection getSelection()
          Returns the selection provided by the site owning this action.
 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).
 org.eclipse.swt.widgets.Shell getShell()
          Returns the shell provided by the site owning this action.
 org.eclipse.ui.IWorkbenchSite getSite()
          Returns the site owning this action.
 void run()
           
 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 run(org.eclipse.jface.text.ITextSelection selection)
          Executes this actions with the given text selection.
 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.text.ITextSelection selection)
          Notifies this action that the given text 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
 
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

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

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.

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