List of usage examples for org.eclipse.jface.action SubContributionItem getId
@Override
public String getId()
From source file:org.talend.core.model.action.DisableLanguageActions.java
License:Open Source License
public void earlyStartup() { List<String> ids = null; RepositoryContext context = (RepositoryContext) CorePlugin.getContext() .getProperty(Context.REPOSITORY_CONTEXT_KEY); if (context != null) { Project project = context.getProject(); } else {/* w w w. ja v a 2 s . c o m*/ return; } ECodeLanguage lan = LanguageManager.getCurrentLanguage(); switch (lan) { case JAVA: ids = Arrays.asList(new String[] { "org.talend.help.perl.OpenPerlHelpAction" }); //$NON-NLS-1$ break; case PERL: ids = null; break; } if (ids != null && !ids.isEmpty()) { final String[] toolsID = ids.toArray(new String[] {}); final IWorkbench workbench = PlatformUI.getWorkbench(); workbench.getDisplay().asyncExec(new Runnable() { public void run() { IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); if (window != null) { Menu menubar = window.getShell().getMenuBar(); MenuItem[] mItems = menubar.getItems(); for (MenuItem item : mItems) { Object menuItemData = item.getData(); if (menuItemData == null) { continue; } if (menuItemData instanceof MenuManager) { MenuManager menumanager = (MenuManager) menuItemData; IContributionItem[] items2 = menumanager.getItems(); for (IContributionItem contributionItem : items2) { disableActionFRomIContributionItem(toolsID, contributionItem); } } else if (menuItemData instanceof IContributionItem) { disableActionFRomIContributionItem(toolsID, (IContributionItem) menuItemData); } } } } /** * DOC smallet Comment method "disableActionFRomIContributionItem". * * @param toolsID * @param contributionItem */ private void disableActionFRomIContributionItem(final String[] toolsID, IContributionItem contributionItem) { SubContributionItem cItem; if (contributionItem instanceof SubContributionItem) { cItem = (SubContributionItem) contributionItem; IContributionItem conItems = cItem.getInnerItem(); if (conItems instanceof ActionContributionItem) { ActionContributionItem items = (ActionContributionItem) conItems; String id = cItem.getId(); if ((id != null) && (Arrays.binarySearch(toolsID, id) >= 0)) { items.getAction().setEnabled(false); } } } } }); exectued = true; } }