Example usage for org.eclipse.jface.action IToolBarManager getItems

List of usage examples for org.eclipse.jface.action IToolBarManager getItems

Introduction

In this page you can find the example usage for org.eclipse.jface.action IToolBarManager getItems.

Prototype

IContributionItem[] getItems();

Source Link

Document

Returns all contribution items known to this manager.

Usage

From source file:org.eclipse.linuxtools.internal.valgrind.massif.tests.ChartTests.java

License:Open Source License

private IAction getChartAction(IViewPart view) {
    IAction result = null;//from   w w  w .j a v  a2 s  . c o  m
    IToolBarManager manager = view.getViewSite().getActionBars().getToolBarManager();
    for (IContributionItem item : manager.getItems()) {
        if (item instanceof ActionContributionItem) {
            ActionContributionItem actionItem = (ActionContributionItem) item;
            if (actionItem.getAction().getId().equals(MassifViewPart.CHART_ACTION)) {
                result = actionItem.getAction();
            }
        }
    }
    return result;
}

From source file:org.eclipse.linuxtools.internal.valgrind.massif.tests.MultiProcessTest.java

License:Open Source License

public void testExecPidMenu() throws Exception {
    ILaunchConfigurationWorkingCopy config = createConfiguration(proj.getProject()).getWorkingCopy();
    config.setAttribute(LaunchConfigurationConstants.ATTR_GENERAL_TRACECHILD, true);
    config.doSave();/*from   w ww.  j  a v a  2  s.c  o  m*/
    doLaunch(config, "testExec"); //$NON-NLS-1$

    ValgrindViewPart view = ValgrindUIPlugin.getDefault().getView();
    MassifViewPart dynamicView = (MassifViewPart) view.getDynamicView();
    MassifOutput output = dynamicView.getOutput();

    MassifPidMenuAction menuAction = null;
    IToolBarManager manager = view.getViewSite().getActionBars().getToolBarManager();
    for (IContributionItem item : manager.getItems()) {
        if (item instanceof ActionContributionItem
                && ((ActionContributionItem) item).getAction() instanceof MassifPidMenuAction) {
            menuAction = (MassifPidMenuAction) ((ActionContributionItem) item).getAction();
        }
    }

    assertNotNull(menuAction);

    Integer[] pids = dynamicView.getOutput().getPids();
    Shell shell = new Shell(Display.getCurrent());
    Menu pidMenu = menuAction.getMenu(shell);

    assertEquals(2, pidMenu.getItemCount());
    ActionContributionItem firstPid = (ActionContributionItem) pidMenu.getItem(0).getData();
    ActionContributionItem secondPid = (ActionContributionItem) pidMenu.getItem(1).getData();

    // check initial state
    assertTrue(firstPid.getAction().isChecked());
    assertFalse(secondPid.getAction().isChecked());
    assertEquals(output.getSnapshots(pids[0]), dynamicView.getSnapshots());

    // select second pid
    selectItem(pidMenu, 1);

    assertFalse(firstPid.getAction().isChecked());
    assertTrue(secondPid.getAction().isChecked());
    assertEquals(output.getSnapshots(pids[1]), dynamicView.getSnapshots());

    // select second pid again
    selectItem(pidMenu, 1);

    assertFalse(firstPid.getAction().isChecked());
    assertTrue(secondPid.getAction().isChecked());
    assertEquals(output.getSnapshots(pids[1]), dynamicView.getSnapshots());

    // select first pid
    selectItem(pidMenu, 0);

    assertTrue(firstPid.getAction().isChecked());
    assertFalse(secondPid.getAction().isChecked());
    assertEquals(output.getSnapshots(pids[0]), dynamicView.getSnapshots());
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.navigator.ReviewNavigatorActionGroup.java

License:Open Source License

/**
 * Method dialogOpenNotify.//ww  w  .j  a v  a 2s  . c  o  m
 */
public void dialogOpenNotify() {
    //A dialog is open, refresh menus accordingly
    final IToolBarManager toolbar = fView.getViewSite().getActionBars().getToolBarManager();
    final IContributionItem[] items = toolbar.getItems();
    for (IContributionItem item : items) {
        if (item instanceof ActionContributionItem) {
            if (R4EUIModelController.isJobInProgress()) {
                ((ActionContributionItem) item).getAction().setEnabled(false);
            } else {
                ((ActionContributionItem) item).getAction().setEnabled(true);
            }
        }
    }
}

From source file:org.eclipse.orion.internal.server.ui.console.OrionConsoleView.java

License:Open Source License

protected void configureToolBar(IToolBarManager mgr) {
    super.configureToolBar(mgr);

    mgr.remove(IConsoleConstants.LAUNCH_GROUP);
    IContributionItem[] items = mgr.getItems();
    if (items.length >= 3) {
        mgr.remove(items[items.length - 1]);
        mgr.remove(items[items.length - 2]);
        mgr.remove(items[items.length - 3]);
    }/*from  w  ww  .ja v a2s .  com*/
}

From source file:org.eclipse.papyrus.ui.perspectiveconfiguration.PapyrusPerspectiveListener.java

License:Open Source License

/**
 * this method search all identifier of menu toolbar and actionSet that are loaded in eclipse
 * //from ww w .j a  va  2 s . com
 * @return a structure that contains all references of the toolbar, menu, and actionSet..
 */
protected CustomizeActionBars loadData() {

    CustomizeActionBars ownedActionBar = new CustomizeActionBars(null);
    //actionSet
    // Just get the action sets at this point. Do not load the action set
    // until it is actually selected in the dialog.
    ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
    IActionSetDescriptor[] sets = reg.getActionSets();
    IActionSetDescriptor[] actionSetDescriptors = ((WorkbenchPage) window.getActivePage()).getActionSets();
    List initiallyAvailableActionSets = Arrays.asList(actionSetDescriptors);
    ownedActionBar.setActionSet(initiallyAvailableActionSets);

    // Fill fake action bars with static menu information.
    ((WorkbenchWindow) window).fillActionBars(ownedActionBar,
            ActionBarAdvisor.FILL_PROXY | ActionBarAdvisor.FILL_MENU_BAR | ActionBarAdvisor.FILL_COOL_BAR);
    //   Activator.log.debug("\n+-> ActionSetDescriptor");
    for (int i = 0; i < sets.length; i++) {
        ActionSetDescriptor actionSetDesc = (ActionSetDescriptor) sets[i];
        //   Activator.log.debug("+--->" + actionSetDesc.getId());

    }

    final IMenuService menuService = (IMenuService) window.getService(IMenuService.class);
    menuService.populateContributionManager((ContributionManager) ownedActionBar.getMenuManager(),
            MenuUtil.MAIN_MENU);
    //Activator.log.debug("\n+-> Menu " + ownedActionBar.getMenuManager().getItems().length);
    for (int i = 0; i < ownedActionBar.getMenuManager().getItems().length; i++) {
        IContributionItem item = ownedActionBar.getMenuManager().getItems()[i];
        //   Activator.log.debug("+--->" + item.getId());
    }

    IToolBarManager toolBarManager = ownedActionBar.getToolBarManager();
    menuService.populateContributionManager((ContributionManager) toolBarManager, MenuUtil.MAIN_TOOLBAR);
    //Activator.log.debug("\n+-> toolbar " + ownedActionBar.getToolBarManager() + " " + ownedActionBar.getToolBarManager().getItems().length);
    for (int i = 0; i < ownedActionBar.getToolBarManager().getItems().length; i++) {
        IContributionItem item = toolBarManager.getItems()[i];
        //Activator.log.debug("+--->" + item.getId());
    }

    return ownedActionBar;
}

From source file:org.eclipse.rap.demo.presentation.DemoCoolBarManager.java

License:Open Source License

public void update(boolean force) {
    IContributionItem[] contributionItems = getItems();
    List<Object> actions = new ArrayList<Object>();
    for (int i = 0; i < contributionItems.length; i++) {
        if (contributionItems[i] instanceof ToolBarContributionItem) {
            ToolBarContributionItem item = (ToolBarContributionItem) contributionItems[i];
            if (item.isVisible()) {
                IToolBarManager toolBarManager = item.getToolBarManager();
                IContributionItem[] toolBarItems = toolBarManager.getItems();
                for (int j = 0; j < toolBarItems.length; j++) {
                    ActionContributionItem actionItem = (ActionContributionItem) toolBarItems[j];
                    actions.add(actionItem.getAction());
                }//from   w w  w.  j a v  a  2 s  .  c  o  m
            }
        } else {
            // TODO [fappel]
        }
        if (i + 2 < contributionItems.length) {
            actions.add("Separator");
        }
    }

    ActionBar.create(actions, control);
}

From source file:org.eclipse.rap.interactiondesign.tests.ConfigurableStackTest.java

License:Open Source License

public void testCreatePartToolBar() {
    Control partToolBar = stack.createPartToolBar();
    assertNull(partToolBar);//from   w w  w  .  j  a  va 2 s  .  co m
    IToolBarManager manager = stack.getPartToolBarManager();
    createToolbarItems(manager);
    assertEquals(6, manager.getItems().length);
    stack.getConfigAction().saveViewActionVisibility(VIEW_ID, "org.eclipse.actionid3", true);
    partToolBar = stack.createPartToolBar();
    assertNotNull(partToolBar);
    stack.getConfigAction().saveViewActionVisibility(VIEW_ID, "org.eclipse.actionid3", false);

}

From source file:org.eclipse.rap.internal.design.example.managers.CoolBarManager.java

License:Open Source License

@Override
public void update(final boolean force) {
    if ((isDirty() || force) && getControl2() != null) {
        refresh();//from   w w  w .  j ava 2 s  . c o  m
        boolean changed = false;

        /*
         * Make a list of items including only those items that are
         * visible. Separators are being removed. Because we use only one Toolbar
         * all ToolBarContributionItems will be extracted in their IContribution
         * Items.
         */
        final IContributionItem[] items = getItems();
        final List visibleItems = new ArrayList(items.length);
        for (int i = 0; i < items.length; i++) {
            final IContributionItem item = items[i];
            if (item.isVisible()) {
                if (item instanceof IToolBarContributionItem) {
                    IToolBarContributionItem toolbarItem = (IToolBarContributionItem) item;
                    IToolBarManager toolBarManager = toolbarItem.getToolBarManager();
                    IContributionItem[] toolbarItems = toolBarManager.getItems();
                    for (int j = 0; j < toolbarItems.length; j++) {
                        final IContributionItem toolItem = toolbarItems[j];
                        if (toolItem.isVisible() && !toolItem.isSeparator()) {
                            visibleItems.add(toolItem);
                        }
                    }
                }
            }
        }

        /*
         * Make a list of ToolItem widgets in the tool bar for which there
         * is no current visible contribution item. These are the widgets
         * to be disposed. Dynamic items are also removed.
         */
        ToolItem[] toolItems = toolbar.getItems();
        final ArrayList toolItemsToRemove = new ArrayList(toolItems.length);
        for (int i = 0; i < toolItems.length; i++) {
            final Object data = toolItems[i].getData();
            if ((data == null) || (!visibleItems.contains(data))
                    || ((data instanceof IContributionItem) && ((IContributionItem) data).isDynamic())) {
                toolItemsToRemove.add(toolItems[i]);
            }
        }

        // Dispose of any items in the list to be removed.
        for (int i = toolItemsToRemove.size() - 1; i >= 0; i--) {
            ToolItem toolItem = (ToolItem) toolItemsToRemove.get(i);
            if (!toolItem.isDisposed()) {
                Control control = toolItem.getControl();
                if (control != null) {
                    toolItem.setControl(null);
                    control.dispose();
                }
                toolItem.dispose();
            }
        }

        // Add any new items by telling them to fill.
        toolItems = toolbar.getItems();
        IContributionItem sourceItem;
        IContributionItem destinationItem;
        int sourceIndex = 0;
        int destinationIndex = 0;
        final Iterator visibleItemItr = visibleItems.iterator();
        while (visibleItemItr.hasNext()) {
            sourceItem = (IContributionItem) visibleItemItr.next();

            // Retrieve the corresponding contribution item from SWT's
            // data.
            if (sourceIndex < toolItems.length) {
                destinationItem = (IContributionItem) toolItems[sourceIndex].getData();
            } else {
                destinationItem = null;
            }

            // The items match if they are equal or both separators.
            if (destinationItem != null) {
                if (sourceItem.equals(destinationItem)) {
                    sourceIndex++;
                    destinationIndex++;
                    sourceItem.update();
                    continue;
                } else if ((destinationItem.isSeparator()) && (sourceItem.isSeparator())) {
                    toolItems[sourceIndex].setData(sourceItem);
                    sourceIndex++;
                    destinationIndex++;
                    sourceItem.update();
                    continue;
                }
            }

            // Otherwise, a new item has to be added.
            final int start = toolbar.getItemCount();
            sourceItem.fill(toolbar, destinationIndex);
            final int newItems = toolbar.getItemCount() - start;
            // add the selection listener for the styling
            StylingSelectionAdapter listener = new StylingSelectionAdapter(HEADER_TOOLBAR_VARIANT);
            for (int i = 0; i < newItems; i++) {
                ToolItem item = toolbar.getItem(destinationIndex++);
                item.setData(sourceItem);
                item.addSelectionListener(listener);
            }
            changed = true;
        }

        // Remove any old widgets not accounted for.
        for (int i = toolItems.length - 1; i >= sourceIndex; i--) {
            final ToolItem item = toolItems[i];
            if (!item.isDisposed()) {
                Control control = item.getControl();
                if (control != null) {
                    item.setControl(null);
                    control.dispose();
                }
                item.dispose();
                changed = true;
            }
        }

        // Update wrap indices. only needed by a coolbar
        //updateWrapIndices();

        // Update the sizes.
        for (int i = 0; i < items.length; i++) {
            IContributionItem item = items[i];
            item.update(SIZE);
        }

        if (changed) {
            updateToolbarTabOrder();
        }

        // We are no longer dirty.
        setDirty(false);
        styleToolItems();
        toolbar.pack();
        toolbar.layout(true, true);
        manageOverflow();
    }
}

From source file:org.eclipse.rap.internal.design.example.stacks.ViewStackPresentation.java

License:Open Source License

private void handleConfigurationButton() {
    boolean hasViewMenu = false;
    if (currentPart != null && currentPart instanceof PresentablePart) {
        PresentablePart part = (PresentablePart) currentPart;
        if (part.getPane() != null) {
            hasViewMenu = part.getPane().hasViewMenu();
            IToolBarManager manager = getPartToolBarManager();
            boolean hasViewActions = manager != null && manager.getItems().length > 0;
            if ((hasViewActions || hasViewMenu) && !allActionsVisible) {
                if (confButton != null) {
                    // enable conf button
                    confButton.setEnabled(true);
                    String buttonTooltip = Messages.get().ViewStackPresentation_ConfButtonToolTipEnabled;
                    String toolTip = buttonTooltip + currentPart.getName();
                    confButton.setToolTipText(toolTip);
                }/*ww  w.  j ava  2s  . c  om*/
            } else {
                if (confButton != null) {
                    // disable conf button
                    confButton.setEnabled(false);
                    String buttonToolTip = Messages.get().ViewStackPresentation_ConfButtonToolTipDisabled;
                    String toolTip = currentPart.getName() + buttonToolTip;
                    confButton.setToolTipText(toolTip);
                }
            }
        }
    }
}

From source file:org.eclipse.rap.ui.interactiondesign.ConfigurableStack.java

License:Open Source License

public Control createPartToolBar() {
    Control result = null;/*from   www.j a va2s  . c o m*/
    IToolBarManager manager = getPartToolBarManager();
    ConfigurationAction action = getConfigAction();
    IStackPresentationSite site = getSite();
    int actionCount = 0;
    if (action != null && manager != null) {
        addPropertyChangeListenerToToolBar(manager);
        IContributionItem[] items = manager.getItems();
        String paneId = getPaneId(site);

        // get the toolbar
        if (manager instanceof IToolBarManager2) {
            result = ((IToolBarManager2) manager).getControl2();
        }
        // set the correct visibility
        for (int i = 0; i < items.length; i++) {
            IContributionItem item = items[i];
            boolean isVisible = action.isViewActionVisibile(paneId, item.getId());
            if ((!item.isVisible() && isVisible) || (item.isVisible() && !isVisible)) {
                item.setVisible(isVisible);
            }
            if (isVisible) {
                actionCount++;
            }
        }

        // update the toolbar manager with the new visibility
        if (manager != null && result != null) {
            manager.update(true);
        }

        // if no item is visible the toolbar should be null
        if (actionCount <= 0) {
            result = null;
        }
        if (result != null) {
            result.pack();
            result.setVisible(true);
        }
    }
    return result;
}