Example usage for org.eclipse.jface.action GroupMarker GroupMarker

List of usage examples for org.eclipse.jface.action GroupMarker GroupMarker

Introduction

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

Prototype

public GroupMarker(String groupName) 

Source Link

Document

Create a new group marker with the given name.

Usage

From source file:org.cfeclipse.cfml.snippets.views.snips.SnipTreeView.java

License:Open Source License

private void fillContextMenu(IMenuManager mgr) {
    Object selectedItem = getSelection();

    if (selectedItem instanceof File) {
        File selectedFile = (File) selectedItem;
        if (selectedFile.isDirectory()) {
            mgr.add(createFolderAction);
            mgr.add(createSnippetAction);
            String[] files = selectedFile.list();
            if (files.length == 0) {
                mgr.add(deleteFolderAction);
            }/*from  www .  java 2 s . com*/

        } else {
            mgr.add(insertAction);
            mgr.add(editSnippetAction);
            mgr.add(deleteSnippetAction);
            mgr.add(exportToSnipEx);
        }
    } else if (selectedItem instanceof Snippet) {
        mgr.add(insertAction);
    }

    mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    //mgr.add(deleteItemAction);
    //mgr.add(new Separator());
    //mgr.add(selectAllAction);
}

From source file:org.cfeclipse.cfml.views.snips.SnipTreeView.java

License:Open Source License

private void fillContextMenu(IMenuManager mgr) {
    File selectedFile = getSelectedFile();

    if (selectedFile.isDirectory()) {
        mgr.add(createFolderAction);/*  ww w.j  ava 2  s. c o m*/
        mgr.add(createSnippetAction);
        String[] files = selectedFile.list();
        if (files.length == 0) {
            mgr.add(deleteFolderAction);
        }

    } else {
        mgr.add(insertAction);
        mgr.add(editSnippetAction);
        mgr.add(deleteSnippetAction);
        mgr.add(exportToSnipEx);
    }

    mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
    //mgr.add(deleteItemAction);
    //mgr.add(new Separator());
    //mgr.add(selectAllAction);
}

From source file:org.cishell.reference.gui.menumanager.menu.MenuAdapter.java

License:Open Source License

private void processSubMenu(Element menuNode, MenuManager parentMenuBar) {
    NodeList subMenuList = menuNode.getElementsByTagName(TAG_MENU);

    if ((subMenuList != null) && (subMenuList.getLength() > 0)) {
        for (int ii = 0; ii < subMenuList.getLength(); ii++) {
            Element element = (Element) subMenuList.item(ii);

            /*/*from w w  w.  ja  va2s .c  o  m*/
             * Only process direct children nodes and drop all grand or grand of grand
             *  children nodes.
             * TODO: Why?
             */
            if (!element.getParentNode().equals(menuNode)) {
                continue;
            }

            String menuType = element.getAttribute(TYPE_ATTRIBUTE);
            String algorithmPID = element.getAttribute(PID_ATTRIBUTE);

            if (((menuType == null) || (menuType.length() == 0)) && (algorithmPID != null)) {
                processAMenuNode(element, parentMenuBar);
            } else if (menuType.equalsIgnoreCase(PRESERVED_GROUP)) {
                String groupName = element.getAttribute(NAME_ATTRIBUTE);
                MenuManager groupMenuBar = new MenuManager(groupName, groupName.toLowerCase());
                parentMenuBar.add(groupMenuBar);
                processSubMenu(element, groupMenuBar);
            } else if (menuType.equalsIgnoreCase(PRESERVED_BREAK)) {
                /*
                 * It seems that the framework automatically takes care of issues such as
                 *  double separators and a separator at the top or bottom.
                 */
                parentMenuBar.add(new Separator());
            } else if (menuType.equalsIgnoreCase(PRESERVED)) {
                String menuName = element.getAttribute(NAME_ATTRIBUTE);
                if (menuName.equalsIgnoreCase(PRESERVED_EXIT)) {
                    //allow to add more menu before "File/Exit"   
                    if (parentMenuBar.getId().equalsIgnoreCase(IWorkbenchActionConstants.M_FILE)) {
                        parentMenuBar.add(new GroupMarker(START_GROUP));
                        parentMenuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
                        parentMenuBar.add(new GroupMarker(END_GROUP));
                    }
                    IWorkbenchAction exitAction = ActionFactory.QUIT.create(workbenchWindow);
                    parentMenuBar.add(new Separator());
                    parentMenuBar.add(exitAction);
                }
            }
        }
        //allow to append new submenu(s) at the bottom under each top menu
        //except "File" and "Help"
        if (!parentMenuBar.getId().equalsIgnoreCase(IWorkbenchActionConstants.M_FILE)
                && !parentMenuBar.getId().equalsIgnoreCase(IWorkbenchActionConstants.M_HELP)) {
            parentMenuBar.add(new GroupMarker(START_GROUP));
            parentMenuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
            parentMenuBar.add(new GroupMarker(END_GROUP));
        }
    }
}

From source file:org.cishell.reference.gui.menumanager.menu.MenuAdapter.java

License:Open Source License

private void makeMenuItem(ServiceReference serviceReference) {
    String path = (String) serviceReference.getProperty(MENU_PATH);
    String[] items = null;/*w  w  w. j av a2  s.co  m*/

    if (path != null) {
        items = path.split("/");
    }

    IMenuManager menu = null;

    if ((items != null) && (items.length > 1)) {
        AlgorithmAction action = new AlgorithmAction(serviceReference, this.bundleContext, this.ciShellContext);
        action.setId(getItemID(serviceReference));

        IMenuManager targetMenu = this.menuManager;
        String group = items[items.length - 1];

        for (int ii = 0; ii < items.length - 1; ii++) {
            menu = targetMenu.findMenuUsingPath(items[ii]);

            if ((menu == null) && (items[ii] != null)) {
                menu = targetMenu.findMenuUsingPath(items[ii].toLowerCase());
            }

            if (menu == null) {
                menu = createMenu(items[ii], items[ii]);
                targetMenu.appendToGroup(ADDITIONS_GROUP, menu);
            }

            targetMenu = menu;
        }

        group = items[items.length - 1];
        IContributionItem groupItem = targetMenu.find(group);

        if (groupItem == null) {
            groupItem = new GroupMarker(group);
            targetMenu.appendToGroup(ADDITIONS_GROUP, groupItem);
        }

        targetMenu.appendToGroup(group, action);
        handleActionAccelerator(action, targetMenu, serviceReference);
        targetMenu.appendToGroup(group, new Separator());
        algorithmsToActions.put(getItemID(serviceReference), action);
        actionsToMenuManagers.put(action, targetMenu);

        Display.getDefault().asyncExec(this.updateAction);
    } else {
        this.logger.log(LogService.LOG_DEBUG,
                "Bad menu path for Algorithm: " + serviceReference.getProperty(LABEL));
    }
}

From source file:org.cishell.reference.gui.menumanager.menu.MenuAdapter.java

License:Open Source License

private MenuManager createMenu(String name, String id) {
    MenuManager menu = new MenuManager(name, id);
    menu.add(new GroupMarker(START_GROUP));
    menu.add(new GroupMarker(ADDITIONS_GROUP));
    menu.add(new GroupMarker(END_GROUP));

    return menu;/*from  ww  w.ja  v  a  2  s  .  com*/
}

From source file:org.csstudio.alarm.beast.ui.alarmtable.GUI.java

License:Open Source License

/**
 * Add context menu to tree//from w ww  .j av a2  s.  c o  m
 *
 * @param table_viewer
 *            TableViewer to which to add the menu
 * @param site
 *            Workbench site or <code>null</code>
 */
private void connectContextMenu(final TableViewer table_viewer, final IWorkbenchPartSite site) {
    final Table table = table_viewer.getTable();
    final boolean isRcp = UI.RCP.equals(SingleSourcePlugin.getUIHelper().getUI());

    final MenuManager manager = new MenuManager();
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        // Dynamically build menu based on current selection
        @Override
        @SuppressWarnings("unchecked")
        public void menuAboutToShow(IMenuManager manager) {
            final Shell shell = table.getShell();
            final List<AlarmTreeItem> items = ((IStructuredSelection) table_viewer.getSelection()).toList();

            new ContextMenuHelper(table_viewer, manager, shell, items, writable);
            manager.add(new Separator());
            // Add edit items
            if (items.size() == 1 && writable && model != null) {
                final AlarmTreeItem item = items.get(0);
                manager.add(new ConfigureItemAction(shell, model, item));
            }
            if (items.size() >= 1 && writable && model != null)
                manager.add(new DisableComponentAction(shell, model, items));
            manager.add(new Separator());
            if (isRcp) {
                manager.add(new AlarmPerspectiveAction());
                manager.add(new Separator());
            }
            // Placeholder for CSS PV contributions
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        }
    });
    table.setMenu(manager.createContextMenu(table));

    // Allow extensions to add to the context menu
    if (site != null)
        site.registerContextMenu(manager, table_viewer);
}

From source file:org.csstudio.alarm.beast.ui.alarmtree.GUI.java

License:Open Source License

/** Invoked by the manager of the context menu when menu
 *  is about to show.//  w  w w .j a v  a 2s .c o m
 *  Fills context menu with guidance and related displays
 *  for currently selected items.
 *  @param manager Menu manager
 */
@SuppressWarnings("unchecked")
private void fillContextMenu(final IMenuManager manager) {
    final Shell shell = tree_viewer.getTree().getShell();
    final List<AlarmTreeItem> items = ((IStructuredSelection) tree_viewer.getSelection()).toList();
    final boolean isRcp = UI.RCP.equals(SingleSourcePlugin.getUIHelper().getUI());

    new ContextMenuHelper(null, manager, shell, items, model.isWriteAllowed());
    manager.add(new Separator());
    if (model.isWriteAllowed()) {
        // Add edit items
        if (items.size() <= 0) {
            // Use the 'root' element as the parent
            manager.add(new AddComponentAction(shell, model, model.getConfigTree()));
        } else if (items.size() == 1) {
            final AlarmTreeItem item = items.get(0);
            // Allow configuration of single item

            manager.add(new ConfigureItemAction(shell, model, item));
            manager.add(new Separator());
            // Allow addition of items to all but PVs (leafs of tree)
            if (!(item instanceof AlarmTreePV))
                manager.add(new AddComponentAction(shell, model, item));
            manager.add(new RenameItemAction(shell, model, item));

            if (items.get(0).getPosition() == AlarmTreePosition.PV)
                manager.add(new DuplicatePVAction(shell, model, (AlarmTreePV) items.get(0)));
        }
        if (items.size() >= 1) { // Allow certain actions on one or more selected items
            manager.add(new EnableComponentAction(shell, model, items));
            manager.add(new DisableComponentAction(shell, model, items));
            manager.add(new MoveItemAction(shell, model, items));
            manager.add(new RemoveComponentAction(shell, model, items));
        }
    }
    manager.add(new Separator());
    if (isRcp) {
        manager.add(new AlarmPerspectiveAction());
        manager.add(new Separator());
    }
    manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
}

From source file:org.csstudio.alarm.beast.ui.areapanel.AlarmPanelItem.java

License:Open Source License

private void addContextMenu() {
    final boolean isRcp = UI.RCP.equals(SingleSourcePlugin.getUIHelper().getUI());
    final List<AlarmTreeItem> item_as_list = new ArrayList<AlarmTreeItem>(1);
    item_as_list.add(item);// w w  w  .j a v  a 2 s .  c o  m

    final MenuManager manager = new MenuManager();
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            manager.add(new ShowInAlarmTreeAction(item));
            new ContextMenuHelper(null, manager, getShell(), item_as_list, true);
            manager.add(new Separator());
            if (isRcp) {
                manager.add(new AlarmPerspectiveAction());
                manager.add(new Separator());
            }
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        }
    });
    final Menu menu = manager.createContextMenu(this);
    setMenu(menu);
}

From source file:org.csstudio.alarm.beast.ui.areapanel.View.java

License:Open Source License

/** Create panel layout
 *  @param parent/*from  w  w w.  ja v a 2s .com*/
 */
private void createAlarmPanelGUI(final Composite parent) {
    display = parent.getDisplay();
    color_provider = new SeverityColorProvider(parent);
    parent.setLayout(new FormLayout());

    error_message = new Label(parent, 0);
    FormData fd = new FormData();
    fd.right = new FormAttachment(100);
    fd.top = new FormAttachment(0);
    error_message.setLayoutData(fd);

    panel_box = new Composite(parent, 0);
    fd = new FormData();
    fd.left = new FormAttachment(0);
    fd.top = new FormAttachment(error_message);
    fd.right = new FormAttachment(100);
    fd.bottom = new FormAttachment(100);
    panel_box.setLayoutData(fd);

    if (model.isServerAlive()) {
        setErrorMessage(null);
    } else {
        setErrorMessage(Messages.WaitingForServer);
    }

    fillPanelBox();

    final MenuManager manager = new MenuManager();
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        }
    });
    panel_box.setMenu(manager.createContextMenu(panel_box));

    // Allow extensions to add to the context menu
    getSite().registerContextMenu(manager, new ISelectionProvider() {
        // Null selection provider
        @Override
        public void setSelection(ISelection selection) {
        }

        @Override
        public void removeSelectionChangedListener(ISelectionChangedListener listener) {
        }

        @Override
        public ISelection getSelection() {
            return null;
        }

        @Override
        public void addSelectionChangedListener(ISelectionChangedListener listener) {
        }
    });
}

From source file:org.csstudio.alarm.beast.ui.globaltable.GlobalAlarmTableView.java

License:Open Source License

/** Add context menu
 *  @param table_viewer// w w w  .  j ava2  s  .c o  m
 *  @param site Workbench site or <code>null</code>
 */
private void addContextMenu(final TableViewer table_viewer, final IWorkbenchPartSite site) {
    final Table table = table_viewer.getTable();
    final boolean isRcp = UI.RCP.equals(SingleSourcePlugin.getUIHelper().getUI());

    final MenuManager manager = new MenuManager();
    manager.setRemoveAllWhenShown(true);
    manager.addMenuListener(new IMenuListener() {
        @SuppressWarnings("unchecked")
        @Override
        public void menuAboutToShow(final IMenuManager manager) {
            // TODO 'Select configuration' action
            final List<AlarmTreeItem> items = ((IStructuredSelection) table_viewer.getSelection()).toList();
            new ContextMenuHelper(null, manager, table.getShell(), items, false);
            manager.add(new Separator());
            if (isRcp) {
                manager.add(new AlarmPerspectiveAction());
                manager.add(new Separator());
            }
            manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        }
    });
    table.setMenu(manager.createContextMenu(table));

    // Allow extensions to add to the context menu
    if (site != null)
        site.registerContextMenu(manager, table_viewer);
}