Example usage for org.eclipse.jface.action IMenuListener menuAboutToShow

List of usage examples for org.eclipse.jface.action IMenuListener menuAboutToShow

Introduction

In this page you can find the example usage for org.eclipse.jface.action IMenuListener menuAboutToShow.

Prototype

public void menuAboutToShow(IMenuManager manager);

Source Link

Document

Notifies this listener that the menu is about to be shown by the given menu manager.

Usage

From source file:gov.nasa.ensemble.common.ui.WidgetUtils.java

License:Open Source License

/**
 * Convenience method for creating a context menu.  Will log errors from
 * the menu listener for easier debugging.
 * //  w  w  w.  j av a  2s . co m
 * @param control
 * @param listener
 */
public static final MenuManager createContextMenu(Control control, final IMenuListener listener) {
    // Create menu manager.
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager mgr) {
            try {
                listener.menuAboutToShow(mgr);
            } catch (RuntimeException e) {
                LogUtil.error("menuAboutToShow", e);
                throw e;
            }
        }
    });
    // Create menu.
    Menu menu = menuManager.createContextMenu(control);
    control.setMenu(menu);
    return menuManager;
}

From source file:org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.java

License:Open Source License

protected IMenuListener createContextMenuListener() {
    final IMenuListener superListener = super.createContextMenuListener();
    return new IMenuListener() {
        public void menuAboutToShow(IMenuManager menu) {
            if (!getOverviewRulerContextMenuId().equals(menu.getId())) {
                superListener.menuAboutToShow(menu);
                return;
            }//from   www .  j a v a  2  s. c  om
            setFocus();
            overviewRulerContextMenuAboutToShow(menu);
        }
    };
}