List of usage examples for org.eclipse.jface.action IMenuManager setRemoveAllWhenShown
public void setRemoveAllWhenShown(boolean removeAll);
From source file:ch.elexis.core.ui.util.ViewMenus.java
License:Open Source License
/** * /*w w w.j av a 2s . c om*/ * @param contributionItems * @since 3.4 */ public void createMenu(final List<IContributionItem> contributionItems) { IMenuManager menuMgr = site.getActionBars().getMenuManager(); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { fillContextMenu(menuMgr, contributionItems); } }); menuMgr.add(new Separator()); // for the entry to appear }
From source file:com.bluexml.side.form.presentation.FormActionBarContributor.java
License:Open Source License
/** * This inserts global actions before the "additions-end" separator. * <!-- begin-user-doc -->/*from ww w .j a va 2s . c om*/ * <!-- end-user-doc --> * @_generated */ @Override protected void addGlobalActions(IMenuManager menuManager) { Object o = ((this.selectionProvider != null && this.selectionProvider.getSelection() != null) ? ((TreeSelection) this.selectionProvider.getSelection()).getFirstElement() : null); menuManager.insertAfter("additions-end", new Separator("ui-actions")); menuManager.insertAfter("ui-actions", showPropertiesViewAction); refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); menuManager.insertAfter("ui-actions", refreshViewerAction); menuManager.insertAfter("ui-actions", new Separator("ui-commonActions")); if (o != null) { // Addition of ImageDescriptor isn't available in current jface version. if (o instanceof ModelChoiceField) { MenuManager refMenu = new MenuManager("Relation", "relation"); collapseReferenceAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/collapse.gif")); refMenu.add(collapseReferenceAction); // ---- Expand Menu IMenuManager expandMenu = new MenuManager("Expand to", "expand"); expandMenu.setRemoveAllWhenShown(true); if (this.selectionProvider != null && this.selectionProvider.getSelection() != null && ((TreeSelection) this.selectionProvider.getSelection()).size() == 1 && ((TreeSelection) this.selectionProvider.getSelection()) .getFirstElement() instanceof ModelChoiceField) { expandMenu.add(new Action("never shown entry") { });//needed if it's a submenu IMenuListener expandListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillExpandContextMenu(m); } }; expandMenu.addMenuListener(expandListener); } refMenu.add(expandMenu); // ---- Add Menu IMenuManager addRefMenu = new MenuManager("Add reference", "addRef"); addRefMenu.setRemoveAllWhenShown(true); if (this.selectionProvider != null && this.selectionProvider.getSelection() != null && ((TreeSelection) this.selectionProvider.getSelection()).size() == 1 && ((TreeSelection) this.selectionProvider.getSelection()) .getFirstElement() instanceof Reference) { Reference ref = ((Reference) ((TreeSelection) this.selectionProvider.getSelection()) .getFirstElement()); if (ref.getMax_bound() == -1 || ref.getMax_bound() > ref.getTarget().size()) { addRefMenu.add(new Action("never shown entry") { });//needed if it's a submenu IMenuListener expandListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillAddRefContextMenu(m); } }; addRefMenu.addMenuListener(expandListener); } } refMenu.add(addRefMenu); menuManager.insertAfter("ui-actions", refMenu); } // ---- Transform Menu if (o instanceof Field) { IMenuManager transformMenu = new MenuManager("Transform", "transform"); transformMenu.add(new Action("never shown entry") { }); //needed if it's a submenu transformMenu.setRemoveAllWhenShown(true); IMenuListener transformListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillTransformContextMenu(m); } }; transformMenu.addMenuListener(transformListener); menuManager.insertAfter("ui-actions", transformMenu); } if (o instanceof FormContainer) { copyFormAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/copy.png")); menuManager.insertAfter("ui-actions", copyFormAction); } if (((TreeSelection) this.selectionProvider.getSelection()).size() == 1 || haveSameFormContainer((TreeSelection) this.selectionProvider.getSelection())) { groupAttributeAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/group.png")); menuManager.insertAfter("ui-actions", groupAttributeAction); } if (o instanceof FormClass) { initializeFormClassAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/initializeFromClass.png")); menuManager.insertAfter("ui-actions", initializeFormClassAction); } if (o instanceof WorkflowFormCollection) { initializeFormWorkflowAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/initializeFromClass.png")); menuManager.insertAfter("ui-actions", initializeFormWorkflowAction); } if (o instanceof FormSearch) { initializeFormSearchAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/initializeFromClass.png")); menuManager.insertAfter("ui-actions", initializeFormSearchAction); } if (o instanceof FormWorkflow) { showLinkedTaskAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/show_link.png")); menuManager.insertAfter("ui-actions", showLinkedTaskAction); } if (o instanceof FormClass) { showLinkedClassAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/show_link.png")); menuManager.insertAfter("ui-actions", showLinkedClassAction); } if (o instanceof FormContainer) { MenuManager restoreMenu = new MenuManager("Restore", "restore"); if (((FormContainer) o).getDisabled().size() > 0) { restoreMenu.add(new Action("never shown entry") { }); restoreMenu.setRemoveAllWhenShown(true); IMenuListener restoreListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillRestoreContextMenu(m); } }; restoreMenu.addMenuListener(restoreListener); } menuManager.insertAfter("ui-actions", restoreMenu); } refreshOutlineAction.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/refreshOutline.png")); menuManager.insertAfter("ui-actions", refreshOutlineAction); if (o instanceof FormCollection) { if (o instanceof WorkflowFormCollection) { synchronizeWithWorkflowDiagram.setImageDescriptor(ImageDescriptor .createFromFile(this.getClass(), "/icons/menu/synchronizeWithClassDiagram.png")); menuManager.insertAfter("ui-actions", synchronizeWithWorkflowDiagram); } else { synchronizeWithClassDiagram.setImageDescriptor(ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/synchronizeWithClassDiagram.png")); menuManager.insertAfter("ui-actions", synchronizeWithClassDiagram); } } } super.addGlobalActions(menuManager); }
From source file:com.bluexml.side.view.presentation.ViewActionBarContributor.java
License:Open Source License
/** * Add actions specific to fields/*from w w w . j a v a 2 s . c om*/ * @param menuManager * @param o */ private void addActionsForFields(IMenuManager menuManager) { IMenuManager transformMenu = new MenuManager("Transform to", "addLinked"); transformMenu.add(new Action("never shown entry") { }); transformMenu.setRemoveAllWhenShown(true); IMenuListener transformListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillTransformContextMenu(m); } }; transformMenu.addMenuListener(transformListener); menuManager.insertAfter("ui-actions", transformMenu); }
From source file:com.bluexml.side.view.presentation.ViewActionBarContributor.java
License:Open Source License
/** * Add actions specific to views//from w w w. j ava2 s . c om * @param menuManager * @param o */ private void addActionsForViews(IMenuManager menuManager, Object o) { // Initialize initializeView .setImageDescriptor(ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/initialize.png")); menuManager.insertAfter("ui-actions", initializeView); // Refresh Outline refreshOutline.setImageDescriptor( ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/refreshOutline.png")); menuManager.insertAfter("ui-actions", refreshOutline); // Restore MenuManager restoreMenu = new MenuManager("Restore", ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/restore.png"), "restore"); if (((AbstractView) o).getDisabled().size() > 0) { restoreMenu.add(new Action("never shown entry") { }); restoreMenu.setRemoveAllWhenShown(true); IMenuListener restoreListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillRestoreContextMenu(m); } }; restoreMenu.addMenuListener(restoreListener); } menuManager.insertAfter("ui-actions", restoreMenu); // Add linked field final IMenuManager addLinkedFieldMenu = new MenuManager("Add linked Field", ImageDescriptor.createFromFile(this.getClass(), "/icons/menu/addLinkedField.png"), "transform"); addLinkedFieldMenu.add(new Action("never shown entry") { }); addLinkedFieldMenu.setRemoveAllWhenShown(true); IMenuListener addLinkedFieldListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillAddLinkedMenu(m, addLinkedFieldMenu); } }; addLinkedFieldMenu.addMenuListener(addLinkedFieldListener); menuManager.insertAfter("ui-actions", addLinkedFieldMenu); }
From source file:com.bluexml.side.view.presentation.ViewActionBarContributor.java
License:Open Source License
/** * Add a subMenu for Association// w ww .j a v a2s . c o m * * @param topMenu * @param c * @param av */ private void addLinkedFieldAssociation(IMenuManager topMenu, final Clazz c, final List<Association> path, final AbstractViewOf av) { for (final Association a : c.getSourceAssociations()) { if (!path.contains(a)) { IMenuManager addLinkedFieldMenu = new MenuManager(a.getLabel(), "browse" + a.getName()); addLinkedFieldMenu.add(new Action("never shown entry") { }); addLinkedFieldMenu.setRemoveAllWhenShown(true); IMenuListener addLinkedFieldListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillAddLinkedSubMenu(m, a, path, av, c); } }; addLinkedFieldMenu.addMenuListener(addLinkedFieldListener); topMenu.add(addLinkedFieldMenu); } } for (final Clazz inheritedClass : c.getInheritedClasses()) { for (final Association a : inheritedClass.getSourceAssociations()) { if (!path.contains(a)) { IMenuManager addLinkedFieldMenu = new MenuManager(a.getLabel(), "browse" + a.getName()); addLinkedFieldMenu.add(new Action("never shown entry") { }); addLinkedFieldMenu.setRemoveAllWhenShown(true); IMenuListener addLinkedFieldListener = new IMenuListener() { public void menuAboutToShow(IMenuManager m) { fillAddLinkedSubMenu(m, a, path, av, inheritedClass); } }; addLinkedFieldMenu.addMenuListener(addLinkedFieldListener); topMenu.add(addLinkedFieldMenu); } } } }
From source file:com.microsoft.tfs.client.common.ui.controls.teamexplorer.TeamExplorerControl.java
License:Open Source License
public TeamExplorerControl(final TeamExplorerConfig configuration, final TeamExplorerContext context, final TeamExplorerNavigator navigator, final Composite parent, final int style) { super(configuration, context, parent, style); this.navigator = navigator; searchControl = new TeamExplorerSearchControl(form.getHead(), context, toolkit, SWT.NONE); pageComposite = toolkit.createComposite(subForm.getBody()); GridDataBuilder.newInstance().fill().grab().applyTo(pageComposite); pageCompositeStackLayout = new StackLayout(); pageComposite.setLayout(pageCompositeStackLayout); final IMenuManager menuManager = form.getMenuManager(); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(titleBarMenuListener); menuManager.add(new Separator()); handCursor = getDisplay().getSystemCursor(SWT.CURSOR_HAND); // Hook up a repository listener to enable/disable some controls final TFSCommonUIClientPlugin plugin = TFSCommonUIClientPlugin.getDefault(); final RepositoryManager defaultRepositoryManager = plugin.getProductPlugin().getRepositoryManager(); defaultRepositoryManager.addListener(repositoryListener); plugin.addProjectAndTeamListener(repositoryListener); plugin.addViewShowsListener(repositoryListener); enableSearchControl();/*from w w w .j a v a 2 s .c o m*/ final MenuManager topNavMenu = new MenuManager("#popup"); //$NON-NLS-1$ topNavMenu.setRemoveAllWhenShown(true); topNavMenu.addMenuListener(titleBarMenuListener); topNavMenu.add(new Separator()); final Menu menu = topNavMenu.createContextMenu(form.getHead()); form.getHead().setMenu(menu); headClickAdapter = new MouseAdapter() { @Override public void mouseDown(final MouseEvent e) { searchControl.closePopup(); final Control[] children = form.getHead().getChildren(); if (children.length > 0) { final Control titleArea = children[0]; if (titleArea != null && !titleArea.isDisposed()) { menu.setLocation(titleArea.toDisplay(0, titleArea.getSize().y + 2)); } } menu.setVisible(true); } }; handleHeadResize(); addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { defaultRepositoryManager.removeListener(repositoryListener); plugin.removeProjectAndTeamListener(repositoryListener); plugin.removeViewShowsListener(repositoryListener); } }); }
From source file:com.microsoft.tfs.client.common.ui.teamexplorer.pages.TeamExplorerPendingChangesPage.java
License:Open Source License
private void fillActionMenu(final IMenuManager menuManager, final TeamExplorerContext context) { final PendingChangesViewModel model = TFSCommonUIClientPlugin.getDefault().getPendingChangesViewModel(); final IAction unshelveAction = new Action() { @Override// w w w .j a v a2 s .c o m public void run() { PendingChangesHelpers.unshelve(shell, context.getDefaultRepository()); } }; unshelveAction.setText(Messages.getString("TeamExplorerPendingChangesPage.UnshelveCommandText")); //$NON-NLS-1$ menuManager.add(unshelveAction); menuManager.add(new Separator()); final IAction resolveConflictsAction = new Action() { @Override public void run() { PendingChangesHelpers.resolveConflicts(shell, context.getDefaultRepository()); } }; resolveConflictsAction .setText(Messages.getString("TeamExplorerPendingChangesPage.ResolveConflictsCommandText")); //$NON-NLS-1$ menuManager.add(resolveConflictsAction); final IAction undoAllAction = new Action() { @Override public void run() { PendingChangesHelpers.undoAll(shell, context.getDefaultRepository()); } }; undoAllAction.setText(Messages.getString("TeamExplorerPendingChangesPage.UndoAllCommandText")); //$NON-NLS-1$ menuManager.add(undoAllAction); menuManager.add(new Separator()); final IAction evaluateCheckinPoliciesAction = new Action() { @Override public void run() { PendingChangesHelpers.evaluatePolicies(shell, model); } }; evaluateCheckinPoliciesAction .setText(Messages.getString("TeamExplorerPendingChangesPage.EvaluatePoliciesCommandText")); //$NON-NLS-1$ menuManager.add(evaluateCheckinPoliciesAction); if (model != null && model.isLocalWorkspace()) { final IAction detectLocalChangesAction = new Action() { @Override public void run() { PendingChangesHelpers.detectLocalChanges(shell, context.getDefaultRepository()); } }; detectLocalChangesAction .setText(Messages.getString("TeamExplorerPendingChangesPage.DetectLocalChangesMenuText")); //$NON-NLS-1$ menuManager.add(detectLocalChangesAction); } menuManager.add(new Separator()); final IAction undoUnchangedAction = new Action() { @Override public void run() { PendingChangesHelpers.undoUnchangedPendingChanges(shell, context.getDefaultRepository()); } }; undoUnchangedAction.setText(Messages.getString("TeamExplorerPendingChangesPage.UndoUnchangedCommandText")); //$NON-NLS-1$ menuManager.add(undoUnchangedAction); menuManager.add(new Separator()); final String subMenuText = Messages.getString("TeamExplorerPendingChangesPage.SwitchWorkspaceMenuText"); //$NON-NLS-1$ final IMenuManager subMenu = new MenuManager(subMenuText); subMenu.setRemoveAllWhenShown(true); subMenu.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(final IMenuManager manager) { final Workspace currentWorkspace = model.getWorkspace(); final Workspace[] workspaces = model.getWorkspaces(); if (workspaces == null || workspaces.length == 0) { final IAction emptyAction = new Action() { }; final String text = workspaces == null ? Messages.getString("TeamExplorerPendingChangesPage.CannotGetWorkspaces") //$NON-NLS-1$ : Messages.getString("TeamExplorerPendingChangesPage.NoWorkpacesMenuText"); //$NON-NLS-1$ emptyAction.setText(text); emptyAction.setEnabled(false); subMenu.add(emptyAction); } else { final TeamFoundationIdentity authorizedIdentity = currentWorkspace.getClient().getConnection() .getAuthorizedIdentity(); for (final Workspace workspace : workspaces) { final IAction switchWorkspaceAction = new Action() { @Override public void run() { PendingChangesHelpers.switchWorkspace(shell, workspace); } }; String menuItemName = workspace.getName(); if (!IdentityHelper.identityHasName(authorizedIdentity, workspace.getOwnerName())) { menuItemName += ";" + workspace.getOwnerDisplayName(); //$NON-NLS-1$ } switchWorkspaceAction.setText(menuItemName); switchWorkspaceAction.setChecked(workspace.equals(currentWorkspace)); subMenu.add(switchWorkspaceAction); } } } }); menuManager.add(subMenu); final IAction manageWorkspacesAction = new Action() { @Override public void run() { PendingChangesHelpers.manageWorkspaces(shell); } }; manageWorkspacesAction .setText(Messages.getString("TeamExplorerPendingChangesPage.ManageWorkspacesCommandText")); //$NON-NLS-1$ menuManager.add(manageWorkspacesAction); }
From source file:com.nokia.s60tools.crashanalyser.ui.viewers.CallStackTableViewer.java
License:Open Source License
/** * creates context menu accordingly to what is selected in the table. */// w w w . j av a 2 s .c om private void doCreateContextMenu() { // Active SDK menu subMenuSdk = new MenuManager("Active SDK"); subMenuSdk.setRemoveAllWhenShown(true); subMenuSdk.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { Map<String, String> sdks = SourceSdkManager.getAllSdks(); String currentSdk = SourceSdkManager.getCurrentSkdName(); // if there are sdks if (sdks != null && !sdks.isEmpty()) { String[] sdkNames = sdks.keySet().toArray(new String[sdks.size()]); java.util.Arrays.sort(sdkNames); // go through all found sdks and and them to pop-up menu for (int i = 0; i < sdkNames.length; i++) { String sdk = sdkNames[i]; CommandContributionItemParameter p = new CommandContributionItemParameter( PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, "com.nokia.s60tools.crashanalyser.commands.SdkSelection", CommandContributionItem.STYLE_PUSH); p.label = sdk; // if this sdk is selected as Active sdk, draw an circular image to // this menu item to indicate that this is the active sdk if (sdk.equalsIgnoreCase(currentSdk)) { p.icon = ImageResourceManager.getImageDescriptor((ImageKeys.SELECTED_SDK)); } CommandContributionItem item = new CommandContributionItem(p); subMenuSdk.add(item); } } } }); final MenuManager subMenuSelection = new MenuManager("Copy Selection to Clipboard"); subMenuSelection.add(actionCopySelectionToClipboardAsPlainText); subMenuSelection.add(actionCopySelectionToClipboardAsRichText); final MenuManager subMenuFull = new MenuManager("Copy Whole Stack to Clipboard"); subMenuFull.add(actionCopyStackToClipboardAsPlainText); subMenuFull.add(actionCopyStackToClipboardAsRichText); MenuManager manager = new MenuManager("#PopupMenu"); Menu menu = manager.createContextMenu(getControl()); getControl().setMenu(menu); manager.setRemoveAllWhenShown(true); manager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { Table table = (Table) getControl(); if (table.getSelection() != null) { // add 'Open source file' and 'Active SDK' menu items to pop-up menu // only if exactly one row is selected in table and if that // row's symbol column is not empty if (table.getSelection().length == 1 && !"".equals(table.getSelection()[0].getText(COLUMN_SYMBOL))) { manager.add(actionOpenSourceFile); manager.add(subMenuSdk); manager.add(new Separator()); } manager.add(subMenuSelection); manager.add(subMenuFull); } } }); }
From source file:com.nokia.tools.s60.views.CustomizedPropertySheet.java
License:Open Source License
@Override public void createPartControl(Composite parent) { super.createPartControl(parent); IMenuManager menuManager = getViewSite().getActionBars().getMenuManager(); menuManager.setVisible(false);//from w w w .ja v a 2s. c o m menuManager.removeAll(); menuManager.setRemoveAllWhenShown(true); menuManager.updateAll(true); IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager(); toolBarManager.removeAll(); menuManager.setRemoveAllWhenShown(true); toolBarManager.update(true); }
From source file:com.nokia.traceviewer.action.ActionFactory.java
License:Open Source License
/** * Fills the view menu with the actions/*from ww w .j a va 2 s. c o m*/ * * @param manager * the menu manager */ public void fillMenu(IMenuManager manager) { manager.add(traceActivationAction); manager.add(new Separator()); IMenuManager subMgr = new MenuManager(Messages.getString("ActionFactory.LogSubMenuTitle"), logSubMenuImage, //$NON-NLS-1$ null); subMgr.setRemoveAllWhenShown(true); subMgr.setVisible(true); subMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager mgr) { mgr.add(logOpenLogAction); mgr.add(new Separator()); mgr.add(logNewBinaryAction); mgr.add(logSaveBinaryAction); mgr.add(logCloseBinaryAction); mgr.add(new Separator()); mgr.add(logNewAsciiAction); mgr.add(logSaveAsciiAction); mgr.add(logCloseAsciiAction); // Get the logger DataProcessor Logger logger = TraceViewerGlobals.getTraceViewer().getDataProcessorAccess().getLogger(); boolean asciiLogging = logger.isPlainLogging(); boolean binaryLogging = logger.isBinLogging(); boolean logFileOpened = logger.isLogFileOpened(); // Check if Binary logging is on logNewBinaryAction.setEnabled(!binaryLogging); logCloseBinaryAction.setEnabled(binaryLogging); // Check if ASCII logging is on logNewAsciiAction.setEnabled(!asciiLogging); logCloseAsciiAction.setEnabled(asciiLogging); logOpenLogAction.setEnabled(!asciiLogging && !binaryLogging); // Check if log file is opened if (logFileOpened) { logNewBinaryAction.setEnabled(false); logCloseBinaryAction.setEnabled(false); logNewAsciiAction.setEnabled(false); logCloseAsciiAction.setEnabled(false); } } }); manager.add(subMgr); manager.add(new Separator()); manager.add(triggerAction); manager.add(new Separator()); manager.add(openConnectionSettingsAction); manager.add(new Separator()); manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); }