Eclipse Platform
Release 3.0

org.eclipse.ui.actions
Class RetargetAction

java.lang.Object
  extended byorg.eclipse.jface.action.Action
      extended byorg.eclipse.ui.actions.PartEventAction
          extended byorg.eclipse.ui.actions.RetargetAction
All Implemented Interfaces:
ActionFactory.IWorkbenchAction, IAction, IPartListener
Direct Known Subclasses:
LabelRetargetAction

public class RetargetAction
extends PartEventAction
implements ActionFactory.IWorkbenchAction

A RetargetAction tracks the active part in the workbench. Each RetargetAction has an ID. If the active part provides an action handler for the ID the enable and check state of the RetargetAction is determined from the enable and check state of the handler. If the active part does not provide an action handler then this action is disabled.

Note: instances of this class add themselves as listeners to their action handler. It is important for the creator of a retarget action to call dispose when the action is no longer needed. This will ensure that the listener is removed.

This class may be instantiated. It is not intented to be subclassed.

Since:
2.0

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, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
RetargetAction(String actionID, String text)
          Constructs a RetargetAction with the given action id and text.
RetargetAction(String actionID, String text, int style)
          Constructs a RetargetAction with the given action id, text and style.
 
Method Summary
 void dispose()
          Disposes of the action and any resources held.
 void enableAccelerator(boolean b)
          Enables the accelerator for this action.
 int getAccelerator()
          Returns the accelerator keycode for this action.
 IAction getActionHandler()
          Returns the action handler.
 void partActivated(IWorkbenchPart part)
          A workbench part has been activated.
 void partClosed(IWorkbenchPart part)
          A workbench part has been closed.
 void partDeactivated(IWorkbenchPart part)
          A workbench part has been deactivated.
protected  void propagateChange(PropertyChangeEvent event)
          Either the action handler itself has changed, or the configured action handlers on the action bars have changed.
 void run()
          Invoked when an action occurs.
 void runWithEvent(Event event)
          Invoked when an action occurs.
protected  void setActionHandler(IAction newHandler)
          Sets the action handler.
 void setChecked(boolean checked)
          Sets the checked status of this action.
 void setHelpListener(HelpListener listener)
          The RetargetAction implementation of this method declared on IAction stores the help listener in a local field.
 
Methods inherited from class org.eclipse.ui.actions.PartEventAction
getActivePart, partBroughtToTop, partOpened
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, notifyResult, removeAcceleratorText, removeMnemonics, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setDescription, setDisabledImageDescriptor, setEnabled, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
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, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setDescription, setDisabledImageDescriptor, setEnabled, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 

Constructor Detail

RetargetAction

public RetargetAction(String actionID,
                      String text)
Constructs a RetargetAction with the given action id and text.

Parameters:
actionID - the retargetable action id
text - the action's text, or null if there is no text

RetargetAction

public RetargetAction(String actionID,
                      String text,
                      int style)
Constructs a RetargetAction with the given action id, text and style.

Parameters:
actionID - the retargetable action id
text - the action's text, or null if there is no text
style - one of AS_PUSH_BUTTON, AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_RADIO_BUTTON, and AS_UNSPECIFIED
Since:
3.0
Method Detail

dispose

public void dispose()
Disposes of the action and any resources held.

Specified by:
dispose in interface ActionFactory.IWorkbenchAction

enableAccelerator

public void enableAccelerator(boolean b)
Enables the accelerator for this action.

Parameters:
b - the new enable state

getAccelerator

public int getAccelerator()
Description copied from interface: IAction
Returns the accelerator keycode for this action. The result is the bit-wise OR of zero or more modifier masks and a key, as explained in MenuItem.getAccelerator.

Specified by:
getAccelerator in interface IAction
Overrides:
getAccelerator in class Action

partActivated

public void partActivated(IWorkbenchPart part)
A workbench part has been activated. Try to connect to it.

Specified by:
partActivated in interface IPartListener
Overrides:
partActivated in class PartEventAction
Parameters:
part - the workbench part that has been activated

partClosed

public void partClosed(IWorkbenchPart part)
A workbench part has been closed.

Specified by:
partClosed in interface IPartListener
Overrides:
partClosed in class PartEventAction
Parameters:
part - the workbench part that has been closed

partDeactivated

public void partDeactivated(IWorkbenchPart part)
A workbench part has been deactivated. Disconnect from it.

Specified by:
partDeactivated in interface IPartListener
Overrides:
partDeactivated in class PartEventAction
Parameters:
part - the workbench part that has been deactivated

propagateChange

protected void propagateChange(PropertyChangeEvent event)
Either the action handler itself has changed, or the configured action handlers on the action bars have changed. Update self.


run

public void run()
Invoked when an action occurs.

Specified by:
run in interface IAction
Overrides:
run in class Action

runWithEvent

public void runWithEvent(Event event)
Invoked when an action occurs.

Specified by:
runWithEvent in interface IAction
Overrides:
runWithEvent in class Action

getActionHandler

public IAction getActionHandler()
Returns the action handler. This method was made public in 3.0.

Returns:
The current action handling this retargettable action. This handler will be null if there is no current handler.

setActionHandler

protected void setActionHandler(IAction newHandler)
Sets the action handler.


setChecked

public void setChecked(boolean checked)
Description copied from interface: IAction
Sets the checked status of this action. Applicable for the styles AS_CHECK_BOX or AS_RADIO_BUTTON.

Fires a property change event for the CHECKED property if the checked status actually changes as a consequence.

Specified by:
setChecked in interface IAction
Overrides:
setChecked in class Action

setHelpListener

public void setHelpListener(HelpListener listener)
The RetargetAction implementation of this method declared on IAction stores the help listener in a local field. The supplied listener is only used if there is no hanlder.

Specified by:
setHelpListener in interface IAction
Overrides:
setHelpListener in class Action

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.