Class PopupMenu


  • public class PopupMenu
    extends java.lang.Object
    A simple pop-up menu with a list from which the user can select one item.

    The show() method returns false if the user cancelled the gesture or clicked outside the popup.

    The getResult() method returns the result which is the object from the content list that the user selected, or in the case of cascading menus, a list of the results from each popup.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PopupMenu.CascadingMenu
      An instance of this class can be created to add a submenu to a menu item in a PopupMenu.
    • Constructor Summary

      Constructors 
      Constructor Description
      PopupMenu​(java.util.List<?> aContent, org.eclipse.jface.viewers.ILabelProvider aLabelProvider)
      Creates a new PopupMenu.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void createMenuItems​(org.eclipse.swt.widgets.Menu parentMenu, PopupMenu rootMenu, java.util.List<java.lang.Object> resultThusFar)
      Creates the menu items based on the content list.
      protected java.util.List<?> getContent()
      Gets the content.
      protected org.eclipse.jface.viewers.ILabelProvider getLabelProvider()
      Gets the labelProvider.
      java.lang.Object getResult()
      Gets the result which is the object from the content list that the user selected, or in the case of cascading menus, a list of the results from each popup.
      void setContent​(java.util.List<?> aContent)
      Sets the content.
      void setLabelProvider​(org.eclipse.jface.viewers.ILabelProvider aLabelProvider)
      Sets the labelProvider.
      protected void setResult​(java.util.List<java.lang.Object> aResultList)
      Sets the resultList.
      boolean show​(org.eclipse.swt.widgets.Control parent)
      Shows the popup menu and sets the resultList selected by the user.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PopupMenu

        public PopupMenu​(java.util.List<?> aContent,
                         org.eclipse.jface.viewers.ILabelProvider aLabelProvider)
        Creates a new PopupMenu.
        Parameters:
        aContent - the content for the menu, each object in the list represents a menu item
        aLabelProvider - the label provider used to provide the text for each object in the content list
    • Method Detail

      • show

        public boolean show​(org.eclipse.swt.widgets.Control parent)
        Shows the popup menu and sets the resultList selected by the user.
        Parameters:
        parent - menu will be shown in this parent Control
        Returns:
        true if this succeeded, false otherwise (e.g. if the user cancelled the gesture).
      • createMenuItems

        protected void createMenuItems​(org.eclipse.swt.widgets.Menu parentMenu,
                                       PopupMenu rootMenu,
                                       java.util.List<java.lang.Object> resultThusFar)
        Creates the menu items based on the content list.
        Parameters:
        parentMenu - the parent Menu that the menu items will be created in
        rootMenu - the root level Menu
        resultThusFar - List of content objects, e.g. CascadingMenu objects
      • getContent

        protected java.util.List<?> getContent()
        Gets the content.
        Returns:
        Returns the content.
      • setContent

        public void setContent​(java.util.List<?> aContent)
        Sets the content.
        Parameters:
        aContent - The content of this menu. Each entry in the list becomes a menu item.
      • getLabelProvider

        protected org.eclipse.jface.viewers.ILabelProvider getLabelProvider()
        Gets the labelProvider.
        Returns:
        Returns the labelProvider.
      • setLabelProvider

        public void setLabelProvider​(org.eclipse.jface.viewers.ILabelProvider aLabelProvider)
        Sets the labelProvider.
        Parameters:
        aLabelProvider - Provides the text and icon for each menu item.
      • getResult

        public java.lang.Object getResult()
        Gets the result which is the object from the content list that the user selected, or in the case of cascading menus, a list of the results from each popup.
        Returns:
        Returns the resultList.
      • setResult

        protected void setResult​(java.util.List<java.lang.Object> aResultList)
        Sets the resultList.
        Parameters:
        aResultList - The resultList to set.