Example usage for com.intellij.openapi.actionSystem CommonShortcuts getEditSource

List of usage examples for com.intellij.openapi.actionSystem CommonShortcuts getEditSource

Introduction

In this page you can find the example usage for com.intellij.openapi.actionSystem CommonShortcuts getEditSource.

Prototype

public static ShortcutSet getEditSource() 

Source Link

Usage

From source file:com.intellij.codeInsight.documentation.DocumentationComponent.java

License:Apache License

public DocumentationComponent(final DocumentationManager manager, final AnAction[] additionalActions) {
    myManager = manager;//ww  w  .j a  va  2  s. c  o m
    myIsEmpty = true;
    myIsShown = false;

    myEditorPane = new JEditorPane(UIUtil.HTML_MIME, "") {
        @Override
        public EditorKit getEditorKit() {
            return new HTMLEditorKit();
        }

        @Override
        public Dimension getPreferredScrollableViewportSize() {
            int em = myEditorPane.getFont().getSize();
            int prefWidth = PREFERRED_WIDTH_EM * em;
            int prefHeightMin = PREFERRED_HEIGHT_MIN_EM * em;
            int prefHeightMax = PREFERRED_HEIGHT_MAX_EM * em;

            if (getWidth() == 0 || getHeight() == 0) {
                setSize(prefWidth, prefHeightMax);
            }

            Insets ins = myEditorPane.getInsets();
            View rootView = myEditorPane.getUI().getRootView(myEditorPane);
            rootView.setSize(prefWidth, prefHeightMax); // Necessary! Without this line, the size won't increase when the content does

            int prefHeight = (int) rootView.getPreferredSpan(View.Y_AXIS) + ins.bottom + ins.top
                    + myScrollPane.getHorizontalScrollBar().getMaximumSize().height;
            prefHeight = Math.max(prefHeightMin, Math.min(prefHeightMax, prefHeight));
            return new Dimension(prefWidth, prefHeight);
        }

        {
            enableEvents(AWTEvent.KEY_EVENT_MASK);
        }

        @Override
        protected void processKeyEvent(KeyEvent e) {
            KeyStroke keyStroke = KeyStroke.getKeyStrokeForEvent(e);
            ActionListener listener = myKeyboardActions.get(keyStroke);
            if (listener != null) {
                listener.actionPerformed(new ActionEvent(DocumentationComponent.this, 0, ""));
                e.consume();
                return;
            }
            super.processKeyEvent(e);
        }

        @Override
        protected void paintComponent(Graphics g) {
            GraphicsUtil.setupAntialiasing(g);
            super.paintComponent(g);
        }

        @Override
        public void setDocument(Document doc) {
            super.setDocument(doc);
            if (doc instanceof StyledDocument) {
                doc.putProperty("imageCache", myImageProvider);
            }
        }
    };
    DataProvider helpDataProvider = new DataProvider() {
        @Override
        public Object getData(@NonNls String dataId) {
            return PlatformDataKeys.HELP_ID.is(dataId) ? DOCUMENTATION_TOPIC_ID : null;
        }
    };
    myEditorPane.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, helpDataProvider);
    myText = "";
    myEditorPane.setEditable(false);
    myEditorPane.setBackground(HintUtil.INFORMATION_COLOR);
    myEditorPane.setEditorKit(UIUtil.getHTMLEditorKit());
    myScrollPane = new JBScrollPane(myEditorPane) {
        @Override
        protected void processMouseWheelEvent(MouseWheelEvent e) {
            if (!EditorSettingsExternalizable.getInstance().isWheelFontChangeEnabled()
                    || !EditorUtil.isChangeFontSize(e)) {
                super.processMouseWheelEvent(e);
                return;
            }

            int change = Math.abs(e.getWheelRotation());
            boolean increase = e.getWheelRotation() <= 0;
            EditorColorsManager colorsManager = EditorColorsManager.getInstance();
            EditorColorsScheme scheme = colorsManager.getGlobalScheme();
            FontSize newFontSize = scheme.getQuickDocFontSize();
            for (; change > 0; change--) {
                if (increase) {
                    newFontSize = newFontSize.larger();
                } else {
                    newFontSize = newFontSize.smaller();
                }
            }

            if (newFontSize == scheme.getQuickDocFontSize()) {
                return;
            }

            scheme.setQuickDocFontSize(newFontSize);
            applyFontSize();
            setFontSizeSliderSize(newFontSize);
        }
    };
    myScrollPane.setBorder(null);
    myScrollPane.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, helpDataProvider);

    final MouseAdapter mouseAdapter = new MouseAdapter() {
        @Override
        public void mousePressed(MouseEvent e) {
            myManager.requestFocus();
            myShowSettingsButton.hideSettings();
        }
    };
    myEditorPane.addMouseListener(mouseAdapter);
    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeMouseListener(mouseAdapter);
        }
    });

    final FocusAdapter focusAdapter = new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            Component previouslyFocused = WindowManagerEx.getInstanceEx()
                    .getFocusedComponent(manager.getProject(getElement()));

            if (!(previouslyFocused == myEditorPane)) {
                if (myHint != null && !myHint.isDisposed())
                    myHint.cancel();
            }
        }
    };
    myEditorPane.addFocusListener(focusAdapter);

    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeFocusListener(focusAdapter);
        }
    });

    setLayout(new BorderLayout());
    JLayeredPane layeredPane = new JBLayeredPane() {
        @Override
        public void doLayout() {
            final Rectangle r = getBounds();
            for (Component component : getComponents()) {
                if (component instanceof JScrollPane) {
                    component.setBounds(0, 0, r.width, r.height);
                } else {
                    int insets = 2;
                    Dimension d = component.getPreferredSize();
                    component.setBounds(r.width - d.width - insets, insets, d.width, d.height);
                }
            }
        }

        @Override
        public Dimension getPreferredSize() {
            Dimension editorPaneSize = myEditorPane.getPreferredScrollableViewportSize();
            Dimension controlPanelSize = myControlPanel.getPreferredSize();
            return new Dimension(Math.max(editorPaneSize.width, controlPanelSize.width),
                    editorPaneSize.height + controlPanelSize.height);
        }
    };
    layeredPane.add(myScrollPane);
    layeredPane.setLayer(myScrollPane, 0);

    mySettingsPanel = createSettingsPanel();
    layeredPane.add(mySettingsPanel);
    layeredPane.setLayer(mySettingsPanel, JLayeredPane.POPUP_LAYER);
    add(layeredPane, BorderLayout.CENTER);
    setOpaque(true);
    myScrollPane.setViewportBorder(JBScrollPane.createIndentBorder());

    final DefaultActionGroup actions = new DefaultActionGroup();
    final BackAction back = new BackAction();
    final ForwardAction forward = new ForwardAction();
    EditDocumentationSourceAction edit = new EditDocumentationSourceAction();
    actions.add(back);
    actions.add(forward);
    actions.add(myExternalDocAction = new ExternalDocAction());
    actions.add(edit);

    back.registerCustomShortcutSet(CustomShortcutSet.fromString("LEFT"), this);
    forward.registerCustomShortcutSet(CustomShortcutSet.fromString("RIGHT"), this);
    myExternalDocAction.registerCustomShortcutSet(CustomShortcutSet.fromString("UP"), this);
    edit.registerCustomShortcutSet(CommonShortcuts.getEditSource(), this);
    if (additionalActions != null) {
        for (final AnAction action : additionalActions) {
            actions.add(action);
            ShortcutSet shortcutSet = action.getShortcutSet();
            if (shortcutSet != null) {
                action.registerCustomShortcutSet(shortcutSet, this);
            }
        }
    }

    myToolBar = ActionManager.getInstance().createActionToolbar(ActionPlaces.JAVADOC_TOOLBAR, actions, true);

    myControlPanel = new JPanel(new BorderLayout(5, 5));
    myControlPanel.setBorder(IdeBorderFactory.createBorder(SideBorder.BOTTOM));

    myElementLabel = new JLabel();
    myElementLabel.setMinimumSize(new Dimension(100, 0)); // do not recalculate size according to the text

    myControlPanel.add(myToolBar.getComponent(), BorderLayout.WEST);
    myControlPanel.add(myElementLabel, BorderLayout.CENTER);
    myControlPanel.add(myShowSettingsButton = new MyShowSettingsButton(), BorderLayout.EAST);
    myControlPanelVisible = false;

    final HyperlinkListener hyperlinkListener = new HyperlinkListener() {
        @Override
        public void hyperlinkUpdate(HyperlinkEvent e) {
            HyperlinkEvent.EventType type = e.getEventType();
            if (type == HyperlinkEvent.EventType.ACTIVATED) {
                manager.navigateByLink(DocumentationComponent.this, e.getDescription());
            }
        }
    };
    myEditorPane.addHyperlinkListener(hyperlinkListener);
    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeHyperlinkListener(hyperlinkListener);
        }
    });

    registerActions();

    updateControlState();
}

From source file:com.intellij.codeInsight.hint.ImplementationViewComponent.java

License:Apache License

private ActionToolbar createToolbar() {
    DefaultActionGroup group = new DefaultActionGroup();

    BackAction back = new BackAction();
    back.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0)), this);
    group.add(back);//from   w w w  . j  a  v a 2  s . co  m

    ForwardAction forward = new ForwardAction();
    forward.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0)),
            this);
    group.add(forward);

    EditSourceActionBase edit = new EditSourceAction();
    edit.registerCustomShortcutSet(
            new CompositeShortcutSet(CommonShortcuts.getEditSource(), CommonShortcuts.ENTER), this);
    group.add(edit);

    edit = new ShowSourceAction();
    edit.registerCustomShortcutSet(
            new CompositeShortcutSet(CommonShortcuts.getViewSource(), CommonShortcuts.CTRL_ENTER), this);
    group.add(edit);

    return ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true);
}

From source file:com.intellij.compiler.actions.BuildArtifactAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent e) {
    final Project project = getEventProject(e);
    if (project == null)
        return;/*from w  ww . j av  a 2 s.  c  o m*/

    final List<Artifact> artifacts = ArtifactUtil.getArtifactWithOutputPaths(project);
    if (artifacts.isEmpty())
        return;

    List<ArtifactPopupItem> items = new ArrayList<ArtifactPopupItem>();
    if (artifacts.size() > 1) {
        items.add(0, new ArtifactPopupItem(null, "All Artifacts", EmptyIcon.ICON_16));
    }
    Set<Artifact> selectedArtifacts = new HashSet<Artifact>(
            ArtifactsWorkspaceSettings.getInstance(project).getArtifactsToBuild());
    TIntArrayList selectedIndices = new TIntArrayList();
    if (Comparing.haveEqualElements(artifacts, selectedArtifacts) && selectedArtifacts.size() > 1) {
        selectedIndices.add(0);
        selectedArtifacts.clear();
    }

    for (Artifact artifact : artifacts) {
        final ArtifactPopupItem item = new ArtifactPopupItem(artifact, artifact.getName(),
                artifact.getArtifactType().getIcon());
        if (selectedArtifacts.contains(artifact)) {
            selectedIndices.add(items.size());
        }
        items.add(item);
    }

    final ProjectSettingsService projectSettingsService = ProjectSettingsService.getInstance(project);
    final ArtifactAwareProjectSettingsService settingsService = projectSettingsService instanceof ArtifactAwareProjectSettingsService
            ? (ArtifactAwareProjectSettingsService) projectSettingsService
            : null;

    final ChooseArtifactStep step = new ChooseArtifactStep(items, artifacts.get(0), project, settingsService);
    step.setDefaultOptionIndices(selectedIndices.toNativeArray());

    final ListPopupImpl popup = (ListPopupImpl) JBPopupFactory.getInstance().createListPopup(step);
    final KeyStroke editKeyStroke = KeymapUtil.getKeyStroke(CommonShortcuts.getEditSource());
    if (settingsService != null && editKeyStroke != null) {
        popup.registerAction("editArtifact", editKeyStroke, new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Object[] values = popup.getSelectedValues();
                popup.cancel();
                settingsService.openArtifactSettings(
                        values.length > 0 ? ((ArtifactPopupItem) values[0]).getArtifact() : null);
            }
        });
    }
    popup.showCenteredInCurrentWindow(project);
}

From source file:com.intellij.debugger.actions.DebuggerAction.java

License:Apache License

public static Disposable installEditAction(final JTree tree, String actionName) {
    final DoubleClickListener listener = new DoubleClickListener() {
        @Override//from w  ww.  j a  v a 2  s  . co m
        protected boolean onDoubleClick(MouseEvent e) {
            if (tree.getPathForLocation(e.getX(), e.getY()) == null) {
                return false;
            }
            DataContext dataContext = DataManager.getInstance().getDataContext(tree);
            GotoFrameSourceAction.doAction(dataContext);
            return true;
        }
    };
    listener.installOn(tree);

    final AnAction action = ActionManager.getInstance().getAction(actionName);
    action.registerCustomShortcutSet(CommonShortcuts.getEditSource(), tree);

    return new Disposable() {
        public void dispose() {
            listener.uninstall(tree);
            action.unregisterCustomShortcutSet(tree);
        }
    };
}

From source file:com.intellij.dvcs.push.ui.PushLog.java

License:Apache License

public PushLog(Project project, final CheckedTreeNode root) {
    DefaultTreeModel treeModel = new DefaultTreeModel(root);
    treeModel.nodeStructureChanged(root);
    myTreeCellRenderer = new MyTreeCellRenderer();
    myTree = new CheckboxTree(myTreeCellRenderer, root) {

        @Override/*w w w .j  a v  a  2s  . c om*/
        public boolean isPathEditable(TreePath path) {
            return isEditable() && path.getLastPathComponent() instanceof DefaultMutableTreeNode;
        }

        @Override
        protected void onNodeStateChanged(CheckedTreeNode node) {
            if (node instanceof EditableTreeNode) {
                ((EditableTreeNode) node).fireOnSelectionChange(node.isChecked());
            }
        }

        @Override
        public String getToolTipText(MouseEvent event) {
            final TreePath path = myTree.getPathForLocation(event.getX(), event.getY());
            if (path == null) {
                return "";
            }
            Object node = path.getLastPathComponent();
            if (node == null || (!(node instanceof DefaultMutableTreeNode))) {
                return "";
            }
            if (node instanceof TooltipNode) {
                return ((TooltipNode) node).getTooltip();
            }
            return "";
        }

        @Override
        public boolean stopEditing() {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) myTree.getLastSelectedPathComponent();
            if (node instanceof EditableTreeNode) {
                JComponent editedComponent = (JComponent) node.getUserObject();
                InputVerifier verifier = editedComponent.getInputVerifier();
                if (verifier != null && !verifier.verify(editedComponent))
                    return false;
            }
            boolean result = super.stopEditing();
            if (myShouldRepaint) {
                refreshNode(root);
            }
            return result;
        }

        @Override
        public void cancelEditing() {
            super.cancelEditing();
            if (myShouldRepaint) {
                refreshNode(root);
            }
        }
    };
    myTree.setUI(new MyTreeUi());
    myTree.setBorder(new EmptyBorder(2, 0, 0, 0)); //additional vertical indent
    myTree.setEditable(true);
    myTree.setHorizontalAutoScrollingEnabled(false);
    myTree.setShowsRootHandles(root.getChildCount() > 1);
    MyTreeCellEditor treeCellEditor = new MyTreeCellEditor();
    myTree.setCellEditor(treeCellEditor);
    treeCellEditor.addCellEditorListener(new CellEditorListener() {
        @Override
        public void editingStopped(ChangeEvent e) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) myTree.getLastSelectedPathComponent();
            if (node != null && node instanceof EditableTreeNode) {
                JComponent editedComponent = (JComponent) node.getUserObject();
                InputVerifier verifier = editedComponent.getInputVerifier();
                if (verifier != null && !verifier.verify(editedComponent)) {
                    // if invalid and interrupted, then revert
                    ((EditableTreeNode) node).fireOnCancel();
                } else {
                    ((EditableTreeNode) node).fireOnChange();
                }
            }
            myTree.firePropertyChange(PushLogTreeUtil.EDIT_MODE_PROP, true, false);
        }

        @Override
        public void editingCanceled(ChangeEvent e) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) myTree.getLastSelectedPathComponent();
            if (node != null && node instanceof EditableTreeNode) {
                ((EditableTreeNode) node).fireOnCancel();
            }
            myTree.firePropertyChange(PushLogTreeUtil.EDIT_MODE_PROP, true, false);
        }
    });
    // complete editing when interrupt
    myTree.setInvokesStopCellEditing(true);
    myTree.setRootVisible(false);
    TreeUtil.collapseAll(myTree, 1);
    final VcsBranchEditorListener linkMouseListener = new VcsBranchEditorListener(myTreeCellRenderer);
    linkMouseListener.installOn(myTree);

    myTree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
    myTree.addTreeSelectionListener(new TreeSelectionListener() {
        @Override
        public void valueChanged(TreeSelectionEvent e) {
            updateChangesView();
        }
    });
    myTree.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) myTree.getLastSelectedPathComponent();
            if (node != null && node instanceof RepositoryNode && myTree.isEditing()) {
                //need to force repaint foreground  for non-focused editing node
                myTree.getCellEditor().getTreeCellEditorComponent(myTree, node, true, false, false,
                        myTree.getRowForPath(TreeUtil.getPathFromRoot(node)));
            }
        }
    });
    myTree.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), START_EDITING);
    //override default tree behaviour.
    myTree.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "");

    ToolTipManager.sharedInstance().registerComponent(myTree);
    PopupHandler.installPopupHandler(myTree, VcsLogUiImpl.POPUP_ACTION_GROUP, CONTEXT_MENU);

    myChangesBrowser = new ChangesBrowser(project, null, Collections.<Change>emptyList(), null, false, true,
            null, ChangesBrowser.MyUseCase.LOCAL_CHANGES, null);
    myChangesBrowser.getDiffAction().registerCustomShortcutSet(CommonShortcuts.getDiff(), myTree);
    final EditSourceForDialogAction editSourceAction = new EditSourceForDialogAction(myChangesBrowser);
    editSourceAction.registerCustomShortcutSet(CommonShortcuts.getEditSource(), myChangesBrowser);
    myChangesBrowser.addToolbarAction(editSourceAction);
    setDefaultEmptyText();

    Splitter splitter = new Splitter(false, 0.7f);
    myScrollPane = ScrollPaneFactory.createScrollPane(myTree);
    myScrollPane.setOpaque(false);
    splitter.setFirstComponent(myScrollPane);
    splitter.setSecondComponent(myChangesBrowser);

    setLayout(new BorderLayout());
    add(splitter);
    myTree.setMinimumSize(new Dimension(200, myTree.getPreferredSize().height));
    myTree.setRowHeight(0);
}

From source file:com.intellij.ide.bookmarks.actions.BookmarksAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent e) {
    DataContext dataContext = e.getDataContext();
    final Project project = CommonDataKeys.PROJECT.getData(dataContext);
    if (project == null)
        return;//  w w w .  j a v a2 s .  co  m

    if (myPopup != null && myPopup.isVisible())
        return;

    final DefaultListModel model = buildModel(project);

    final JBList list = new JBList(model);
    list.getEmptyText().setText("No Bookmarks");

    EditBookmarkDescriptionAction editDescriptionAction = new EditBookmarkDescriptionAction(project, list);
    DefaultActionGroup actions = new DefaultActionGroup();
    actions.add(editDescriptionAction);
    actions.add(new DeleteBookmarkAction(project, list));
    actions.add(new MoveBookmarkUpAction(project, list));
    actions.add(new MoveBookmarkDownAction(project, list));

    myPopup = new MasterDetailPopupBuilder(project).setActionsGroup(actions).setList(list)
            .setDetailView(new DetailViewImpl(project)).setCloseOnEnter(false).setDoneRunnable(new Runnable() {
                @Override
                public void run() {
                    myPopup.cancel();
                }
            }).setDelegate(this).createMasterDetailPopup();
    new AnAction() {
        @Override
        public void actionPerformed(AnActionEvent e) {
            Object selectedValue = list.getSelectedValue();
            if (selectedValue instanceof BookmarkItem) {
                itemChosen((BookmarkItem) selectedValue, project, myPopup, true);
            }
        }
    }.registerCustomShortcutSet(CommonShortcuts.getEditSource(), list);
    editDescriptionAction.setPopup(myPopup);
    myPopup.showCenteredInCurrentWindow(project);
    //todo[zaec] selection mode shouldn't be set in builder.setList() method
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}

From source file:com.intellij.xdebugger.impl.ui.tree.XDebuggerTree.java

License:Apache License

private void registerShortcuts() {
    ActionManager actionManager = ActionManager.getInstance();
    actionManager.getAction(XDebuggerActions.SET_VALUE)
            .registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0)), this);
    actionManager.getAction(XDebuggerActions.COPY_VALUE).registerCustomShortcutSet(CommonShortcuts.getCopy(),
            this);
    actionManager.getAction(XDebuggerActions.JUMP_TO_SOURCE)
            .registerCustomShortcutSet(CommonShortcuts.getEditSource(), this);
    Shortcut[] editTypeShortcuts = KeymapManager.getInstance().getActiveKeymap()
            .getShortcuts(XDebuggerActions.EDIT_TYPE_SOURCE);
    actionManager.getAction(XDebuggerActions.JUMP_TO_TYPE_SOURCE)
            .registerCustomShortcutSet(new CustomShortcutSet(editTypeShortcuts), this);
    actionManager.getAction(XDebuggerActions.MARK_OBJECT).registerCustomShortcutSet(
            new CustomShortcutSet(KeymapManager.getInstance().getActiveKeymap().getShortcuts("ToggleBookmark")),
            this);
}

From source file:com.vladsch.MissingInActions.util.CommonUIShortcuts.java

License:Apache License

public static ShortcutSet getEditSource() {
    return CommonShortcuts.getEditSource();
}

From source file:org.jetbrains.idea.maven.navigator.MavenProjectsNavigator.java

License:Apache License

private void initToolWindow() {
    initTree();/* www.  ja va2 s  . c o  m*/
    JPanel panel = new MavenProjectsNavigatorPanel(myProject, myTree);

    AnAction removeAction = EmptyAction
            .wrap(ActionManager.getInstance().getAction("Maven.RemoveRunConfiguration"));
    removeAction.registerCustomShortcutSet(CommonShortcuts.getDelete(), myTree, myProject);
    AnAction editSource = EmptyAction.wrap(ActionManager.getInstance().getAction("Maven.EditRunConfiguration"));
    editSource.registerCustomShortcutSet(CommonShortcuts.getEditSource(), myTree, myProject);

    final ToolWindowManagerEx manager = ToolWindowManagerEx.getInstanceEx(myProject);
    myToolWindow = (ToolWindowEx) manager.registerToolWindow(TOOL_WINDOW_ID, false, ToolWindowAnchor.RIGHT,
            myProject, true);
    myToolWindow.setIcon(MavenIcons.ToolWindowMaven);
    final ContentFactory contentFactory = ContentFactory.getInstance();
    final Content content = contentFactory.createContent(panel, "", false);
    ContentManager contentManager = myToolWindow.getContentManager();
    contentManager.addContent(content);
    contentManager.setSelectedContent(content, false);

    final ToolWindowManagerListener listener = new ToolWindowManagerListener() {
        boolean wasVisible = false;

        @Override
        public void stateChanged() {
            if (myToolWindow == null || myToolWindow.isDisposed()) {
                return;
            }
            boolean visible = myToolWindow.isVisible();
            if (!visible || wasVisible) {
                return;
            }
            scheduleStructureUpdate();
            wasVisible = true;
        }
    };
    manager.addToolWindowManagerListener(listener, myProject);

    ActionManager actionManager = ActionManager.getInstance();

    DefaultActionGroup group = new DefaultActionGroup();
    group.add(actionManager.getAction("Maven.GroupProjects"));
    group.add(actionManager.getAction("Maven.ShowIgnored"));
    group.add(actionManager.getAction("Maven.ShowBasicPhasesOnly"));
    group.add(actionManager.getAction("Maven.AlwaysShowArtifactId"));
    group.add(actionManager.getAction("Maven.ShowVersions"));

    myToolWindow.setAdditionalGearActions(group);
}

From source file:org.jetbrains.idea.svn.dialogs.IntersectingLocalChangesPanel.java

License:Apache License

private void initUI() {
    final DefaultMutableTreeNode root = new DefaultMutableTreeNode();

    myJTree = new JTree(root);
    myJTree.setRootVisible(false);/* w  w  w  .  j  a  v a 2  s . co  m*/
    myJTree.setShowsRootHandles(false);
    myJTree.setCellRenderer(new ChangesBrowserNodeRenderer(myProject, true, false));

    TreeModelBuilder builder = new TreeModelBuilder(myProject, true);
    final DefaultTreeModel treeModel = builder.buildModelFromFilePaths(myFilesToShow);
    myJTree.setModel(treeModel);

    myJTree.expandPath(new TreePath(root.getPath()));

    final JLabel label = new JLabel(myText) {
        @Override
        public Dimension getPreferredSize() {
            final Dimension superValue = super.getPreferredSize();
            return new Dimension((int) superValue.getWidth(), (int) (superValue.getHeight() * 1.7));
        }
    };
    label.setUI(new MultiLineLabelUI());
    label.setBackground(UIUtil.getTextFieldBackground());
    label.setVerticalTextPosition(JLabel.TOP);
    myPanel.setBackground(UIUtil.getTextFieldBackground());
    myPanel.add(label, BorderLayout.NORTH);
    myPanel.add(myJTree, BorderLayout.CENTER);

    EditSourceOnDoubleClickHandler.install(myJTree);
    EditSourceOnEnterKeyHandler.install(myJTree);

    final EditSourceAction editSourceAction = new EditSourceAction();
    editSourceAction.registerCustomShortcutSet(CommonShortcuts.getEditSource(), myPanel);
}