Interface IMenuManager

  • All Superinterfaces:
    IContributionItem, IContributionManager
    All Known Implementing Classes:
    MenuManager, SubMenuManager

    public interface IMenuManager
    extends IContributionManager, IContributionItem
    The IMenuManager interface provides protocol for managing contributions to a menu bar and its sub menus. An IMenuManager is also an IContributionItem, allowing sub-menus to be nested in parent menus.

    This interface is internal to the framework; it should not be implemented outside the framework.

    This package provides a concrete menu manager implementation, MenuManager.

    Restriction:
    This interface is not intended to be implemented by clients.
    • Method Detail

      • addMenuListener

        void addMenuListener​(IMenuListener listener)
        Adds a menu listener to this menu. Has no effect if an identical listener is already registered.
        Parameters:
        listener - a menu listener
      • findMenuUsingPath

        IMenuManager findMenuUsingPath​(String path)
        Finds the manager for the menu at the given path. A path consists of contribution item ids separated by the separator character. The path separator character is '/'.

        Convenience for findUsingPath(path) which extracts an IMenuManager if possible.

        Parameters:
        path - the path string
        Returns:
        the menu contribution item, or null if there is no such contribution item or if the item does not have an associated menu manager
      • findUsingPath

        IContributionItem findUsingPath​(String path)
        Finds the contribution item at the given path. A path consists of contribution item ids separated by the separator character. The path separator character is '/'.
        Parameters:
        path - the path string
        Returns:
        the contribution item, or null if there is no such contribution item
      • getRemoveAllWhenShown

        boolean getRemoveAllWhenShown()
        Returns whether all items should be removed when the menu is about to show, but before notifying menu listeners. The default is false.
        Returns:
        true if all items should be removed when shown, false if not
      • isEnabled

        boolean isEnabled()
        Returns whether this menu should be enabled or not.
        Specified by:
        isEnabled in interface IContributionItem
        Returns:
        true if enabled, and false if disabled
      • removeMenuListener

        void removeMenuListener​(IMenuListener listener)
        Removes the given menu listener from this menu. Has no effect if an identical listener is not registered.
        Parameters:
        listener - the menu listener
      • setRemoveAllWhenShown

        void setRemoveAllWhenShown​(boolean removeAll)
        Sets whether all items should be removed when the menu is about to show, but before notifying menu listeners.
        Parameters:
        removeAll - true if all items should be removed when shown, false if not
      • updateAll

        void updateAll​(boolean force)
        Incrementally builds the menu from the contribution items, and does so recursively for all submenus.
        Parameters:
        force - true means update even if not dirty, and false for normal incremental updating