List of usage examples for org.eclipse.jface.action IMenuManager findUsingPath
public IContributionItem findUsingPath(String path);
From source file:com.github.haixing_hu.swt.menu.MenuManagerEx.java
License:Open Source License
@Override public IContributionItem findUsingPath(String path) { String id = path;/* w w w. j a va 2 s .co m*/ String rest = null; final int separator = path.indexOf('/'); if (separator != -1) { id = path.substring(0, separator); rest = path.substring(separator + 1); } else { return super.find(path); } final IContributionItem item = super.find(id); if (item instanceof IMenuManager) { final IMenuManager manager = (IMenuManager) item; return manager.findUsingPath(rest); } return null; }
From source file:com.rcpcompany.uibindings.navigator.extests.editors.ShowViewTest.java
License:Open Source License
/** * Tests the menu and toolbar of the view *//* ww w . j a v a2 s . co m*/ @Test public void toolbar() { final BaseEditorView shopView = (BaseEditorView) myManager.openView(myShop1, false); final IActionBars actionBars = shopView.getViewSite().getActionBars(); /* * Items of the menu */ final IMenuManager menu = actionBars.getMenuManager(); menu.updateAll(true); menu.findUsingPath(""); final IToolBarManager toolBar = actionBars.getToolBarManager(); }
From source file:net.refractions.udig.internal.ui.operations.OperationMenuFactory.java
License:Open Source License
/** * TODO summary sentence for addActionToMenu ... * //from w w w .java 2s . c o m * @param menuBar * @param action */ private void addActionToMenu(IMenuManager menuBar, OpAction action) { if (action.getMenuPath() != null) try { String[] paths = action.getMenuPath().split("/"); //$NON-NLS-1$ IMenuManager manager = menuBar.findMenuUsingPath(IWorkbenchActionConstants.MB_ADDITIONS); if (manager == null) { manager = menuBar; } String markerID = null; for (String path : paths) { markerID = null; IContributionItem item = manager.findUsingPath(path); if (item == null) { UiPlugin.log(action.getMenuPath() + " is not a valid menuPath", null); //$NON-NLS-1$ break; } if (item instanceof IMenuManager) { manager = (IMenuManager) item; } else if (item.isGroupMarker()) { markerID = item.getId(); } else if (item instanceof SubContributionItem) { item = ((SubContributionItem) item).getInnerItem(); if (item instanceof IMenuManager) { manager = (IMenuManager) item; } else if (item.isGroupMarker()) { markerID = item.getId(); } } } if (manager != null) { if (markerID != null) manager.appendToGroup(markerID, action); else { manager.add(action); } } else { UiPlugin.log(action.getMenuPath() + " is not a valid menuPath", null); //$NON-NLS-1$ } } catch (Exception e) { UiPlugin.log("Error adding operation to menu", e); //$NON-NLS-1$ } }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
/** * @param menuBar// w w w.j a v a2 s. c o m * @param window The window that contains this menu */ public void fillMenuBar(IMenuManager menuBar, IWorkbenchWindow window) { IMenuManager fileMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_FILE); if (fileMenu == null) { fileMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_file, IWorkbenchActionConstants.M_FILE); if (menuBar.getItems().length > 0) { menuBar.insertBefore(menuBar.getItems()[0].getId(), fileMenu); } else { menuBar.add(fileMenu); } } IMenuManager editMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); if (editMenu == null) { editMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_edit, IWorkbenchActionConstants.M_EDIT); menuBar.insertAfter(IWorkbenchActionConstants.M_FILE, editMenu); } if (menuBar.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) { menuBar.insertAfter(IWorkbenchActionConstants.M_EDIT, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); } IMenuManager windowMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_WINDOW); if (windowMenu == null) { windowMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_window, IWorkbenchActionConstants.M_WINDOW); menuBar.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, windowMenu); } IMenuManager helpMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_HELP); if (helpMenu == null) { helpMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_help, IWorkbenchActionConstants.M_HELP); menuBar.insertAfter(IWorkbenchActionConstants.M_WINDOW, helpMenu); } fillFileMenu(window, fileMenu); fillEditMenu(window, editMenu); fillWindowMenu(window, windowMenu); fillHelpMenu(window, helpMenu); UiPlugin.getDefault().getOperationMenuFactory().setWindow(window); menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, UiPlugin.getDefault().getOperationMenuFactory().getMenu()); menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createNavigationMenu()); menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createLayerMenu()); menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createToolMenu()); UiPlugin.getDefault().getOperationMenuFactory().contributeActions(menuBar); }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
private void setupFileMenuStructure(IMenuManager fileMenu) { if (fileMenu.findUsingPath(IWorkbenchActionConstants.FILE_START) == null) { if (fileMenu.getItems().length > 0) { fileMenu.insertBefore(fileMenu.getItems()[0].getId(), new GroupMarker(Constants.FILE_START)); } else {/*from ww w .j av a 2s .c o m*/ fileMenu.add(new GroupMarker(Constants.FILE_START)); } } if (fileMenu.findUsingPath(Constants.OPEN_EXT) == null) { fileMenu.insertAfter(Constants.FILE_START, new GroupMarker(Constants.OPEN_EXT)); } if (fileMenu.findUsingPath(Constants.CLOSE_EXT) == null) { fileMenu.insertAfter(Constants.OPEN_EXT, new GroupMarker(Constants.CLOSE_EXT)); } if (fileMenu.findUsingPath(Constants.SAVE_EXT) == null) { fileMenu.insertAfter(Constants.CLOSE_EXT, new GroupMarker(Constants.SAVE_EXT)); } if (fileMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) { fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); } if (fileMenu.findUsingPath(Constants.FILE_END) == null) { fileMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new GroupMarker(Constants.FILE_END)); } fileMenu.insertAfter(Constants.OPEN_EXT, new Separator()); fileMenu.insertAfter(Constants.CLOSE_EXT, new Separator()); fileMenu.insertAfter(Constants.SAVE_EXT, new Separator()); fileMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new Separator()); }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
private void fillFileMenu(IWorkbenchWindow window, IMenuManager fileMenu) { setupFileMenuStructure(fileMenu);//from ww w .jav a2s . c o m IMenuManager newMenu = fileMenu.findMenuUsingPath(ActionFactory.NEW.getId()); if (newMenu == null) { newMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_new, ActionFactory.NEW.getId()); fileMenu.insertAfter(Constants.FILE_START, newMenu); } newMenu.add(new GroupMarker(Constants.NEW_START)); List<IConfigurationElement> list = ExtensionPointList .getExtensionPointList(NewObjectContribution.NEW_ACTION_ID); Collections.sort(list, new NewObjectDelegateComparator()); for (IConfigurationElement element : list) { final NewObjectDelegate item = new NewObjectDelegate(element, window); Action newAction = new Action() { @Override public void runWithEvent(org.eclipse.swt.widgets.Event event) { item.runAction(); } }; newAction.setText(item.text); newAction.setImageDescriptor(item.icon); newMenu.appendToGroup(Constants.NEW_START, newAction); } newMenu.add(ContributionItemFactory.NEW_WIZARD_SHORTLIST.create(window)); if (fileMenu.findUsingPath(ActionFactory.CLOSE.getId()) == null) { IAction close = ActionFactory.CLOSE.create(window); fileMenu.insertAfter(Constants.CLOSE_EXT, close); } if (fileMenu.findUsingPath(ActionFactory.CLOSE_ALL.getId()) == null) { IAction closeAll = ActionFactory.CLOSE_ALL.create(window); fileMenu.insertAfter(ActionFactory.CLOSE.getId(), closeAll); } if (fileMenu.findUsingPath(ActionFactory.SAVE.getId()) == null) { IAction save = ActionFactory.SAVE.create(window); fileMenu.insertBefore(Constants.SAVE_EXT, save); } if (fileMenu.findUsingPath(ActionFactory.SAVE_ALL.getId()) == null) { IAction saveAll = ActionFactory.SAVE_ALL.create(window); fileMenu.insertBefore(Constants.SAVE_EXT, saveAll); } //fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(Constants.REVERT_EXT)); fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(Constants.COMMIT_EXT)); fileMenu.insertBefore(Constants.FILE_END, new GroupMarker(Constants.RENAME_EXT)); fileMenu.insertAfter(Constants.RENAME_EXT, new Separator()); if (fileMenu.findUsingPath(ActionFactory.REFRESH.getId()) == null) { fileMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, new GroupMarker(ActionFactory.REFRESH.getId())); } if (fileMenu.findUsingPath(ActionFactory.IMPORT.getId()) == null) { IAction _import = ActionFactory.IMPORT.create(window); fileMenu.insertBefore(Constants.FILE_END, _import); fileMenu.insertAfter(ActionFactory.IMPORT.getId(), new Separator()); } if (fileMenu.findUsingPath(ActionFactory.EXPORT.getId()) == null) { IAction _export = ActionFactory.EXPORT.create(window); fileMenu.insertBefore(Constants.FILE_END, _export); fileMenu.insertAfter(ActionFactory.EXPORT.getId(), new Separator()); } fileMenu.insertBefore(Constants.FILE_END, new GroupMarker(Constants.CONFIG_EXT)); fileMenu.insertAfter(Constants.CONFIG_EXT, new Separator()); if (fileMenu.findUsingPath(ActionFactory.QUIT.getId()) == null) { IAction exit = ActionFactory.QUIT.create(window); fileMenu.insertAfter(Constants.FILE_END, exit); } }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
private void fillEditMenu(IWorkbenchWindow window, IMenuManager editMenu) { if (editMenu.findUsingPath(Constants.EDIT_START) == null) { if (editMenu.getItems().length > 0) { editMenu.insertBefore(editMenu.getItems()[0].getId(), new GroupMarker(Constants.EDIT_START)); } else {// ww w. j a v a2s .co m editMenu.add(new GroupMarker(Constants.EDIT_START)); } } if (editMenu.findUsingPath(Constants.UNDO_EXT) == null) { editMenu.insertAfter(Constants.EDIT_START, new GroupMarker(Constants.UNDO_EXT)); } if (editMenu.findUsingPath(Constants.CUT_EXT) == null) { editMenu.insertAfter(Constants.UNDO_EXT, new GroupMarker(Constants.CUT_EXT)); } if (editMenu.findUsingPath(Constants.ADD_EXT) == null) { editMenu.insertAfter(Constants.CUT_EXT, new GroupMarker(Constants.ADD_EXT)); } if (editMenu.findUsingPath(Constants.EDIT_END) == null) { editMenu.insertAfter(Constants.ADD_EXT, new GroupMarker(Constants.EDIT_END)); } if (editMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) { editMenu.insertAfter(Constants.EDIT_END, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); } editMenu.appendToGroup(Constants.UNDO_EXT, ActionFactory.UNDO.create(window)); editMenu.appendToGroup(Constants.UNDO_EXT, ActionFactory.REDO.create(window)); editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.CUT.create(window)); editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.COPY.create(window)); editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.PASTE.create(window)); editMenu.appendToGroup(Constants.ADD_EXT, ActionFactory.DELETE.create(window)); // appendToGroup(Constants.ADD_EXT, ActionFactory.SELECT_ALL.create(window)); editMenu.insertAfter(Constants.UNDO_EXT, new Separator()); editMenu.insertAfter(Constants.CUT_EXT, new Separator()); editMenu.insertAfter(Constants.EDIT_END, new Separator()); }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
private void fillWindowMenu(IWorkbenchWindow window, IMenuManager windowMenu) { if (windowMenu.findUsingPath(ActionFactory.OPEN_NEW_WINDOW.getId()) == null) { IAction openNewWindow = ActionFactory.OPEN_NEW_WINDOW.create(window); openNewWindow.setText(Messages.UDIGWorkbenchAdvisor_newWindow_text); if (windowMenu.getItems().length > 0) { windowMenu.insertBefore(windowMenu.getItems()[0].getId(), openNewWindow); } else {// w w w . j ava 2s . c om windowMenu.add(openNewWindow); } } IMenuManager perspectiveMenu = windowMenu .findMenuUsingPath(ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId()); if (perspectiveMenu == null) { perspectiveMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_open_perspective, ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId()); windowMenu.insertAfter(ActionFactory.OPEN_NEW_WINDOW.getId(), perspectiveMenu); IContributionItem perspectiveList = ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window); perspectiveMenu.add(perspectiveList); } IMenuManager viewMenu = windowMenu.findMenuUsingPath(ContributionItemFactory.VIEWS_SHORTLIST.getId()); if (viewMenu == null) { viewMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_show_view, ContributionItemFactory.VIEWS_SHORTLIST.getId()); windowMenu.insertAfter(ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId(), viewMenu); IContributionItem viewList = ContributionItemFactory.VIEWS_SHORTLIST.create(window); viewMenu.add(viewList); } if (windowMenu.findUsingPath(ContributionItemFactory.OPEN_WINDOWS.getId()) == null) { // append this one to the end and we'll work backward from it windowMenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window)); } if (windowMenu.findUsingPath(ActionFactory.PREFERENCES.getId()) == null) { IAction preferences = ActionFactory.PREFERENCES.create(window); preferences.setText(Messages.UDIGWorkbenchAdvisor_preferences_text); windowMenu.insertBefore(ContributionItemFactory.OPEN_WINDOWS.getId(), preferences); } if (windowMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) { windowMenu.insertBefore(ActionFactory.PREFERENCES.getId(), new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); } if (windowMenu.findUsingPath(ActionFactory.CLOSE_ALL_PERSPECTIVES.getId()) == null) { IAction closeAllPerspectives = ActionFactory.CLOSE_ALL_PERSPECTIVES.create(window); closeAllPerspectives.setText(Messages.UDIGWorkbenchAdvisor_closeAllPerspectives_text); windowMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, closeAllPerspectives); } if (windowMenu.findUsingPath(ActionFactory.CLOSE_PERSPECTIVE.getId()) == null) { IAction closePerspective = ActionFactory.CLOSE_PERSPECTIVE.create(window); closePerspective.setText(Messages.UDIGWorkbenchAdvisor_closePerspective_text); windowMenu.insertBefore(ActionFactory.CLOSE_ALL_PERSPECTIVES.getId(), closePerspective); } if (windowMenu.findUsingPath(ActionFactory.RESET_PERSPECTIVE.getId()) == null) { IAction resetPerspective = ActionFactory.RESET_PERSPECTIVE.create(window); resetPerspective.setText(Messages.UDIGWorkbenchAdvisor_resetPerspective_text); windowMenu.insertBefore(ActionFactory.CLOSE_PERSPECTIVE.getId(), resetPerspective); } // Add the separators windowMenu.insertAfter(ActionFactory.OPEN_NEW_WINDOW.getId(), new Separator()); windowMenu.insertAfter(ContributionItemFactory.VIEWS_SHORTLIST.getId(), new Separator()); windowMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, new Separator()); windowMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new Separator()); }
From source file:net.refractions.udig.ui.UDIGMenuBuilder.java
License:Open Source License
private void fillHelpMenu(IWorkbenchWindow window, IMenuManager helpMenu) { if (helpMenu.findUsingPath(ActionFactory.INTRO.getId()) == null) { IAction welcome = ActionFactory.INTRO.create(window); welcome.setText(Messages.UDIGWorkbenchAdvisor_welcome_text); if (helpMenu.getItems().length > 0) { helpMenu.insertBefore(helpMenu.getItems()[0].getId(), welcome); } else {// w ww . ja v a 2 s . c o m helpMenu.add(welcome); } } if (helpMenu.findUsingPath(Constants.HELP_START) == null) { helpMenu.insertAfter(ActionFactory.INTRO.getId(), new GroupMarker(Constants.HELP_START)); } if (helpMenu.findUsingPath(ActionFactory.HELP_CONTENTS.getId()) == null) { IAction helpContents = ActionFactory.HELP_CONTENTS.create(window); helpContents.setText(Messages.UDIGWorkbenchAdvisor_helpContents_text); helpMenu.insertBefore(Constants.HELP_START, helpContents); } if (helpMenu.findUsingPath(Constants.HELP_END) == null) { helpMenu.insertAfter(Constants.HELP_START, new GroupMarker(Constants.HELP_END)); } // Tips and tricks page would go after HELP_START if (helpMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) { helpMenu.insertAfter(Constants.HELP_END, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); } // Add the separators helpMenu.insertAfter(ActionFactory.INTRO.getId(), new Separator()); helpMenu.insertBefore(Constants.HELP_START, new Separator()); helpMenu.insertAfter(Constants.HELP_END, new Separator()); // helpMenu.insertAfter(, new Separator()); if (helpMenu.findUsingPath(ActionFactory.ABOUT.getId()) == null) { IAction about = ActionFactory.ABOUT.create(window); about.setText(Messages.UDIGWorkbenchAdvisor_aboutUDig_text); // About should always be at the bottom, so just append it to the menu helpMenu.add(about); } }
From source file:org.eclipse.birt.report.designer.internal.ui.editors.DesignerActionBarContributor.java
License:Open Source License
private void contributeElementMenu(MenuManager elementMenu) { MenuManager insertMenu = new MenuManager( Messages.getString("DesignerActionBarContributor.menu.element.insert")); //$NON-NLS-1$ insertMenu.add(getAction(InsertRowAboveAction.ID)); insertMenu.add(getAction(InsertRowBelowAction.ID)); insertMenu.add(getAction(InsertColumnLeftAction.ID)); insertMenu.add(getAction(InsertColumnRightAction.ID)); elementMenu.add(insertMenu);// ww w .j av a2 s . co m elementMenu.add(new Separator()); elementMenu.add(getAction(MergeAction.ID)); elementMenu.add(getAction(SplitAction.ID)); elementMenu.add(new Separator()); MenuManager groupMenu = new MenuManager( Messages.getString("DesignerActionBarContributor.menu.element.group")); //$NON-NLS-1$ MenuManager insertGroupMenu = new MenuManager( Messages.getString("DesignerActionBarContributor.element.group"), InsertGroupMenuAction.ID); //$NON-NLS-1$ insertGroupMenu.add(NoneAction.getInstance()); insertGroupMenu.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { updateInsertGroupMenu(InsertGroupMenuAction.ID, manager); } }); groupMenu.add(insertGroupMenu); MenuManager editGroupMenu = new MenuManager( Messages.getString("DesignerActionBarContributor.menu.element-EditGroup")); //$NON-NLS-1$ editGroupMenu.add(NoneAction.getInstance()); editGroupMenu.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { updateDynamicItems(EditGroupMenuAction.ID, manager); } }); groupMenu.add(editGroupMenu); elementMenu.add(groupMenu); elementMenu.add(new Separator()); elementMenu.add(getAction(CreatePlaceHolderPartAction.ID)); elementMenu.add(getAction(RevertToReportItemPartAction.ID)); elementMenu.add(new Separator()); elementMenu.add(getAction(CreateChartAction.ID)); elementMenu.add(new Separator()); MenuManager styleMenu = new MenuManager( Messages.getString("DesignerActionBarContributor.menu.element.style")); //$NON-NLS-1$ contributeStyleMenu(styleMenu); elementMenu.add(styleMenu); elementMenu.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { IContributionItem addGroupMenu = manager.findUsingPath(AddGroupAction.ID); IContributionItem insertGroupMenus = manager.findUsingPath(InsertGroupMenuAction.ID); if (addGroupMenu == null || insertGroupMenus == null) { return; } RetargetAction action = (RetargetAction) getAction(AddGroupAction.ID); if (action != null && action.getActionHandler() instanceof AddGroupAction) { if (action.getActionHandler().isEnabled()) { addGroupMenu.setVisible(true); insertGroupMenus.setVisible(false); } else { addGroupMenu.setVisible(false); insertGroupMenus.setVisible(true); } manager.update(true); } } }); }