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

      • 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:
        MenuItem.getAccelerator()
      • 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.
      • 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:
        IAction.CHECKED
      • 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