Example usage for com.intellij.openapi.wm ToolWindowId HIERARCHY

List of usage examples for com.intellij.openapi.wm ToolWindowId HIERARCHY

Introduction

In this page you can find the example usage for com.intellij.openapi.wm ToolWindowId HIERARCHY.

Prototype

String HIERARCHY

To view the source code for com.intellij.openapi.wm ToolWindowId HIERARCHY.

Click Source Link

Usage

From source file:com.intellij.ide.hierarchy.actions.BrowseHierarchyActionBase.java

License:Apache License

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

    PsiDocumentManager.getInstance(project).commitAllDocuments(); // prevents problems with smart pointers creation

    final HierarchyProvider provider = getProvider(e);
    if (provider == null)
        return;
    final PsiElement target = provider.getTarget(dataContext);
    if (target == null)
        return;
    final HierarchyBrowser hierarchyBrowser = provider.createHierarchyBrowser(target);

    final Content content;

    final HierarchyBrowserManager hierarchyBrowserManager = HierarchyBrowserManager.getInstance(project);

    final ContentManager contentManager = hierarchyBrowserManager.getContentManager();
    final Content selectedContent = contentManager.getSelectedContent();
    if (selectedContent != null && !selectedContent.isPinned()) {
        content = selectedContent;
        final Component component = content.getComponent();
        if (component instanceof Disposable) {
            Disposer.dispose((Disposable) component);
        }
        content.setComponent(hierarchyBrowser.getComponent());
    } else {
        content = ContentFactory.SERVICE.getInstance().createContent(hierarchyBrowser.getComponent(), null,
                true);
        contentManager.addContent(content);
    }
    contentManager.setSelectedContent(content);
    hierarchyBrowser.setContent(content);

    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            provider.browserActivated(hierarchyBrowser);
        }
    };
    ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.HIERARCHY).activate(runnable);
}

From source file:com.intellij.ide.hierarchy.HierarchyBrowserManager.java

License:Apache License

public HierarchyBrowserManager(final Project project) {
    final ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project);
    final ToolWindow toolWindow = toolWindowManager.registerToolWindow(ToolWindowId.HIERARCHY, true,
            ToolWindowAnchor.RIGHT, project);
    myContentManager = toolWindow.getContentManager();
    toolWindow.setIcon(AllIcons.Toolwindows.ToolWindowHierarchy);
    new ContentManagerWatcher(toolWindow, myContentManager);
}