List of usage examples for org.eclipse.jface.action IContributionManager getItems
IContributionItem[] getItems();
From source file:org.eclipse.sirius.editor.editorPlugin.ContributionActionBarContributor.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 . j a v a 2s. c o m*/ protected void depopulateManager(IContributionManager manager, Collection<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.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 ww. ja v a2 s. 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 -->// ww w . j a v a2s . 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
/** * Returns the contribution item that the given contribution item should be * inserted after./*from ww w. j a v a 2s .co m*/ * * @param startId * the location to start looking alphabetically. * @param itemId * the target item id. * @param mgr * the contribution manager. * @return the contribution item that the given items should be returned * after. * * @since 3.0 */ private IContributionItem findAlphabeticalOrder(String startId, String itemId, IContributionManager mgr) { IContributionItem[] items = mgr.getItems(); int insertIndex = 0; // look for starting point while (insertIndex < items.length) { IContributionItem item = items[insertIndex]; if (item.getId() != null && item.getId().equals(startId)) { break; } ++insertIndex; } // Find the index that this item should be inserted in for (int i = insertIndex + 1; i < items.length; i++) { IContributionItem item = items[i]; String testId = item.getId(); if (item.isGroupMarker()) { break; } if (itemId != null && testId != null) { if (itemId.compareTo(testId) < 1) { break; } } insertIndex = i; } // Should be inserted at the end if (insertIndex >= items.length) { return null; } return items[insertIndex]; }
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; }// w w w. j av a 2s. c o m 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.ui.internal.dialogs.cpd.CustomizePerspectiveDialog.java
License:Open Source License
/** * Causes all items under the manager to be visible, so they can be read. * * @param manager//from w w w .ja v a 2 s .co m */ private static void makeAllContributionsVisible(IContributionManager manager) { IContributionItem[] items = manager.getItems(); for (IContributionItem item : items) { makeContributionVisible(item); } }
From source file:org.eclipse.ui.internal.dialogs.cpd.CustomizePerspectiveDialog.java
License:Open Source License
private void createMenuEntries(MMenu menu, DisplayItem parent) { Map<IContributionItem, IContributionItem> findDynamics = new HashMap<>(); DynamicContributionItem dynamicEntry = null; if (menu.getParent() != null) { // Search for any dynamic menu entries which will be handled later Object data = menuMngrRenderer.getManager(menu); if (data instanceof IContributionManager) { IContributionManager manager = (IContributionManager) data; IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { IContributionItem ci = items[i]; if (ci.isDynamic()) { findDynamics.put(i > 0 ? items[i - 1] : null, ci); }/*from www. j a va 2 s . co m*/ } // If there is an item with no preceding item, set it up to be // added first. if (findDynamics.containsKey(null)) { IContributionItem item = findDynamics.get(null); dynamicEntry = new DynamicContributionItem(item); dynamicEntry.setCheckState(getMenuItemIsVisible(dynamicEntry)); dynamicEntry.setActionSet(idToActionSet.get(getActionSetID(item))); parent.addChild(dynamicEntry); } } } for (MMenuElement menuItem : menu.getChildren()) { dynamicEntry = createMenuEntry(parent, findDynamics, dynamicEntry, menuItem); } }
From source file:org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog.java
License:Open Source License
/** * Causes all items under the manager to be visible, so they can be read. * /*from ww w . ja v a2 s .com*/ * @param manager */ private static void makeAllContributionsVisible(IContributionManager manager) { IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { makeContributionVisible(items[i]); } }
From source file:org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog.java
License:Open Source License
private void createMenuEntries(MMenu menu, DisplayItem parent, boolean trackDynamics) { Map<IContributionItem, IContributionItem> findDynamics = new HashMap<IContributionItem, IContributionItem>(); DynamicContributionItem dynamicEntry = null; if (trackDynamics && menu.getParent() != null) { // Search for any dynamic menu entries which will be handled later Object data = menuMngrRenderer.getManager(menu); if (data instanceof IContributionManager) { IContributionManager manager = (IContributionManager) data; IContributionItem[] items = manager.getItems(); for (int i = 0; i < items.length; i++) { if (items[i].isDynamic()) { findDynamics.put(i > 0 ? items[i - 1] : null, items[i]); }//from w w w. j ava 2 s . c o m } // If there is an item with no preceeding item, set it up to be // added first. if (findDynamics.containsKey(null)) { IContributionItem item = findDynamics.get(null); dynamicEntry = new DynamicContributionItem(item); parent.addChild(dynamicEntry); } } } for (MMenuElement menuItem : menu.getChildren()) { if ((menuItem.getLabel() != null && menuItem.getLabel().length() != 0) || (menuItem.getLocalizedLabel() != null && menuItem.getLocalizedLabel().length() != 0) || (menuItem instanceof MHandledMenuItem) || menuItem.getWidget() != null) { IContributionItem contributionItem; if (menuItem instanceof MMenu) { contributionItem = menuMngrRenderer.getManager((MMenu) menuItem); } else { contributionItem = menuMngrRenderer.getContribution(menuItem); } if (dynamicEntry != null && contributionItem.equals(dynamicEntry.getIContributionItem())) { // If the last item added is the item meant to go before the // given dynamic entry, add the dynamic entry so it is in // the // correct order. dynamicEntry.addCurrentItem((MenuItem) menuItem.getWidget()); // TODO: might not work } else { String text = menuItem.getLocalizedLabel(); if (text == null || text.length() == 0) { text = menuItem.getLabel(); } ImageDescriptor iconDescriptor = null; String iconURI = menuItem.getIconURI(); if (iconURI != null && iconURI.length() > 0) { iconDescriptor = resUtils.imageDescriptorFromURI(URI.createURI(iconURI)); } if (menuItem.getWidget() instanceof MenuItem) { MenuItem item = (MenuItem) menuItem.getWidget(); if (text == null) { if ("".equals(item.getText())) { //$NON-NLS-1$ continue; } text = item.getText(); } if (iconDescriptor == null) { Image image = item.getImage(); if (image != null) { iconDescriptor = ImageDescriptor.createFromImage(image); } } } else if (menuItem instanceof MHandledMenuItem) { MHandledMenuItem hmi = (MHandledMenuItem) menuItem; final String i18nLabel = hmi.getLocalizedLabel(); if (i18nLabel != null) { text = i18nLabel; } else if (hmi.getWbCommand() != null) { try { text = hmi.getWbCommand().getName(); } catch (NotDefinedException e) { // we'll just ignore a failure } } } DisplayItem menuEntry = new DisplayItem(text, contributionItem); if (iconDescriptor != null) { menuEntry.setImageDescriptor(iconDescriptor); } menuEntry.setActionSet((ActionSet) idToActionSet.get(getActionSetID(menuItem))); parent.addChild(menuEntry); if (ActionFactory.NEW.getId().equals(contributionItem.getId())) { initializeNewWizardsMenu(menuEntry); wizards = menuEntry; } else if (SHORTCUT_CONTRIBUTION_ITEM_ID_OPEN_PERSPECTIVE.equals(contributionItem.getId())) { initializePerspectivesMenu(menuEntry); perspectives = menuEntry; } else if (SHORTCUT_CONTRIBUTION_ITEM_ID_SHOW_VIEW.equals(contributionItem.getId())) { initializeViewsMenu(menuEntry); views = menuEntry; } else { if (menuItem instanceof MMenu) {// TODO:menuItem any // other instance createMenuEntries((MMenu) menuItem, menuEntry, trackDynamics); } } if (menuEntry.getChildren().isEmpty()) { menuEntry.setCheckState(getMenuItemIsVisible(menuEntry)); } if (iconDescriptor == null) { if (parent != null && parent.getParent() == null) { menuEntry.setImageDescriptor(menuImageDescriptor); } else if (menuEntry.getChildren().size() > 0) { menuEntry.setImageDescriptor(submenuImageDescriptor); } } } if (trackDynamics && findDynamics.containsKey(contributionItem)) { IContributionItem item = findDynamics.get(contributionItem); dynamicEntry = new DynamicContributionItem(item); dynamicEntry.setCheckState(getMenuItemIsVisible(dynamicEntry)); parent.addChild(dynamicEntry); } } else if (menuItem instanceof MOpaqueMenuItem) { IContributionItem contributionItem = menuMngrRenderer.getContribution(menuItem); if (contributionItem instanceof ActionContributionItem) { final IAction action = ((ActionContributionItem) contributionItem).getAction(); DisplayItem menuEntry = new DisplayItem(action.getText(), contributionItem); menuEntry.setImageDescriptor(action.getImageDescriptor()); menuEntry.setActionSet((ActionSet) idToActionSet.get(getActionSetID(contributionItem))); parent.addChild(menuEntry); if (menuEntry.getChildren().isEmpty()) { menuEntry.setCheckState(getMenuItemIsVisible(menuEntry)); } } } } }
From source file:org.eclipse.ui.internal.PluginActionSetBuilder.java
License:Open Source License
/** * Returns the insertion point for a new contribution item. Clients should * use this item as a reference point for insertAfter. * * @param startId the reference id for insertion * @param sortId the sorting id for the insertion. If null then the item * will be inserted at the end of all action sets. * @param mgr the target menu manager.//w w w . ja va2 s .c om * @param startVsEnd if <code>true</code> the items are added at the start of * action with the same id; else they are added to the end * @return the insertion point, or null if not found. */ public static IContributionItem findInsertionPoint(String startId, String sortId, IContributionManager mgr, boolean startVsEnd) { // Get items. IContributionItem[] items = mgr.getItems(); // Find the reference item. int insertIndex = 0; while (insertIndex < items.length) { if (startId.equals(items[insertIndex].getId())) { break; } ++insertIndex; } if (insertIndex >= items.length) { return null; } // Calculate startVsEnd comparison value. int compareMetric = 0; if (startVsEnd) { compareMetric = 1; } // Find the insertion point for the new item. // We do this by iterating through all of the previous // action set contributions define within the current group. for (int nX = insertIndex + 1; nX < items.length; nX++) { IContributionItem item = items[nX]; if (item.isSeparator() || item.isGroupMarker()) { // Fix for bug report 18357 break; } if (item instanceof IActionSetContributionItem) { if (sortId != null) { String testId = ((IActionSetContributionItem) item).getActionSetId(); if (sortId.compareTo(testId) < compareMetric) { break; } } insertIndex = nX; } else { break; } } // Return item. return items[insertIndex]; }