diff options
Diffstat (limited to 'platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java')
-rw-r--r-- | platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java index 66b59d06d200..548c312614d4 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java @@ -15,17 +15,27 @@ */ package com.intellij.testFramework; +import com.intellij.ide.projectView.ProjectView; import com.intellij.ide.projectView.ProjectViewNode; import com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane; +import com.intellij.ide.projectView.impl.ProjectViewImpl; import com.intellij.ide.projectView.impl.nodes.BasePsiNode; import com.intellij.ide.util.treeView.AbstractTreeNode; import com.intellij.ide.util.treeView.AbstractTreeStructure; +import com.intellij.openapi.extensions.Extensions; +import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Queryable; import com.intellij.openapi.util.MultiValuesMap; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.wm.ToolWindow; +import com.intellij.openapi.wm.ToolWindowAnchor; +import com.intellij.openapi.wm.ToolWindowEP; +import com.intellij.openapi.wm.ToolWindowId; +import com.intellij.openapi.wm.ex.ToolWindowManagerEx; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.Function; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.Assert; @@ -151,4 +161,22 @@ public class ProjectViewTestUtil { DefaultMutableTreeNode nodeForElement = getNodeForElement(element, pane); return nodeForElement != null && isExpanded((DefaultMutableTreeNode)nodeForElement.getParent(), pane); } + + public static void setupImpl(@NotNull Project project, boolean loadPaneExtensions) { + ToolWindowManagerEx toolWindowManager = ToolWindowManagerEx.getInstanceEx(project); + ToolWindow toolWindow = toolWindowManager.getToolWindow(ToolWindowId.PROJECT_VIEW); + + if (toolWindow == null) { + ToolWindowEP[] beans = Extensions.getExtensions(ToolWindowEP.EP_NAME); + for (final ToolWindowEP bean : beans) { + if (bean.id.equals(ToolWindowId.PROJECT_VIEW)) { + toolWindow = toolWindowManager.registerToolWindow(bean.id, new JLabel(), ToolWindowAnchor.fromText(bean.anchor), project, + false, bean.canCloseContents); + break; + } + } + } + + ((ProjectViewImpl)ProjectView.getInstance(project)).setupImpl(toolWindow, loadPaneExtensions); + } } |