org.eclipse.gef

## Class ContextMenuProvider

- java.lang.Object
- - org.eclipse.jface.action.ContributionManager
  - - org.eclipse.jface.action.MenuManager
    - - org.eclipse.gef.ContextMenuProvider

All Implemented Interfaces:
  IContributionItem, IContributionManager, IMenuListener, IMenuManager

Direct Known Subclasses:
  PaletteContextMenuProvider

    public abstract class ContextMenuProvider
    extends MenuManager
    implements IMenuListener

Extends MenuManager to allow populating the menu directly from the manager itself. Using this class is no different than using a standalone `MenuManager`, and adding a menuAboutToShow listener.

### Field Summary

### Fields inherited from class org.eclipse.jface.action.MenuManager

`visible`

### Constructor Summary

Constructors
Constructor and Description
`ContextMenuProvider(EditPartViewer viewer)` Constructs a context menu for the specified EditPartViewer.

### Method Summary

Methods
`abstract void` `buildContextMenu(IMenuManager menu)` Called when the menu is about to show.
`protected EditPartViewer` `getViewer()` Returns the EditPartViewer
`void` `menuAboutToShow(IMenuManager menu)`
`protected void` `setViewer(EditPartViewer viewer)` Sets the editpart viewer.

### Methods inherited from class org.eclipse.jface.action.MenuManager

`addMenuListener, createContextMenu, createMenuBar, createMenuBar, dispose, doItemFill, fill, fill, fill, fill, findMenuUsingPath, findUsingPath, getId, getImageDescriptor, getMenu, getMenuItem, getMenuItemCount, getMenuItems, getMenuText, getOverrides, getParent, getRemoveAllWhenShown, isDynamic, isEnabled, isGroupMarker, isSeparator, isSubstituteFor, isVisible, markDirty, menuExist, removeMenuListener, saveWidgetState, setActionDefinitionId, setImageDescriptor, setMenuText, setOverrides, setParent, setRemoveAllWhenShown, setVisible, toString, update, update, update, update, updateAll`

### Methods inherited from class org.eclipse.jface.action.ContributionManager

`add, add, allowItem, appendToGroup, appendToGroup, dumpStatistics, find, getItems, getSize, hasDynamicItems, indexOf, indexOf, insert, insertAfter, insertAfter, insertBefore, insertBefore, internalSetItems, isDirty, isEmpty, itemAdded, itemRemoved, prependToGroup, prependToGroup, remove, remove, removeAll, replaceItem, setDirty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.jface.action.IContributionManager

`add, add, appendToGroup, appendToGroup, find, getItems, insertAfter, insertAfter, insertBefore, insertBefore, isDirty, isEmpty, prependToGroup, prependToGroup, remove, remove, removeAll`

### Methods inherited from interface org.eclipse.jface.action.IContributionItem

`isDirty`

### Constructor Detail

#### ContextMenuProvider

    public ContextMenuProvider(EditPartViewer viewer)

Constructs a context menu for the specified EditPartViewer.

Parameters:
  `viewer` - the editpart viewer

### Method Detail

#### buildContextMenu

    public abstract void buildContextMenu(IMenuManager menu)

Called when the menu is about to show. Subclasses must implement this method to populate the menu each time it is shown.

Parameters:
  `menu` - this parameter is actually `this` object

#### getViewer

    protected EditPartViewer getViewer()

Returns the EditPartViewer

Returns:
  the viewer

#### menuAboutToShow

    public void menuAboutToShow(IMenuManager menu)

Specified by:
  `menuAboutToShow` in interface `IMenuListener`
See Also:
  `IMenuListener.menuAboutToShow(IMenuManager)`

#### setViewer

    protected void setViewer(EditPartViewer viewer)

Sets the editpart viewer. Called during construction.

Parameters:
  `viewer` - the viewer