List of usage examples for org.eclipse.jface.action ActionContributionItem isVisible
@Override public boolean isVisible()
ActionContributionItem implementation of this ContributionItem method extends the super implementation by also checking whether the command corresponding to this action is active. From source file:org.eclipse.ui.tests.menus.MenuVisibilityTest.java
License:Open Source License
public void testBasicContribution() throws Exception { IAction a = new Action() { /*// w w w .java2 s . c o m * (non-Javadoc) * * @see org.eclipse.jface.action.Action#run() */ public void run() { System.out.println("Hello action"); } }; final MenuManager manager = new MenuManager(); final ActionContributionItem item = new ActionContributionItem(a); final Expression activeContextExpr = new ActiveContextExpression(MenuContributionHarness.CONTEXT_TEST1_ID, new String[] { ISources.ACTIVE_CONTEXT_NAME }); AbstractContributionFactory factory = new AbstractContributionFactory(LOCATION, TestPlugin.PLUGIN_ID) { /* * (non-Javadoc) * * @see org.eclipse.ui.menus.AbstractContributionFactory#createContributionItems(org.eclipse.ui.menus.IMenuService, * org.eclipse.ui.menus.AbstractContributionFactory.IContributionList) */ public void createContributionItems(IServiceLocator menuService, IContributionRoot additions) { additions.addContributionItem(item, activeContextExpr); } }; menuService.addContributionFactory(factory); menuService.populateContributionManager(manager, LOCATION); assertFalse("starting state", item.isVisible()); activeContext = contextService.activateContext(MenuContributionHarness.CONTEXT_TEST1_ID); assertTrue("active context", item.isVisible()); contextService.deactivateContext(activeContext); activeContext = null; assertFalse("after deactivation", item.isVisible()); menuService.releaseContributions(manager); menuService.removeContributionFactory(factory); manager.dispose(); }
From source file:org.eclipse.ui.tests.menus.MenuVisibilityTest.java
License:Open Source License
public void testExtensionContributionExpression() throws Exception { IAction a = new Action() { /*//from w w w . j av a 2 s . c o m * (non-Javadoc) * * @see org.eclipse.jface.action.Action#run() */ public void run() { System.out.println("Hello action"); } }; final MenuManager manager = new MenuManager(); final ActionContributionItem aci = new ActionContributionItem(a); IExtensionRegistry reg = Platform.getExtensionRegistry(); IExtensionPoint menusExtension = reg.getExtensionPoint("org.eclipse.ui.menus"); IExtension extension = menusExtension.getExtension(EXTENSION_ID); IConfigurationElement[] mas = extension.getConfigurationElements(); final Expression activeContextExpr[] = new Expression[1]; for (int i = 0; i < mas.length; i++) { IConfigurationElement ma = mas[i]; IConfigurationElement[] items = ma.getChildren(); for (int j = 0; j < items.length; j++) { IConfigurationElement item = items[j]; String id = item.getAttribute("id"); if (id != null && id.equals("org.eclipse.ui.tests.menus.itemX1")) { IConfigurationElement visibleWhenElement = item.getChildren("visibleWhen")[0]; activeContextExpr[0] = ExpressionConverter.getDefault() .perform(visibleWhenElement.getChildren()[0]); } } } assertNotNull("Failed to find expression", activeContextExpr[0]); AbstractContributionFactory factory = new AbstractContributionFactory(LOCATION, TestPlugin.PLUGIN_ID) { /* * (non-Javadoc) * * @see org.eclipse.ui.menus.AbstractContributionFactory#createContributionItems(org.eclipse.ui.menus.IMenuService, * org.eclipse.ui.menus.AbstractContributionFactory.IContributionList) */ public void createContributionItems(IServiceLocator menuService, IContributionRoot additions) { additions.addContributionItem(aci, activeContextExpr[0]); } }; menuService.addContributionFactory(factory); menuService.populateContributionManager(manager, LOCATION); assertFalse("starting state", aci.isVisible()); activeContext = contextService.activateContext(MenuContributionHarness.CONTEXT_TEST1_ID); assertTrue("active context", aci.isVisible()); contextService.deactivateContext(activeContext); activeContext = null; assertFalse("after deactivation", aci.isVisible()); menuService.releaseContributions(manager); menuService.removeContributionFactory(factory); manager.dispose(); }
From source file:org.jboss.reddeer.core.handler.MenuHandler.java
License:Open Source License
/** * Selects (click) for ActionContributionItem. * @param item to click/* www .j a v a2s . c o m*/ */ public void select(final ActionContributionItem item) { String actionNormalized = item.getAction().getText().replace("&", ""); if (!item.isEnabled()) { throw new CoreLayerException("Menu item " + actionNormalized + " is not enabled"); } else if (!item.isVisible()) { throw new CoreLayerException("Menu item " + actionNormalized + " is not visible"); } else if ((item.getAction().getStyle() == IAction.AS_CHECK_BOX) || (item.getAction().getStyle() == IAction.AS_RADIO_BUTTON)) { log.info("Click on styled contribution item: " + actionNormalized); Display.syncExec(new Runnable() { @Override public void run() { item.getAction().setChecked(!item.getAction().isChecked()); item.getAction().run(); } }); } else { log.info("Click on contribution item: " + actionNormalized); Display.asyncExec(new Runnable() { @Override public void run() { item.getAction().run(); } }); } }
From source file:org.kalypso.ui.editor.actions.FeatureSelectionActionGroup.java
License:Open Source License
/** Translates the contributions from the manager into the toolbar. */ private static void translateIntoToolbar(final IMenuManager menuManager, final IToolBarManager toolbarManager) { final IContributionItem[] items = menuManager.getItems(); for (final IContributionItem item : items) { if (item instanceof ActionContributionItem) { final ActionContributionItem aci = (ActionContributionItem) item; final IAction action = aci.getAction(); /* Only add items if they have an image, because else we get problems with editor toolbars. */ if (action.getImageDescriptor() != null) { final ActionContributionItem newAci = new ActionContributionItem(action); newAci.setMode(aci.getMode()); newAci.setVisible(aci.isVisible()); toolbarManager.add(newAci); }//from w w w . jav a2 s .com } } }