Runtime

## org.eclipse.gmf.runtime.diagram.ui.menus
Class PopupMenu

    java.lang.Object
      org.eclipse.gmf.runtime.diagram.ui.menus.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
`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
`PopupMenu(java.util.List aContent, ILabelProvider aLabelProvider)` Creates a new `PopupMenu`.

Method Summary
`protected void` `createMenuItems(Menu parentMenu, PopupMenu rootMenu, java.util.List resultThusFar)` Creates the menu items based on the content list.
`protected java.util.List` `getContent()` Gets the content.
`protected 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(ILabelProvider aLabelProvider)` Sets the labelProvider.
`protected void` `setResult(java.util.List aResultList)` Sets the resultList.
`boolean` `show(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,
                     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(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(Menu parentMenu,
                                   PopupMenu rootMenu,
                                   java.util.List 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 ILabelProvider getLabelProvider()

  Gets the labelProvider.

  Returns:
    Returns the labelProvider.

### setLabelProvider

    public void setLabelProvider(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 aResultList)

  Sets the resultList.

  Parameters:
    `aResultList` - The resultList to set.

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.