Class PartEventAction

All Implemented Interfaces:
IAction, IPartListener
Direct Known Subclasses:
PageEventAction, 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 Details

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

    • getActivePart

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

      public void partActivated(IWorkbenchPart part)
      The PartEventAction implementation of this IPartListener method records that the given part is active. Subclasses may extend this method if action availability has to be recalculated.
      Specified by:
      partActivated in interface IPartListener
      Parameters:
      part - the part that was activated
      See Also:
    • partBroughtToTop

      public void partBroughtToTop(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:
      partBroughtToTop in interface IPartListener
      Parameters:
      part - the part that was surfaced
      See Also:
    • 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:
    • 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:
    • 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: