summaryrefslogtreecommitdiff
path: root/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java')
-rw-r--r--platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java28
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);
+ }
}