Example usage for org.eclipse.jface.action IMenuManager findUsingPath

List of usage examples for org.eclipse.jface.action IMenuManager findUsingPath

Introduction

In this page you can find the example usage for org.eclipse.jface.action IMenuManager findUsingPath.

Prototype

public IContributionItem findUsingPath(String path);

Source Link

Document

Finds the contribution item at the given path.

Usage

From source file:com.github.haixing_hu.swt.menu.MenuManagerEx.java

License:Open Source License

@Override
public IContributionItem findUsingPath(String path) {
    String id = path;/* w  w  w. j a va 2 s  .co m*/
    String rest = null;
    final int separator = path.indexOf('/');
    if (separator != -1) {
        id = path.substring(0, separator);
        rest = path.substring(separator + 1);
    } else {
        return super.find(path);
    }

    final IContributionItem item = super.find(id);
    if (item instanceof IMenuManager) {
        final IMenuManager manager = (IMenuManager) item;
        return manager.findUsingPath(rest);
    }
    return null;
}

From source file:com.rcpcompany.uibindings.navigator.extests.editors.ShowViewTest.java

License:Open Source License

/**
 * Tests the menu and toolbar of the view
 *//* ww  w . j a  v  a2 s .  co m*/
@Test
public void toolbar() {
    final BaseEditorView shopView = (BaseEditorView) myManager.openView(myShop1, false);
    final IActionBars actionBars = shopView.getViewSite().getActionBars();
    /*
     * Items of the menu
     */
    final IMenuManager menu = actionBars.getMenuManager();
    menu.updateAll(true);
    menu.findUsingPath("");

    final IToolBarManager toolBar = actionBars.getToolBarManager();
}

From source file:net.refractions.udig.internal.ui.operations.OperationMenuFactory.java

License:Open Source License

/**
 * TODO summary sentence for addActionToMenu ...
 * //from   w  w w  .java 2s .  c  o  m
 * @param menuBar
 * @param action
 */
private void addActionToMenu(IMenuManager menuBar, OpAction action) {
    if (action.getMenuPath() != null)
        try {
            String[] paths = action.getMenuPath().split("/"); //$NON-NLS-1$
            IMenuManager manager = menuBar.findMenuUsingPath(IWorkbenchActionConstants.MB_ADDITIONS);
            if (manager == null) {
                manager = menuBar;
            }
            String markerID = null;
            for (String path : paths) {
                markerID = null;
                IContributionItem item = manager.findUsingPath(path);
                if (item == null) {
                    UiPlugin.log(action.getMenuPath() + " is not a valid menuPath", null); //$NON-NLS-1$
                    break;
                }
                if (item instanceof IMenuManager) {
                    manager = (IMenuManager) item;
                } else if (item.isGroupMarker()) {
                    markerID = item.getId();
                } else if (item instanceof SubContributionItem) {
                    item = ((SubContributionItem) item).getInnerItem();
                    if (item instanceof IMenuManager) {
                        manager = (IMenuManager) item;
                    } else if (item.isGroupMarker()) {
                        markerID = item.getId();
                    }
                }
            }
            if (manager != null) {
                if (markerID != null)
                    manager.appendToGroup(markerID, action);
                else {
                    manager.add(action);
                }
            } else {
                UiPlugin.log(action.getMenuPath() + " is not a valid menuPath", null); //$NON-NLS-1$                                
            }
        } catch (Exception e) {
            UiPlugin.log("Error adding operation to menu", e); //$NON-NLS-1$
        }
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

/**
 * @param menuBar//  w w w.j a  v a2 s. c o m
 * @param window The window that contains this menu
 */
public void fillMenuBar(IMenuManager menuBar, IWorkbenchWindow window) {

    IMenuManager fileMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_FILE);
    if (fileMenu == null) {
        fileMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_file, IWorkbenchActionConstants.M_FILE);
        if (menuBar.getItems().length > 0) {
            menuBar.insertBefore(menuBar.getItems()[0].getId(), fileMenu);
        } else {
            menuBar.add(fileMenu);
        }
    }

    IMenuManager editMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
    if (editMenu == null) {
        editMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_edit, IWorkbenchActionConstants.M_EDIT);
        menuBar.insertAfter(IWorkbenchActionConstants.M_FILE, editMenu);
    }
    if (menuBar.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) {
        menuBar.insertAfter(IWorkbenchActionConstants.M_EDIT,
                new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    }
    IMenuManager windowMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_WINDOW);
    if (windowMenu == null) {
        windowMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_window, IWorkbenchActionConstants.M_WINDOW);
        menuBar.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, windowMenu);
    }
    IMenuManager helpMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_HELP);
    if (helpMenu == null) {
        helpMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_help, IWorkbenchActionConstants.M_HELP);
        menuBar.insertAfter(IWorkbenchActionConstants.M_WINDOW, helpMenu);
    }

    fillFileMenu(window, fileMenu);
    fillEditMenu(window, editMenu);
    fillWindowMenu(window, windowMenu);
    fillHelpMenu(window, helpMenu);
    UiPlugin.getDefault().getOperationMenuFactory().setWindow(window);
    menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS,
            UiPlugin.getDefault().getOperationMenuFactory().getMenu());
    menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createNavigationMenu());
    menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createLayerMenu());
    menuBar.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, createToolMenu());
    UiPlugin.getDefault().getOperationMenuFactory().contributeActions(menuBar);
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

private void setupFileMenuStructure(IMenuManager fileMenu) {
    if (fileMenu.findUsingPath(IWorkbenchActionConstants.FILE_START) == null) {
        if (fileMenu.getItems().length > 0) {
            fileMenu.insertBefore(fileMenu.getItems()[0].getId(), new GroupMarker(Constants.FILE_START));
        } else {/*from ww  w  .j  av  a 2s .c o m*/
            fileMenu.add(new GroupMarker(Constants.FILE_START));
        }
    }

    if (fileMenu.findUsingPath(Constants.OPEN_EXT) == null) {
        fileMenu.insertAfter(Constants.FILE_START, new GroupMarker(Constants.OPEN_EXT));
    }

    if (fileMenu.findUsingPath(Constants.CLOSE_EXT) == null) {
        fileMenu.insertAfter(Constants.OPEN_EXT, new GroupMarker(Constants.CLOSE_EXT));
    }

    if (fileMenu.findUsingPath(Constants.SAVE_EXT) == null) {
        fileMenu.insertAfter(Constants.CLOSE_EXT, new GroupMarker(Constants.SAVE_EXT));
    }

    if (fileMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) {
        fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    }

    if (fileMenu.findUsingPath(Constants.FILE_END) == null) {
        fileMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new GroupMarker(Constants.FILE_END));
    }

    fileMenu.insertAfter(Constants.OPEN_EXT, new Separator());
    fileMenu.insertAfter(Constants.CLOSE_EXT, new Separator());
    fileMenu.insertAfter(Constants.SAVE_EXT, new Separator());
    fileMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new Separator());
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

private void fillFileMenu(IWorkbenchWindow window, IMenuManager fileMenu) {
    setupFileMenuStructure(fileMenu);//from  ww  w .jav  a2s  .  c o m

    IMenuManager newMenu = fileMenu.findMenuUsingPath(ActionFactory.NEW.getId());
    if (newMenu == null) {
        newMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_new, ActionFactory.NEW.getId());
        fileMenu.insertAfter(Constants.FILE_START, newMenu);
    }

    newMenu.add(new GroupMarker(Constants.NEW_START));

    List<IConfigurationElement> list = ExtensionPointList
            .getExtensionPointList(NewObjectContribution.NEW_ACTION_ID);
    Collections.sort(list, new NewObjectDelegateComparator());
    for (IConfigurationElement element : list) {
        final NewObjectDelegate item = new NewObjectDelegate(element, window);
        Action newAction = new Action() {
            @Override
            public void runWithEvent(org.eclipse.swt.widgets.Event event) {
                item.runAction();
            }
        };
        newAction.setText(item.text);
        newAction.setImageDescriptor(item.icon);
        newMenu.appendToGroup(Constants.NEW_START, newAction);
    }
    newMenu.add(ContributionItemFactory.NEW_WIZARD_SHORTLIST.create(window));

    if (fileMenu.findUsingPath(ActionFactory.CLOSE.getId()) == null) {
        IAction close = ActionFactory.CLOSE.create(window);
        fileMenu.insertAfter(Constants.CLOSE_EXT, close);
    }

    if (fileMenu.findUsingPath(ActionFactory.CLOSE_ALL.getId()) == null) {
        IAction closeAll = ActionFactory.CLOSE_ALL.create(window);
        fileMenu.insertAfter(ActionFactory.CLOSE.getId(), closeAll);
    }

    if (fileMenu.findUsingPath(ActionFactory.SAVE.getId()) == null) {
        IAction save = ActionFactory.SAVE.create(window);
        fileMenu.insertBefore(Constants.SAVE_EXT, save);
    }

    if (fileMenu.findUsingPath(ActionFactory.SAVE_ALL.getId()) == null) {
        IAction saveAll = ActionFactory.SAVE_ALL.create(window);
        fileMenu.insertBefore(Constants.SAVE_EXT, saveAll);
    }

    //fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(Constants.REVERT_EXT));
    fileMenu.insertAfter(Constants.SAVE_EXT, new GroupMarker(Constants.COMMIT_EXT));

    fileMenu.insertBefore(Constants.FILE_END, new GroupMarker(Constants.RENAME_EXT));
    fileMenu.insertAfter(Constants.RENAME_EXT, new Separator());

    if (fileMenu.findUsingPath(ActionFactory.REFRESH.getId()) == null) {
        fileMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS,
                new GroupMarker(ActionFactory.REFRESH.getId()));
    }

    if (fileMenu.findUsingPath(ActionFactory.IMPORT.getId()) == null) {
        IAction _import = ActionFactory.IMPORT.create(window);
        fileMenu.insertBefore(Constants.FILE_END, _import);
        fileMenu.insertAfter(ActionFactory.IMPORT.getId(), new Separator());
    }

    if (fileMenu.findUsingPath(ActionFactory.EXPORT.getId()) == null) {
        IAction _export = ActionFactory.EXPORT.create(window);
        fileMenu.insertBefore(Constants.FILE_END, _export);
        fileMenu.insertAfter(ActionFactory.EXPORT.getId(), new Separator());
    }

    fileMenu.insertBefore(Constants.FILE_END, new GroupMarker(Constants.CONFIG_EXT));
    fileMenu.insertAfter(Constants.CONFIG_EXT, new Separator());

    if (fileMenu.findUsingPath(ActionFactory.QUIT.getId()) == null) {
        IAction exit = ActionFactory.QUIT.create(window);
        fileMenu.insertAfter(Constants.FILE_END, exit);
    }
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

private void fillEditMenu(IWorkbenchWindow window, IMenuManager editMenu) {
    if (editMenu.findUsingPath(Constants.EDIT_START) == null) {
        if (editMenu.getItems().length > 0) {
            editMenu.insertBefore(editMenu.getItems()[0].getId(), new GroupMarker(Constants.EDIT_START));
        } else {// ww  w.  j  a  v a2s .co  m
            editMenu.add(new GroupMarker(Constants.EDIT_START));
        }
    }

    if (editMenu.findUsingPath(Constants.UNDO_EXT) == null) {
        editMenu.insertAfter(Constants.EDIT_START, new GroupMarker(Constants.UNDO_EXT));
    }

    if (editMenu.findUsingPath(Constants.CUT_EXT) == null) {
        editMenu.insertAfter(Constants.UNDO_EXT, new GroupMarker(Constants.CUT_EXT));
    }

    if (editMenu.findUsingPath(Constants.ADD_EXT) == null) {
        editMenu.insertAfter(Constants.CUT_EXT, new GroupMarker(Constants.ADD_EXT));
    }

    if (editMenu.findUsingPath(Constants.EDIT_END) == null) {
        editMenu.insertAfter(Constants.ADD_EXT, new GroupMarker(Constants.EDIT_END));
    }
    if (editMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) {
        editMenu.insertAfter(Constants.EDIT_END, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    }

    editMenu.appendToGroup(Constants.UNDO_EXT, ActionFactory.UNDO.create(window));
    editMenu.appendToGroup(Constants.UNDO_EXT, ActionFactory.REDO.create(window));
    editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.CUT.create(window));
    editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.COPY.create(window));
    editMenu.appendToGroup(Constants.CUT_EXT, ActionFactory.PASTE.create(window));
    editMenu.appendToGroup(Constants.ADD_EXT, ActionFactory.DELETE.create(window));
    // appendToGroup(Constants.ADD_EXT, ActionFactory.SELECT_ALL.create(window));

    editMenu.insertAfter(Constants.UNDO_EXT, new Separator());
    editMenu.insertAfter(Constants.CUT_EXT, new Separator());
    editMenu.insertAfter(Constants.EDIT_END, new Separator());
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

private void fillWindowMenu(IWorkbenchWindow window, IMenuManager windowMenu) {

    if (windowMenu.findUsingPath(ActionFactory.OPEN_NEW_WINDOW.getId()) == null) {
        IAction openNewWindow = ActionFactory.OPEN_NEW_WINDOW.create(window);
        openNewWindow.setText(Messages.UDIGWorkbenchAdvisor_newWindow_text);
        if (windowMenu.getItems().length > 0) {
            windowMenu.insertBefore(windowMenu.getItems()[0].getId(), openNewWindow);
        } else {//  w  w  w . j ava 2s .  c  om
            windowMenu.add(openNewWindow);
        }
    }

    IMenuManager perspectiveMenu = windowMenu
            .findMenuUsingPath(ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId());
    if (perspectiveMenu == null) {
        perspectiveMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_open_perspective,
                ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId());
        windowMenu.insertAfter(ActionFactory.OPEN_NEW_WINDOW.getId(), perspectiveMenu);
        IContributionItem perspectiveList = ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window);
        perspectiveMenu.add(perspectiveList);
    }

    IMenuManager viewMenu = windowMenu.findMenuUsingPath(ContributionItemFactory.VIEWS_SHORTLIST.getId());
    if (viewMenu == null) {
        viewMenu = new MenuManager(Messages.UDIGWorkbenchAdvisor_show_view,
                ContributionItemFactory.VIEWS_SHORTLIST.getId());
        windowMenu.insertAfter(ContributionItemFactory.PERSPECTIVES_SHORTLIST.getId(), viewMenu);
        IContributionItem viewList = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
        viewMenu.add(viewList);
    }

    if (windowMenu.findUsingPath(ContributionItemFactory.OPEN_WINDOWS.getId()) == null) {
        // append this one to the end and we'll work backward from it
        windowMenu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));
    }

    if (windowMenu.findUsingPath(ActionFactory.PREFERENCES.getId()) == null) {
        IAction preferences = ActionFactory.PREFERENCES.create(window);
        preferences.setText(Messages.UDIGWorkbenchAdvisor_preferences_text);
        windowMenu.insertBefore(ContributionItemFactory.OPEN_WINDOWS.getId(), preferences);
    }

    if (windowMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) {
        windowMenu.insertBefore(ActionFactory.PREFERENCES.getId(),
                new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    }

    if (windowMenu.findUsingPath(ActionFactory.CLOSE_ALL_PERSPECTIVES.getId()) == null) {
        IAction closeAllPerspectives = ActionFactory.CLOSE_ALL_PERSPECTIVES.create(window);
        closeAllPerspectives.setText(Messages.UDIGWorkbenchAdvisor_closeAllPerspectives_text);
        windowMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, closeAllPerspectives);
    }

    if (windowMenu.findUsingPath(ActionFactory.CLOSE_PERSPECTIVE.getId()) == null) {
        IAction closePerspective = ActionFactory.CLOSE_PERSPECTIVE.create(window);
        closePerspective.setText(Messages.UDIGWorkbenchAdvisor_closePerspective_text);
        windowMenu.insertBefore(ActionFactory.CLOSE_ALL_PERSPECTIVES.getId(), closePerspective);
    }

    if (windowMenu.findUsingPath(ActionFactory.RESET_PERSPECTIVE.getId()) == null) {
        IAction resetPerspective = ActionFactory.RESET_PERSPECTIVE.create(window);
        resetPerspective.setText(Messages.UDIGWorkbenchAdvisor_resetPerspective_text);
        windowMenu.insertBefore(ActionFactory.CLOSE_PERSPECTIVE.getId(), resetPerspective);
    }

    // Add the separators
    windowMenu.insertAfter(ActionFactory.OPEN_NEW_WINDOW.getId(), new Separator());
    windowMenu.insertAfter(ContributionItemFactory.VIEWS_SHORTLIST.getId(), new Separator());
    windowMenu.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, new Separator());
    windowMenu.insertAfter(IWorkbenchActionConstants.MB_ADDITIONS, new Separator());
}

From source file:net.refractions.udig.ui.UDIGMenuBuilder.java

License:Open Source License

private void fillHelpMenu(IWorkbenchWindow window, IMenuManager helpMenu) {

    if (helpMenu.findUsingPath(ActionFactory.INTRO.getId()) == null) {
        IAction welcome = ActionFactory.INTRO.create(window);
        welcome.setText(Messages.UDIGWorkbenchAdvisor_welcome_text);
        if (helpMenu.getItems().length > 0) {
            helpMenu.insertBefore(helpMenu.getItems()[0].getId(), welcome);
        } else {//  w  ww . ja v  a  2  s  .  c o  m
            helpMenu.add(welcome);
        }
    }

    if (helpMenu.findUsingPath(Constants.HELP_START) == null) {
        helpMenu.insertAfter(ActionFactory.INTRO.getId(), new GroupMarker(Constants.HELP_START));
    }

    if (helpMenu.findUsingPath(ActionFactory.HELP_CONTENTS.getId()) == null) {
        IAction helpContents = ActionFactory.HELP_CONTENTS.create(window);
        helpContents.setText(Messages.UDIGWorkbenchAdvisor_helpContents_text);
        helpMenu.insertBefore(Constants.HELP_START, helpContents);
    }

    if (helpMenu.findUsingPath(Constants.HELP_END) == null) {
        helpMenu.insertAfter(Constants.HELP_START, new GroupMarker(Constants.HELP_END));
    }

    // Tips and tricks page would go after HELP_START

    if (helpMenu.findUsingPath(IWorkbenchActionConstants.MB_ADDITIONS) == null) {
        helpMenu.insertAfter(Constants.HELP_END, new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    }

    // Add the separators
    helpMenu.insertAfter(ActionFactory.INTRO.getId(), new Separator());
    helpMenu.insertBefore(Constants.HELP_START, new Separator());
    helpMenu.insertAfter(Constants.HELP_END, new Separator());
    // helpMenu.insertAfter(, new Separator());

    if (helpMenu.findUsingPath(ActionFactory.ABOUT.getId()) == null) {
        IAction about = ActionFactory.ABOUT.create(window);
        about.setText(Messages.UDIGWorkbenchAdvisor_aboutUDig_text);
        // About should always be at the bottom, so just append it to the menu
        helpMenu.add(about);
    }
}

From source file:org.eclipse.birt.report.designer.internal.ui.editors.DesignerActionBarContributor.java

License:Open Source License

private void contributeElementMenu(MenuManager elementMenu) {
    MenuManager insertMenu = new MenuManager(
            Messages.getString("DesignerActionBarContributor.menu.element.insert")); //$NON-NLS-1$
    insertMenu.add(getAction(InsertRowAboveAction.ID));
    insertMenu.add(getAction(InsertRowBelowAction.ID));
    insertMenu.add(getAction(InsertColumnLeftAction.ID));
    insertMenu.add(getAction(InsertColumnRightAction.ID));
    elementMenu.add(insertMenu);//  ww  w .j  av  a2  s  . co m
    elementMenu.add(new Separator());

    elementMenu.add(getAction(MergeAction.ID));
    elementMenu.add(getAction(SplitAction.ID));
    elementMenu.add(new Separator());

    MenuManager groupMenu = new MenuManager(
            Messages.getString("DesignerActionBarContributor.menu.element.group")); //$NON-NLS-1$
    MenuManager insertGroupMenu = new MenuManager(
            Messages.getString("DesignerActionBarContributor.element.group"), InsertGroupMenuAction.ID); //$NON-NLS-1$
    insertGroupMenu.add(NoneAction.getInstance());
    insertGroupMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            updateInsertGroupMenu(InsertGroupMenuAction.ID, manager);
        }
    });
    groupMenu.add(insertGroupMenu);

    MenuManager editGroupMenu = new MenuManager(
            Messages.getString("DesignerActionBarContributor.menu.element-EditGroup")); //$NON-NLS-1$
    editGroupMenu.add(NoneAction.getInstance());
    editGroupMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            updateDynamicItems(EditGroupMenuAction.ID, manager);
        }
    });
    groupMenu.add(editGroupMenu);
    elementMenu.add(groupMenu);
    elementMenu.add(new Separator());

    elementMenu.add(getAction(CreatePlaceHolderPartAction.ID));
    elementMenu.add(getAction(RevertToReportItemPartAction.ID));

    elementMenu.add(new Separator());
    elementMenu.add(getAction(CreateChartAction.ID));
    elementMenu.add(new Separator());

    MenuManager styleMenu = new MenuManager(
            Messages.getString("DesignerActionBarContributor.menu.element.style")); //$NON-NLS-1$
    contributeStyleMenu(styleMenu);
    elementMenu.add(styleMenu);

    elementMenu.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            IContributionItem addGroupMenu = manager.findUsingPath(AddGroupAction.ID);
            IContributionItem insertGroupMenus = manager.findUsingPath(InsertGroupMenuAction.ID);

            if (addGroupMenu == null || insertGroupMenus == null) {
                return;
            }
            RetargetAction action = (RetargetAction) getAction(AddGroupAction.ID);
            if (action != null && action.getActionHandler() instanceof AddGroupAction) {
                if (action.getActionHandler().isEnabled()) {
                    addGroupMenu.setVisible(true);
                    insertGroupMenus.setVisible(false);
                } else {
                    addGroupMenu.setVisible(false);
                    insertGroupMenus.setVisible(true);
                }
                manager.update(true);
            }
        }
    });

}