Package org.eclipse.graphiti.ui.internal.util.ui

# Class PopupMenu

java.lang.Object
org.eclipse.graphiti.ui.internal.util.ui.PopupMenu

public class PopupMenu extends 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(List<?> aContent, org.eclipse.jface.viewers.ILabelProvider aLabelProvider)`
Creates a new `PopupMenu`.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`createMenuItems(org.eclipse.swt.widgets.Menu parentMenu, PopupMenu rootMenu, List<Object> resultThusFar)`
Creates the menu items based on the content list.
`protected List<?>`
`getContent()`
Gets the content.
`protected org.eclipse.jface.viewers.ILabelProvider`
`getLabelProvider()`
Gets the labelProvider.
`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(List<?> aContent)`
Sets the content.
`void`
`setLabelProvider(org.eclipse.jface.viewers.ILabelProvider aLabelProvider)`
Sets the labelProvider.
`protected void`
`setResult(List<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 Details

### PopupMenu

public PopupMenu(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 Details

### 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, List<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 List<?> getContent()
Gets the content.

Returns:
  Returns the content.

### setContent

public void setContent(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 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(List<Object> aResultList)
Sets the resultList.

Parameters:
  `aResultList` - The resultList to set.