Class PartEventAction

  • All Implemented Interfaces:
    IAction, IPartListener
    Direct Known Subclasses:
    RetargetAction

    public abstract class PartEventAction
    extends Action
    implements IPartListener
    The abstract superclass for actions that listen to part activation and open/close events. This implementation tracks the active part (see getActivePart) and provides a convenient place to monitor part lifecycle events that could affect the availability of the action.

    Subclasses must implement the following IAction method:

    • run - to do the action's work

    Subclasses may extend any of the IPartListener methods if the action availablity needs to be recalculated:

    • partActivated
    • partDeactivated
    • partOpened
    • partClosed
    • partBroughtToTop

    Although this method implements the IPartListener interface, it does NOT register itself.

    • Constructor Detail

      • PartEventAction

        protected PartEventAction​(String text)
        Creates a new action with the given text.
        Parameters:
        text - the action's text, or null if there is no text
      • PartEventAction

        protected PartEventAction​(String text,
                                  int style)
        Creates a new action with the given text and style.
        Parameters:
        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

      • getActivePart

        public IWorkbenchPart getActivePart()
        Returns the currently active part in the workbench.
        Returns:
        currently active part in the workbench, or null if none
      • partClosed

        public void partClosed​(IWorkbenchPart part)
        The PartEventAction implementation of this IPartListener method clears the active part if it just closed. Subclasses may extend this method if action availability has to be recalculated.
        Specified by:
        partClosed in interface IPartListener
        Parameters:
        part - the part that was closed
        See Also:
        IWorkbenchPage.hideView(IViewPart)
      • partDeactivated

        public void partDeactivated​(IWorkbenchPart part)
        The PartEventAction implementation of this IPartListener method records that there is no active part. Subclasses may extend this method if action availability has to be recalculated.
        Specified by:
        partDeactivated in interface IPartListener
        Parameters:
        part - the part that was deactivated
        See Also:
        IWorkbenchPage.activate(IWorkbenchPart)
      • partOpened

        public void partOpened​(IWorkbenchPart part)
        The PartEventAction implementation of this IPartListener method does nothing. Subclasses should extend this method if action availability has to be recalculated.
        Specified by:
        partOpened in interface IPartListener
        Parameters:
        part - the part that was opened
        See Also:
        IWorkbenchPage.showView(String)