Example usage for org.eclipse.jface.action ActionContributionItem isVisible

List of usage examples for org.eclipse.jface.action ActionContributionItem isVisible

Introduction

In this page you can find the example usage for org.eclipse.jface.action ActionContributionItem isVisible.

Prototype

@Override
public boolean isVisible() 

Source Link

Document

The ActionContributionItem implementation of this ContributionItem method extends the super implementation by also checking whether the command corresponding to this action is active.

Usage

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
        }
    }
}