Runtime

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

java.lang.Object
  extended byorg.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.