Class PerspectiveMenu

java.lang.Object
org.eclipse.jface.action.ContributionItem
org.eclipse.ui.actions.PerspectiveMenu
All Implemented Interfaces:
IContributionItem
Direct Known Subclasses:
ChangeToPerspectiveMenu, OpenNewPageMenu, OpenNewWindowMenu, OpenPerspectiveMenu

public abstract class PerspectiveMenu extends ContributionItem
A menu for perspective selection.

A PerspectiveMenu is used to populate a menu with perspective shortcut items. If the user selects one of these items an action is performed for the selected perspective.

The visible perspective items within the menu are dynamic and reflect the available set generated by each subclass. The default available set consists of the perspective shortcut list of the current perspective.

This class is abstract. Subclasses must implement the run method, which performs a specialized action for the selected perspective.

  • Field Details

  • Constructor Details

    • PerspectiveMenu

      public PerspectiveMenu(IWorkbenchWindow window, String id)
      Constructs a new instance of PerspectiveMenu.
      Parameters:
      window - the window containing this menu
      id - the menu id
  • Method Details

    • fill

      public void fill(Menu menu, int index)
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method does nothing. Subclasses may override.
      Specified by:
      fill in interface IContributionItem
      Overrides:
      fill in class ContributionItem
      Parameters:
      menu - the parent menu
      index - the index where the controls are inserted, or -1 to insert at the end
    • getPerspectiveItems

      protected ArrayList<IPerspectiveDescriptor> getPerspectiveItems()
      Returns the available list of perspectives to display in the menu.

      By default, the list contains the perspective shortcuts for the current perspective.

      Subclasses can override this method to return a different list.

      Returns:
      an ArrayList of perspective items IPerspectiveDescriptor
    • getShowActive

      protected boolean getShowActive()
      Returns whether the menu item representing the active perspective will have a check mark.
      Returns:
      true if a check mark is shown, false otherwise
    • getWindow

      protected IWorkbenchWindow getWindow()
      Returns the window for this menu.
      Returns:
      the window
    • isDirty

      public boolean isDirty()
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method returns false. Subclasses may override.
      Specified by:
      isDirty in interface IContributionItem
      Overrides:
      isDirty in class ContributionItem
      Returns:
      true if this item is dirty
    • isDynamic

      public boolean isDynamic()
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method returns false. Subclasses may override.
      Specified by:
      isDynamic in interface IContributionItem
      Overrides:
      isDynamic in class ContributionItem
      Returns:
      true if this item is dynamic, and false for normal items
    • run

      protected abstract void run(IPerspectiveDescriptor desc)
      Runs an action for a particular perspective. The behavior of the action is defined by the subclass.
      Parameters:
      desc - the selected perspective
    • run

      protected void run(IPerspectiveDescriptor desc, SelectionEvent event)
      Runs an action for a particular perspective. The behavior of the action is defined by the subclass. By default, this just calls run(IPerspectiveDescriptor).
      Parameters:
      desc - the selected perspective
      event - SelectionEvent - the event send along with the selection callback
    • showActive

      protected void showActive(boolean b)
      Sets the showActive flag. If showActive == true then the active perspective is hilighted with a check mark.
      Parameters:
      b - the new showActive flag
    • dispose

      public void dispose()
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method does nothing. Subclasses may override.
      Specified by:
      dispose in interface IContributionItem
      Overrides:
      dispose in class ContributionItem