Search in sources :

Example 26 with IMenuListener

use of org.eclipse.jface.action.IMenuListener in project dbeaver by serge-rider.

the class Spreadsheet method hookContextMenu.

private void hookContextMenu() {
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(this);
    menuMgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            // Let controller to provide it's own menu items
            GridPos focusPos = getFocusPos();
            presentation.fillContextMenu(manager, focusPos.col >= 0 && focusPos.col < columnElements.length ? columnElements[focusPos.col] : null, focusPos.row >= 0 && focusPos.row < rowElements.length ? rowElements[focusPos.row] : null);
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    super.setMenu(menu);
    site.registerContextMenu(menuMgr, null);
}
Also used : MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) IMenuListener(org.eclipse.jface.action.IMenuListener)

Example 27 with IMenuListener

use of org.eclipse.jface.action.IMenuListener in project dbeaver by serge-rider.

the class AbstractPresentation method registerContextMenu.

protected void registerContextMenu() {
    // Register context menu
    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(getControl());
    menuMgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            controller.fillContextMenu(manager, getCurrentAttribute(), controller.getCurrentRow());
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    getControl().setMenu(menu);
    controller.getSite().registerContextMenu(menuMgr, null);
}
Also used : MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu) IMenuManager(org.eclipse.jface.action.IMenuManager) IMenuListener(org.eclipse.jface.action.IMenuListener)

Example 28 with IMenuListener

use of org.eclipse.jface.action.IMenuListener in project cubrid-manager by CUBRID.

the class SQLEditorComposite method createContextMenu.

protected void createContextMenu() {
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            IAction copyAction = ActionManager.getInstance().getAction(CopyAction.ID);
            if (copyAction != null) {
                manager.add(copyAction);
            }
            IAction cutAction = ActionManager.getInstance().getAction(CutAction.ID);
            if (cutAction != null) {
                manager.add(cutAction);
            }
            IAction pasteAction = ActionManager.getInstance().getAction(PasteAction.ID);
            if (pasteAction != null) {
                manager.add(pasteAction);
            }
            manager.add(new Separator());
            IAction findAction = ActionManager.getInstance().getAction(FindReplaceAction.ID);
            if (findAction != null) {
                manager.add(findAction);
            }
            manager.add(new Separator());
            IAction runQueryAction = ActionManager.getInstance().getAction(RunQueryAction.ID);
            if (runQueryAction != null) {
                manager.add(runQueryAction);
            }
            IAction runSqlmapQueryAction = ActionManager.getInstance().getAction(ParseSqlmapQueryAction.ID);
            if (runSqlmapQueryAction != null) {
                manager.add(runSqlmapQueryAction);
            }
            IAction runQueryPlanAction = ActionManager.getInstance().getAction(RunQueryPlanAction.ID);
            if (runQueryPlanAction != null) {
                manager.add(runQueryPlanAction);
            }
            IAction favoriteQueryAction = ActionManager.getInstance().getAction(AddQueryToFavoriteAction.ID);
            if (favoriteQueryAction != null) {
                manager.add(favoriteQueryAction);
            }
            manager.add(new Separator());
            IAction showSchemaViewAction = ActionManager.getInstance().getAction(ShowSchemaAction.ID);
            if (showSchemaViewAction != null) {
                manager.add(showSchemaViewAction);
            }
            manager.add(new Separator());
            IAction queryTunerRunAction = ActionManager.getInstance().getAction(QueryTunerRunAction.ID);
            manager.add(queryTunerRunAction);
            manager.add(new Separator());
            IAction createPhpCodeAction = ActionManager.getInstance().getAction(CreateSqlPhpCodeAction.ID);
            if (createPhpCodeAction != null) {
                manager.add(createPhpCodeAction);
            }
            IAction createJavaCodeAction = ActionManager.getInstance().getAction(CreateSqlJavaCodeAction.ID);
            if (createJavaCodeAction != null) {
                manager.add(createJavaCodeAction);
            }
            manager.add(new Separator());
            IAction reformatColumnsAliasAction = ActionManager.getInstance().getAction(ReformatColumnsAliasAction.ID);
            if (reformatColumnsAliasAction != null) {
                manager.add(reformatColumnsAliasAction);
            }
        }
    });
    Menu contextMenu = menuManager.createContextMenu(text);
    text.setMenu(contextMenu);
}
Also used : IAction(org.eclipse.jface.action.IAction) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu) IMenuListener(org.eclipse.jface.action.IMenuListener) Separator(org.eclipse.jface.action.Separator)

Example 29 with IMenuListener

use of org.eclipse.jface.action.IMenuListener in project cubrid-manager by CUBRID.

the class CubridNavigatorView method createPartControl.

/**
	 * Create the part control
	 *
	 * @param parent Composite
	 */
public void createPartControl(Composite parent) {
    ViewForm viewForm = new ViewForm(parent, SWT.NONE);
    viewForm.setLayout(new GridLayout());
    tv = new TreeViewer(viewForm, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    tv.setFilters(NodeFilterManager.getInstance().getViewerFilter());
    //create the navigator
    createNavigator();
    //get the isShowGroup configuration
    isShowGroup = savedIsShowGroup();
    //set the tree view's input.
    setTreeInput();
    toolTip = new ToolTip(tv.getTree().getShell(), SWT.BALLOON);
    toolTip.setAutoHide(true);
    //Create the context menu
    MenuManager contextMenuManager = new MenuManager("#PopupMenu", "navigatorContextMenu");
    contextMenuManager.setRemoveAllWhenShown(true);
    contextMenuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            buildPopupMenu(manager);
        }
    });
    Menu contextMenu = contextMenuManager.createContextMenu(tv.getControl());
    tv.getControl().setMenu(contextMenu);
    // register the context menu for providing extension by extension point
    IWorkbenchPartSite site = getSite();
    site.registerContextMenu(contextMenuManager, tv);
    site.setSelectionProvider(tv);
    //add the select the object text composite to top left of toolbar
    ToolBar toolBar = new ToolBar(viewForm, SWT.FLAT);
    ToolBarManager toolBarManager = new ToolBarManager(toolBar);
    SelectTreeObjContrItem textContrItem = new SelectTreeObjContrItem(tv);
    toolBarManager.add(textContrItem);
    toolBarManager.update(true);
    viewForm.setContent(tv.getControl());
    viewForm.setTopLeft(toolBar);
    //add the other actions to the top right of toolbar
    toolBar = new ToolBar(viewForm, SWT.FLAT | SWT.CENTER);
    toolBarManager = new ToolBarManager(toolBar);
    buildToolBar(toolBarManager);
    toolBarManager.update(true);
    viewForm.setTopRight(toolBar);
    //Add the actions to view menu bar, you can add them by extension point or code define
    IActionBars actionBar = getViewSite().getActionBars();
    final IMenuManager menuManager = actionBar.getMenuManager();
    menuManager.addMenuListener(new IMenuListener2() {

        //reserve these actions by code define,these codes rebuild every time.
        //hence when hide, remove them not including these actions by extension point
        private IMenuManager lastMenuManager = new MenuManager();

        public void menuAboutToShow(IMenuManager manager) {
            lastMenuManager.removeAll();
            //build the code defined actions
            buildViewMenu(lastMenuManager);
            for (IContributionItem item : lastMenuManager.getItems()) {
                manager.add(item);
            }
        }

        public void menuAboutToHide(IMenuManager manager) {
            for (IContributionItem item : lastMenuManager.getItems()) {
                manager.remove(item);
            }
        }
    });
    menuManager.add(new Separator());
    activeContext();
    addListener();
    setFocus();
}
Also used : ToolTip(org.eclipse.swt.widgets.ToolTip) TreeViewer(org.eclipse.jface.viewers.TreeViewer) IContributionItem(org.eclipse.jface.action.IContributionItem) IMenuListener(org.eclipse.jface.action.IMenuListener) IToolBarManager(org.eclipse.jface.action.IToolBarManager) ToolBarManager(org.eclipse.jface.action.ToolBarManager) IWorkbenchPartSite(org.eclipse.ui.IWorkbenchPartSite) ViewForm(org.eclipse.swt.custom.ViewForm) GridLayout(org.eclipse.swt.layout.GridLayout) IMenuListener2(org.eclipse.jface.action.IMenuListener2) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) ToolBar(org.eclipse.swt.widgets.ToolBar) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu) IActionBars(org.eclipse.ui.IActionBars) Separator(org.eclipse.jface.action.Separator)

Example 30 with IMenuListener

use of org.eclipse.jface.action.IMenuListener in project cubrid-manager by CUBRID.

the class CommonUITool method registerCopyPasteContextMenu.

/**
	 *
	 * Register context menu for styled text
	 *
	 * @param text StyledText
	 * @param isEditable boolean
	 */
public static void registerCopyPasteContextMenu(final StyledText text, final boolean isEditable, final boolean isCopiable) {
    text.addFocusListener(new FocusAdapter() {

        @Override
        public void focusGained(FocusEvent event) {
            ActionManager.getInstance().changeFocusProvider(text);
        }
    });
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            if (isCopiable) {
                IAction copyAction = ActionManager.getInstance().getAction(CopyAction.ID);
                if (copyAction instanceof CopyAction) {
                    manager.add(copyAction);
                    if (!copyAction.isEnabled()) {
                        FocusAction.changeActionStatus(copyAction, text);
                    }
                }
                IAction copyAllAction = ActionManager.getInstance().getAction(CopyAllAction.ID);
                if (copyAllAction instanceof CopyAllAction) {
                    manager.add(copyAllAction);
                    if (!copyAllAction.isEnabled()) {
                        FocusAction.changeActionStatus(copyAllAction, text);
                    }
                }
            }
            if (!isEditable) {
                return;
            }
            IAction pasteAction = ActionManager.getInstance().getAction(PasteAction.ID);
            if (pasteAction instanceof PasteAction) {
                manager.add(pasteAction);
                if (!pasteAction.isEnabled()) {
                    FocusAction.changeActionStatus(pasteAction, text);
                }
            }
        }
    });
    Menu contextMenu = menuManager.createContextMenu(text);
    text.setMenu(contextMenu);
    text.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            IAction copyAction = ActionManager.getInstance().getAction(CopyAction.ID);
            if (!copyAction.isEnabled()) {
                FocusAction.changeActionStatus(copyAction, text);
            }
            IAction pasteAction = ActionManager.getInstance().getAction(PasteAction.ID);
            if (pasteAction != null && !pasteAction.isEnabled()) {
                FocusAction.changeActionStatus(pasteAction, text);
            }
        }
    });
}
Also used : FocusAdapter(org.eclipse.swt.events.FocusAdapter) IAction(org.eclipse.jface.action.IAction) CopyAction(com.cubrid.common.ui.query.action.CopyAction) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) CopyAllAction(com.cubrid.common.ui.query.action.CopyAllAction) FocusEvent(org.eclipse.swt.events.FocusEvent) IMenuListener(org.eclipse.jface.action.IMenuListener) PasteAction(com.cubrid.common.ui.query.action.PasteAction) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu)

Aggregations

IMenuListener (org.eclipse.jface.action.IMenuListener)48 IMenuManager (org.eclipse.jface.action.IMenuManager)48 MenuManager (org.eclipse.jface.action.MenuManager)47 Menu (org.eclipse.swt.widgets.Menu)43 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)12 Separator (org.eclipse.jface.action.Separator)9 GridData (org.eclipse.swt.layout.GridData)8 Action (org.eclipse.jface.action.Action)6 GridLayout (org.eclipse.swt.layout.GridLayout)6 IAction (org.eclipse.jface.action.IAction)5 TreeViewer (org.eclipse.jface.viewers.TreeViewer)5 FocusEvent (org.eclipse.swt.events.FocusEvent)5 Composite (org.eclipse.swt.widgets.Composite)5 List (java.util.List)4 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)4 TreeColumn (org.eclipse.swt.widgets.TreeColumn)4 TableViewer (org.eclipse.jface.viewers.TableViewer)3 ITreeContextualAction (org.talend.commons.ui.swt.actions.ITreeContextualAction)3 ConfigureColumnsAction (org.talend.designer.runtime.visualization.internal.actions.ConfigureColumnsAction)3 CopyAction (org.talend.designer.runtime.visualization.internal.actions.CopyAction)3