Example usage for com.intellij.openapi.ui JBMenuItem JBMenuItem

List of usage examples for com.intellij.openapi.ui JBMenuItem JBMenuItem

Introduction

In this page you can find the example usage for com.intellij.openapi.ui JBMenuItem JBMenuItem.

Prototype

public JBMenuItem(String text, Icon icon) 

Source Link

Usage

From source file:com.gogh.plugin.config.QueryOnlineConfig.java

License:Apache License

private void setComponentPopupWindow() {
    JBPopupMenu menu = new JBPopupMenu();

    final JBMenuItem copy = new JBMenuItem("Copy", IconLoader.getIcon(ICON.ICON_COPY_DARK));
    copy.addActionListener(e -> {//from w  w w  . j ava 2  s .c  om
        String selectedText = resultText.getSelectedText();
        if (!IString.isEmpty(selectedText)) {
            CopyPasteManager copyPasteManager = CopyPasteManager.getInstance();
            copyPasteManager.setContents(new StringSelection(selectedText));
        }
    });

    final JBMenuItem query = new JBMenuItem("Translate", IconLoader.getIcon(ICON.ICON_16));
    query.addActionListener(e -> query(resultText.getSelectedText()));

    menu.add(copy);
    menu.add(query);

    menu.addPopupMenuListener(new PopupMenuListenerAdapter() {
        @Override
        public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
            boolean hasSelectedText = !IString.isEmpty(resultText.getSelectedText());
            copy.setEnabled(hasSelectedText);
            query.setEnabled(hasSelectedText);
        }
    });

    resultText.setComponentPopupMenu(menu);
}

From source file:com.igormaznitsa.ideamindmap.editor.MindMapPanelControllerImpl.java

License:Apache License

@Override
public JPopupMenu makePopUpForMindMapPanel(final MindMapPanel source, final Point point,
        final AbstractElement element, final ElementPart partUnderMouse) {
    final JBPopupMenu result = new JBPopupMenu();

    if (element != null) {
        final JBMenuItem editText = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miEditText"),
                AllIcons.PopUp.EDITTEXT);
        editText.addActionListener(new ActionListener() {

            @Override// w  w w .j a  v  a2 s .com
            public void actionPerformed(ActionEvent e) {
                editor.getMindMapPanel().startEdit(element);
            }
        });

        result.add(editText);

        final JBMenuItem addChild = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miAddChild"),
                AllIcons.PopUp.ADD);
        addChild.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                editor.getMindMapPanel().makeNewChildAndStartEdit(element.getModel(), null);
            }
        });

        result.add(addChild);
    }

    if (element != null || this.editor.getMindMapPanel().hasSelectedTopics()) {
        final JBMenuItem deleteItem = new JBMenuItem(this.editor.getMindMapPanel().hasSelectedTopics()
                ? BUNDLE.getString("MMDGraphEditor.makePopUp.miRemoveSelectedTopics")
                : BUNDLE.getString("MMDGraphEditor.makePopUp.miRemoveTheTopic"), AllIcons.PopUp.DELETE);
        deleteItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (editor.getMindMapPanel().hasSelectedTopics()) {
                    editor.getMindMapPanel().deleteSelectedTopics();
                } else {
                    editor.getMindMapPanel().deleteTopics(element.getModel());
                }
            }
        });

        result.add(deleteItem);
    }

    if (element != null || this.editor.getMindMapPanel().hasOnlyTopicSelected()) {
        final Topic theTopic = this.editor.getMindMapPanel().getFirstSelected() == null
                ? (element != null ? element.getModel() : null)
                : this.editor.getMindMapPanel().getFirstSelected();
        if (theTopic != null && theTopic.getParent() != null) {
            final JBMenuItem cloneItem = new JBMenuItem(
                    this.editor.getMindMapPanel().hasSelectedTopics()
                            ? BUNDLE.getString("MMDGraphEditor.makePopUp.miCloneSelectedTopic")
                            : BUNDLE.getString("MMDGraphEditor.makePopUp.miCloneTheTopic"),
                    AllIcons.PopUp.CLONE);
            cloneItem.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    editor.getMindMapPanel().cloneTopic(theTopic);
                }
            });

            result.add(cloneItem);
        }
    }

    if (element != null) {
        if (result.getComponentCount() > 0) {
            result.add(new JSeparator());
        }

        final Topic topic = element.getModel();

        final JBMenuItem editText = new JBMenuItem(topic.getExtras().containsKey(Extra.ExtraType.NOTE)
                ? BUNDLE.getString("MMDGraphEditor.makePopUp.miEditNote")
                : BUNDLE.getString("MMDGraphEditor.makePopUp.miAddNote"), AllIcons.PopUp.NOTE);
        editText.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                editTextForTopic(topic);
                editor.getMindMapPanel().requestFocus();
            }
        });

        result.add(editText);

        final JBMenuItem editLink = new JBMenuItem(topic.getExtras().containsKey(Extra.ExtraType.LINK)
                ? BUNDLE.getString("MMDGraphEditor.makePopUp.miEditURI")
                : BUNDLE.getString("MMDGraphEditor.makePopUp.miAddURI"), AllIcons.PopUp.URL);
        editLink.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                editLinkForTopic(topic);
                editor.getMindMapPanel().requestFocus();
            }
        });

        result.add(editLink);

        final JBMenuItem editTopicLink = new JBMenuItem(topic.getExtras().containsKey(Extra.ExtraType.TOPIC)
                ? BUNDLE.getString("MMDGraphEditor.makePopUp.miEditTransition")
                : BUNDLE.getString("MMDGraphEditor.makePopUp.miAddTransition"), AllIcons.PopUp.TOPIC);
        editTopicLink.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                editTopicLinkForTopic(topic);
                editor.getMindMapPanel().requestFocus();
            }
        });

        result.add(editTopicLink);

        final JBMenuItem editFileLink = new JBMenuItem(topic.getExtras().containsKey(Extra.ExtraType.FILE)
                ? BUNDLE.getString("MMDGraphEditor.makePopUp.miEditFile")
                : BUNDLE.getString("MMDGraphEditor.makePopUp.miAddFile"), AllIcons.PopUp.FILE);
        editFileLink.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                editFileLinkForTopic(topic);
                editor.getMindMapPanel().requestFocus();
            }
        });

        result.add(editFileLink);
    }

    if (element != null || source.hasSelectedTopics()) {
        if (result.getComponentCount() > 0) {
            result.add(new JSeparator());
        }

        final Topic[] topics;
        final String name;
        if (source.hasSelectedTopics()) {
            topics = source.getSelectedTopics();
            name = String.format(BUNDLE.getString("MMDGraphEditor.makePopUp.miColorsForSelected"),
                    topics.length);
        } else {
            topics = new Topic[] { element.getModel() };
            name = BUNDLE.getString("MMDGraphEditor.makePopUp.miColorsForTopic");
        }

        final JBMenuItem colors = new JBMenuItem(name, AllIcons.PopUp.COLORS);
        colors.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                processColorDialogForTopics(source, topics);
            }
        });

        result.add(colors);
    }

    if (result.getComponentCount() > 0) {
        result.add(new JSeparator());
    }

    final JBMenuItem expandAll = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miExpandAll"),
            AllIcons.PopUp.EXPANDALL);
    expandAll.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            editor.getMindMapPanel().collapseOrExpandAll(false);
        }

    });

    final JBMenuItem collapseAll = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miCollapseAll"),
            AllIcons.PopUp.COLLAPSEALL);
    collapseAll.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            editor.getMindMapPanel().collapseOrExpandAll(true);
        }

    });

    final JCheckBoxMenuItem showJumps = new JCheckBoxMenuItem(
            BUNDLE.getString("MMDGraphEditor.makePopUp.miShowJumps"), AllIcons.PopUp.SHOWJUMPS,
            source.isShowJumps());
    showJumps.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            editor.getMindMapPanel().setShowJumps(showJumps.isSelected());
        }
    });

    result.add(showJumps);
    result.add(expandAll);
    result.add(collapseAll);

    if (result.getComponentCount() > 0) {
        result.add(new JSeparator());
    }
    final JMenu exportMenu = new JMenu(BUNDLE.getString("MMDGraphEditor.makePopUp.miExportMapAs"));
    exportMenu.setIcon(AllIcons.PopUp.EXPORT);
    for (final Exporters e : Exporters.values()) {
        final AbstractMindMapExporter exp = e.getExporter();
        final JBMenuItem item = new JBMenuItem(exp.getName());
        item.setToolTipText(exp.getReference());
        item.setIcon(exp.getIcon());
        item.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                try {
                    final JComponent options = exp.makeOptions();
                    if (options != null) {
                        if (!getDialogProvider().msgOkCancel(exp.getName(), options)) {
                            return;
                        }
                    }
                    exp.doExport(editor.getMindMapPanel(), options, null);
                    IdeaUtils.showPopup(
                            String.format(BUNDLE.getString("MMDGraphEditor.makePopUp.msgExportedSuccessfuly"),
                                    exp.getName()),
                            MessageType.INFO);
                } catch (Exception ex) {
                    LOGGER.error("Error during map export", ex); //NOI18N
                    IdeaUtils.showPopup(BUNDLE.getString("MMDGraphEditor.makePopUp.errMsgCantExport"),
                            MessageType.ERROR);
                }
            }
        });
        exportMenu.add(item);
    }
    result.add(exportMenu);

    result.add(new JSeparator());

    JBMenuItem printPreviewMenu = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miPrintPreview"),
            AllIcons.PopUp.PRINTER);
    printPreviewMenu.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            final MMDPrintPanel panel = new MMDPrintPanel(
                    new IdeaMMDPrintPanelAdaptor(getEditor().getProject()), getEditor().getMindMapPanel());
            IdeaUtils.plainMessageClose(getEditor().getProject(), "Print mind map", panel);
        }
    });

    result.add(printPreviewMenu);

    JBMenuItem optionsMenu = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miOptions"),
            AllIcons.PopUp.OPTIONS);
    optionsMenu.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            startOptionsEdit();
        }
    });

    result.add(optionsMenu);

    JBMenuItem infoMenu = new JBMenuItem(BUNDLE.getString("MMDGraphEditor.makePopUp.miAbout"),
            AllIcons.PopUp.INFO);
    infoMenu.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            showAbout();
        }
    });

    result.add(infoMenu);

    return result;
}

From source file:com.microsoft.alm.plugin.idea.common.ui.common.FeedbackAction.java

License:Open Source License

private JBMenuItem createMenuItem(final String resourceKey, final Icon icon, final String actionCommand) {
    final String text = TfPluginBundle.message(resourceKey);
    final JBMenuItem menuItem = new JBMenuItem(text, icon);
    menuItem.setActionCommand(actionCommand);
    menuItem.addActionListener(new ActionListener() {
        @Override/*  w w w  .j a va 2 s. c om*/
        public void actionPerformed(final ActionEvent e) {
            menuItemAction(e);
        }
    });

    return menuItem;
}

From source file:com.microsoft.alm.plugin.idea.common.ui.common.tabs.TabFormImpl.java

License:Open Source License

/**
 * Creates a menu item to use in the popup menu
 *
 * @param resourceKey/*w w  w  . j a  v a2s.  com*/
 * @param icon
 * @param actionCommand
 * @param listener
 * @return menu item
 */
protected JBMenuItem createMenuItem(final String resourceKey, final Icon icon, final String actionCommand,
        final ActionListener listener) {
    final String text = TfPluginBundle.message(resourceKey);
    final JBMenuItem menuItem = new JBMenuItem(text, icon);
    menuItem.setActionCommand(actionCommand);
    menuItem.addActionListener(listener);
    return menuItem;
}