Class ViewPluginAction

All Implemented Interfaces:
EventListener, IAction, ISelectionChangedListener, INullSelectionListener, IPluginContribution, ISelectionListener

public final class ViewPluginAction extends PartPluginAction
This class extends regular plugin action with the additional requirement that the delegate has to implement interface IViewActionDeelgate. This interface has one additional method (init) whose purpose is to initialize the delegate with the view part in which the action is intended to run.
  • Constructor Details

    • ViewPluginAction

      public ViewPluginAction(IConfigurationElement actionElement, IViewPart viewPart, String id, int style)
      This class adds the requirement that action delegates loaded on demand implement IViewActionDelegate
  • Method Details

    • validateDelegate

      protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException
      Description copied from class: PluginAction
      Validates the object is a delegate of the expected type. Subclasses can override to check for specific delegate types.

      Note: Calls to the object are not allowed during this method.

      Overrides:
      validateDelegate in class PluginAction
      Parameters:
      obj - a possible action delegate implementation
      Returns:
      the IActionDelegate implementation for the object
      Throws:
      WorkbenchException - if not of the expected delegate type
    • initDelegate

      protected void initDelegate()
      Description copied from class: PluginAction
      Initialize the action delegate by calling its lifecycle method. Subclasses may override but must call this implementation first.
      Overrides:
      initDelegate in class PluginAction
    • isOkToCreateDelegate

      public boolean isOkToCreateDelegate()
      Returns true if the view has been set The view may be null after the constructor is called and before the view is stored. We cannot create the delegate at that time.
      Overrides:
      isOkToCreateDelegate in class PluginAction
    • dispose

      public void dispose()
      Description copied from class: PluginAction
      Disposes this plugin action.
      Overrides:
      dispose in class PluginAction