Class RetargetAction

All Implemented Interfaces:
IAction, ActionFactory.IWorkbenchAction, 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
Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • 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 Details

    • 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
      Returns:
      the accelerator keycode
      See Also:
    • 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
      See Also:
    • 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
      See Also:
    • 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
      See Also:
    • 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
      See Also:
    • runWithEvent

      public void runWithEvent(Event event)
      Invoked when an action occurs.
      Specified by:
      runWithEvent in interface IAction
      Overrides:
      runWithEvent in class Action
      Parameters:
      event - the SWT event which triggered this action being run
      See Also:
    • 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.
    • isHandled

      public final boolean isHandled()
      Description copied from interface: IAction
      Returns whether this action is handled. In the default case, this is always true. However, if the action delegates some of its behaviour to some other object, then this method should answer whether such an object is currently available.
      Specified by:
      isHandled in interface IAction
      Overrides:
      isHandled in class Action
      Returns:
      true if all of the action's behaviour is available; false otherwise.
    • 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
      Parameters:
      checked - the new checked status
      See Also:
    • 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
      Parameters:
      listener - a help listener for this action
    • toString

      public final String toString()
      Returns a string representation of this action.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this action.
      Since:
      3.2