List of usage examples for org.eclipse.jface.action IContributionManager remove
IContributionItem remove(IContributionItem item);
From source file:org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder.java
License:Open Source License
/** * This removes from the specified <code>manager</code> all * {@link org.eclipse.jface.action.ActionContributionItem}s based on the * {@link org.eclipse.jface.action.IAction}s contained in the * <code>actions</code> collection. * /*from w w w.jav a 2s . co m*/ * @param manager * the manager to update. * @param actions * the actions to remove from the manager. */ protected void depopulateManager(final IContributionManager manager, final Collection actions) { if (actions != null) { final IContributionItem[] items = manager.getItems(); for (IContributionItem item : items) { // Look into SubContributionItems // IContributionItem contributionItem = item; while (contributionItem instanceof SubContributionItem) { contributionItem = ((SubContributionItem) contributionItem).getInnerItem(); } // Delete the ActionContributionItems with matching action. // if (contributionItem instanceof ActionContributionItem) { final IAction action = ((ActionContributionItem) contributionItem).getAction(); if (actions.contains(action)) { manager.remove(contributionItem); } } } } }
From source file:org.eclipse.sirius.tests.sample.docbook.presentation.DocbookActionBarContributor.java
License:Open Source License
/** * This removes from the specified <code>manager</code> all * {@link org.eclipse.jface.action.ActionContributionItem}s based on the * {@link org.eclipse.jface.action.IAction}s contained in the * <code>actions</code> collection. <!-- begin-user-doc --> <!-- * end-user-doc -->/* w w w.j av a 2 s .c o m*/ * * @generated */ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) { if (actions != null) { IContributionItem[] items = manager.getItems(); for (IContributionItem item : items) { // Look into SubContributionItems // IContributionItem contributionItem = item; while (contributionItem instanceof SubContributionItem) { contributionItem = ((SubContributionItem) contributionItem).getInnerItem(); } // Delete the ActionContributionItems with matching action. // if (contributionItem instanceof ActionContributionItem) { IAction action = ((ActionContributionItem) contributionItem).getAction(); if (actions.contains(action)) { manager.remove(contributionItem); } } } } }
From source file:org.eclipse.ui.internal.ActionSetActionBars.java
License:Open Source License
/** * Dispose the contributions./*from w w w. j av a 2s .c o m*/ */ public void dispose() { super.dispose(); if (coolItemToolBarMgr == null) { return; } IContributionItem[] items = coolItemToolBarMgr.getItems(); // remove the action set's items from its action bar, don't use // removeAll since other items from other actions sets may be in // the action bar's cool item for (int i = 0; i < items.length; i++) { IContributionItem item = items[i]; if (item instanceof PluginActionCoolBarContributionItem) { PluginActionCoolBarContributionItem actionSetItem = (PluginActionCoolBarContributionItem) item; if (actionSetItem.getActionSetId().equals(actionSetId)) { coolItemToolBarMgr.remove(item); item.dispose(); } } else { // leave separators and group markers intact, doing // so allows ordering to be maintained when action sets // are removed then added back } } // remove items from this action set that are in other action bars for (int i = 0; i < adjunctContributions.size(); i++) { ContributionItem item = (ContributionItem) adjunctContributions.get(i); IContributionManager parent = item.getParent(); if (parent != null) { parent.remove(item); item.dispose(); } } toolBarContributionItem = null; coolItemToolBarMgr = null; adjunctContributions = new ArrayList(); }
From source file:org.eclipse.ui.internal.CoolBarToTrimManager.java
License:Open Source License
private void fill(MToolBar container, IContributionManager manager) { ToolBarManagerRenderer renderer = (ToolBarManagerRenderer) rendererFactory.getRenderer(container, null); for (IContributionItem item : manager.getItems()) { if (item == null) { continue; }//from w ww .j av a2s .c om if (renderer.getToolElement(item) != null) { continue; } if (item instanceof IToolBarContributionItem) { IToolBarManager manager2 = ((IToolBarContributionItem) item).getToolBarManager(); //new Exception("fill(MToolBar container, IContributionManager manager) with " //$NON-NLS-1$ // + item + " to " + manager2).printStackTrace(); //$NON-NLS-1$ fill(container, manager2); } else if (item instanceof IContributionManager) { // new Exception( // "fill(MToolBar container, IContributionManager manager) with rogue contribution manager: " //$NON-NLS-1$ // + item).printStackTrace(); fill(container, (IContributionManager) item); } else if (item instanceof CommandContributionItem) { CommandContributionItem cci = (CommandContributionItem) item; MToolItem toolItem = MenuHelper.createToolItem(application, cci); manager.remove(item); if (toolItem != null) { container.getChildren().add(toolItem); } } else { MOpaqueToolItem toolItem = MenuFactoryImpl.eINSTANCE.createOpaqueToolItem(); toolItem.setElementId(item.getId()); if (item instanceof AbstractGroupMarker) { toolItem.setVisible(item.isVisible()); } container.getChildren().add(toolItem); renderer.linkModelToContribution(toolItem, item); } } }
From source file:org.eclipse.wst.sse.ui.internal.contentoutline.ConfigurableContentOutlinePage.java
License:Open Source License
/** * Configures (or reconfigures) the page according to the given * configuration.// www . j a v a 2 s . co m * * @param configuration */ public void setConfiguration(ContentOutlineConfiguration configuration) { // intentionally do not check to see if the new configuration != old // configuration if (getTreeViewer() != null) { // remove the key listeners if (getControl() != null && !getControl().isDisposed()) { KeyListener[] listeners = getConfiguration().getKeyListeners(getTreeViewer()); if (listeners != null) { for (int i = 0; i < listeners.length; i++) { getControl().removeKeyListener(listeners[i]); } } } IContributionManager toolbar = getSite().getActionBars().getToolBarManager(); if (toolbar != null) { IContributionItem[] toolbarItems = getConfiguration().getToolbarContributions(getTreeViewer()); if (toolbarItems != null && toolbarItems.length > 0) { for (int i = 0; i < toolbarItems.length; i++) { toolbar.remove(toolbarItems[i]); } toolbar.update(false); } } IContributionManager menubar = getSite().getActionBars().getMenuManager(); if (menubar != null) { IContributionItem[] menuItems = getConfiguration().getMenuContributions(getTreeViewer()); if (menuItems != null && menuItems.length > 0) { for (int i = 0; i < menuItems.length; i++) { menubar.remove(menuItems[i]); } menubar.remove(IWorkbenchActionConstants.MB_ADDITIONS); menubar.update(false); } } // clear the DnD listeners and transfer types if (fDragAdapter != null && !fDragAdapter.isEmpty() && fDragSource != null && !fDragSource.isDisposed() && fDragSource.getTransfer().length > 0) { if (fActiveDragListeners != null) { for (int i = 0; i < fActiveDragListeners.length; i++) { fDragAdapter.removeDragSourceListener(fActiveDragListeners[i]); } } fActiveDragListeners = null; fDragSource.removeDragListener(fDragAdapter); fDragSource.setTransfer(new Transfer[0]); } if (fDropAdapter != null && !fDropAdapter.isEmpty() && fDropTarget != null && !fDropTarget.isDisposed() && fDropTarget.getTransfer().length > 0) { if (fActiveDropListeners != null) { for (int i = 0; i < fActiveDropListeners.length; i++) { fDropAdapter.removeDropTargetListener(fActiveDropListeners[i]); } } fActiveDropListeners = null; fDropTarget.removeDropListener(fDropAdapter); fDropTarget.setTransfer(new Transfer[0]); } getConfiguration().getContentProvider(getTreeViewer()).inputChanged(getTreeViewer(), fInput, null); // release any ties to this tree viewer getConfiguration().unconfigure(getTreeViewer()); } fConfiguration = configuration; if (getTreeViewer() != null && getControl() != null && !getControl().isDisposed()) { // (re)set the providers getTreeViewer().setLabelProvider(getConfiguration().getLabelProvider(getTreeViewer())); getTreeViewer().setContentProvider(getConfiguration().getContentProvider(getTreeViewer())); // view toolbar IContributionManager toolbar = getSite().getActionBars().getToolBarManager(); if (toolbar != null) { IContributionItem[] toolbarItems = getConfiguration().getToolbarContributions(getTreeViewer()); if (toolbarItems != null) { for (int i = 0; i < toolbarItems.length; i++) { toolbar.add(toolbarItems[i]); } toolbar.update(true); } } // view menu IContributionManager menu = getSite().getActionBars().getMenuManager(); if (menu != null) { IContributionItem[] menuItems = getConfiguration().getMenuContributions(getTreeViewer()); if (menuItems != null) { for (int i = 0; i < menuItems.length; i++) { menuItems[i].setVisible(true); menu.add(menuItems[i]); menuItems[i].update(); } menu.update(true); } } // add the allowed DnD listeners and types TransferDragSourceListener[] dragListeners = getConfiguration() .getTransferDragSourceListeners(getTreeViewer()); if (fDragAdapter != null && dragListeners.length > 0) { for (int i = 0; i < dragListeners.length; i++) { fDragAdapter.addDragSourceListener(dragListeners[i]); } fActiveDragListeners = dragListeners; fDragSource.addDragListener(fDragAdapter); fDragSource.setTransfer(fDragAdapter.getTransfers()); } TransferDropTargetListener[] dropListeners = getConfiguration() .getTransferDropTargetListeners(getTreeViewer()); if (fDropAdapter != null && dropListeners.length > 0) { for (int i = 0; i < dropListeners.length; i++) { fDropAdapter.addDropTargetListener(dropListeners[i]); } fActiveDropListeners = dropListeners; fDropTarget.addDropListener(fDropAdapter); fDropTarget.setTransfer(fDropAdapter.getTransfers()); } // add the key listeners KeyListener[] listeners = getConfiguration().getKeyListeners(getTreeViewer()); if (listeners != null) { for (int i = 0; i < listeners.length; i++) { getControl().addKeyListener(listeners[i]); } } } if (fInput != null) { setInput(fInput); } }
From source file:org.enterprisedomain.classmaker.presentation.ClassMakerActionBarContributor.java
License:Apache License
/** * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.MenuManager}s and their * {@link org.eclipse.jface.action.ActionContributionItem}s based on the {@link org.eclipse.jface.action.IAction}s * contained in the <code>submenuActions</code> map. * <!-- begin-user-doc -->// w w w . j av a 2s . co m * <!-- end-user-doc --> * @generated */ protected void depopulateManager(IContributionManager manager, Map<String, Collection<IAction>> submenuActions) { if (submenuActions != null) { IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { IContributionItem contributionItem = items[i]; if (contributionItem instanceof MenuManager) { MenuManager submenuManager = (MenuManager) contributionItem; if (submenuActions.containsKey(submenuManager.getMenuText())) { depopulateManager(submenuManager, submenuActions.get(submenuManager.getMenuText())); manager.remove(contributionItem); } } } } }
From source file:org.fusesource.ide.foundation.ui.util.Menus.java
License:Open Source License
public static void removeAction(IContributionManager manager, Object actionOrContributionItem) { if (actionOrContributionItem instanceof IContributionItem) { IContributionItem item = (IContributionItem) actionOrContributionItem; manager.remove(item); String id = getContributionItemId(item); if (id != null) { manager.remove(id);/*from www. java2 s.c om*/ } } else if (actionOrContributionItem instanceof IAction) { IAction action = (IAction) actionOrContributionItem; String id = getActionId(action); if (id != null) { manager.remove(id); } } }
From source file:org.modelversioning.emfprofile.application.registry.ui.observer.NestingCommonModelElementsInStereotypeApplications.java
License:Open Source License
/** * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection. *///www. ja v a 2 s .co m public void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) { if (actions != null) { IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { // Look into SubContributionItems // IContributionItem contributionItem = items[i]; while (contributionItem instanceof SubContributionItem) { contributionItem = ((SubContributionItem) contributionItem).getInnerItem(); } // Delete the ActionContributionItems with matching action. // if (contributionItem instanceof ActionContributionItem) { IAction action = ((ActionContributionItem) contributionItem).getAction(); if (actions.contains(action)) { manager.remove(contributionItem); } } } } }
From source file:org.nightlabs.base.ui.action.registry.AbstractActionRegistry.java
License:Open Source License
protected void removeAll(IContributionManager contributionManager, ContributionManagerKind kind) { MenuManager tmpMenu = new MenuManager(); ActionVisibilityDecider backupActionVisibilityDecider = this.actionVisibilityDecider; Map<Class<? extends ItemDescriptor>, List<ItemDescriptor>> itemDescriptorsToRemove; try {// ww w. java 2 s.c o m this.actionVisibilityDecider = actionVisibilityDeciderAlwaysVisible; itemDescriptorsToRemove = contribute(tmpMenu, kind); } finally { this.actionVisibilityDecider = backupActionVisibilityDecider; } // We only remove ActionDescriptors (i.e. ContributionItems or Actions) and NO menus, // because menus and separators/groupmarkers might be used by someone else. List<ItemDescriptor> actionDescriptorsToRemove = itemDescriptorsToRemove.get(ActionDescriptor.class); if (actionDescriptorsToRemove != null) { for (ItemDescriptor _actionDescriptor : actionDescriptorsToRemove) { ActionDescriptor ad = (ActionDescriptor) _actionDescriptor; String path = getPath(ad, kind); IContributionItem anchor = findUsingPath(contributionManager, path); if (anchor != null) { if (anchor instanceof MenuManager) { IContributionItem removedItem = ((MenuManager) anchor).remove(ad.getID()); String removed = removedItem != null ? "" : "NOT "; //$NON-NLS-1$ //$NON-NLS-2$ logger.debug("ActionDescriptor with id " + ad.getID() + " was " + removed + "removed from " //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ + kind + " !"); //$NON-NLS-1$ } else { IContributionManager parent = ((ContributionItem) anchor).getParent(); if (parent != null) { IContributionItem removedItem = parent.remove(ad.getID()); String removed = removedItem != null ? "" : "NOT "; //$NON-NLS-1$ //$NON-NLS-2$ logger.debug("ActionDescriptor with id " + ad.getID() + "was" + removed //$NON-NLS-1$//$NON-NLS-2$ + "removed from " + kind + " !"); //$NON-NLS-1$ //$NON-NLS-2$ } } } } } }
From source file:org.nightlabs.base.ui.action.registry.AbstractActionRegistry.java
License:Open Source License
/** * Removes all contributions of this registry from the CoolBar of the * given coolBarManager. Ideally this is done by making the contributions * invisible, so Eclipse can remember their positions. However * this is currently not possible and thats why this method * removes the affected contributions from the CoolBar. * This behaviour can is configured via {@link #useRemoveInsteadOfUnvisibleWorkaround}. * * @param coolBarManager The {@link ICoolBarManager} where the contributions of this registry should be removed from. *//*from www . j a v a 2 s . co m*/ public void removeAllFromCoolBar(ICoolBarManager coolBarManager) { if (Display.getCurrent() == null) throw new IllegalStateException("This method must be called on the UI thread!"); //$NON-NLS-1$ IContributionManager coolBarContributionManager = coolBarManager; if (coolBarManager instanceof SubCoolBarManager) coolBarContributionManager = ((SubCoolBarManager) coolBarManager).getParent(); if (!useRemoveInsteadOfUnvisibleWorkaround) ((SubCoolBarManager) coolBarManager).setVisible(false); String baseID = this.getClass().getName(); String orphanageToolbarID = baseID + '.' + ORPHANAGE_TOOLBAR_ID; // We use a temporary MenuManager which will be translated into the real // coolbar afterwards. MenuManager tmpMenu = new MenuManager(); ActionVisibilityDecider backupActionVisibilityDecider = this.actionVisibilityDecider; try { this.actionVisibilityDecider = actionVisibilityDeciderAlwaysVisible; contribute(tmpMenu, ContributionManagerKind.coolBar); } finally { this.actionVisibilityDecider = backupActionVisibilityDecider; } // convert the existing items of the real coolbar-manager into a Map - the new items might // already exist because of Eclipse's workspace memory (and then the old ones need to be // manipulated - new ones would be ignored because of a bug/feature in the EclipseRCP) // IContributionItem[] coolBarItems = ((SubCoolBarManager)coolBarManager).getParent().getItems(); IContributionItem[] coolBarItems = coolBarContributionManager.getItems(); // key: String itemId // value: IXContributionItem Map<String, IContributionItem> coolBarItemMap = new HashMap<String, IContributionItem>(coolBarItems.length); for (int i = 0; i < coolBarItems.length; ++i) { IContributionItem coolBarItem = coolBarItems[i]; coolBarItemMap.put(coolBarItem.getId(), coolBarItem); logger.debug("Having " + coolBarItem.getId() + " in CoolBar"); //$NON-NLS-1$ //$NON-NLS-2$ } ToolBarContributionItem orphanageToolBarContributionItem = getToolBarContributionItem( coolBarItemMap.get(orphanageToolbarID)); if (orphanageToolBarContributionItem != null) { IContributionItem item = coolBarContributionManager.find(orphanageToolBarContributionItem.getId()); if (item != null) { if (useRemoveInsteadOfUnvisibleWorkaround) { coolBarContributionManager.remove(orphanageToolBarContributionItem.getId()); } else { orphanageToolBarContributionItem.setVisible(false); item.setVisible(false); } } } // Now, we iterate all the "precompiled" items and contribute them to the coolbar IContributionItem[] tmpItems = tmpMenu.getItems(); for (int i = 0; i < tmpItems.length; ++i) { IContributionItem tmpItem = tmpItems[i]; // Test for items that are already in the parent if (tmpItem instanceof IMenuManager) { IMenuManager tmpSubMenu = (IMenuManager) tmpItem; String tmpSubMenuID = baseID + '.' + tmpSubMenu.getId(); ToolBarContributionItem toolBarContributionItem = getToolBarContributionItem( coolBarItemMap.get(tmpSubMenuID)); if (toolBarContributionItem != null) { IContributionItem item = coolBarContributionManager.find(toolBarContributionItem.getId()); if (item != null) { if (useRemoveInsteadOfUnvisibleWorkaround) { coolBarContributionManager.remove(tmpSubMenuID); } else { toolBarContributionItem.setVisible(false); item.setVisible(false); } } } } } try { coolBarContributionManager.update(true); } catch (Exception x) { // https://bugs.eclipse.org/bugs/show_bug.cgi?id=239945 logger.error("CoolBarManager.update failed: " + x.getLocalizedMessage(), x); //$NON-NLS-1$ } }