diff --git a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserManager.java b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserManager.java
index c433f8dafba0..d62524975598 100644
--- a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserManager.java
+++ b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserManager.java
@@ -23,10 +23,7 @@ import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.IconLoader;
-import com.intellij.openapi.wm.ToolWindow;
-import com.intellij.openapi.wm.ToolWindowAnchor;
-import com.intellij.openapi.wm.ToolWindowId;
-import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.openapi.wm.*;
import com.intellij.ui.content.ContentManager;
@State(
diff --git a/platform/platform-api/src/com/intellij/openapi/wm/ToolWindow.java b/platform/platform-api/src/com/intellij/openapi/wm/ToolWindow.java
index 0900fbf65dd5..68b798553f6e 100644
--- a/platform/platform-api/src/com/intellij/openapi/wm/ToolWindow.java
+++ b/platform/platform-api/src/com/intellij/openapi/wm/ToolWindow.java
@@ -17,6 +17,7 @@ package com.intellij.openapi.wm;
import com.intellij.openapi.util.Key;
import com.intellij.ui.content.ContentManager;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -137,6 +138,7 @@ public interface ToolWindow {
void setAvailable(boolean available, @Nullable Runnable runnable);
void setContentUiType(ToolWindowContentUiType type, @Nullable Runnable runnable);
+ void setDefaultContentUiType(@NotNull ToolWindowContentUiType type);
ToolWindowContentUiType getContentUiType();
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java
index 40044627814f..5907d5afbebc 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowHeadlessManagerImpl.java
@@ -136,6 +136,9 @@ public class ToolWindowHeadlessManagerImpl extends ToolWindowManagerEx {
public void setContentUiType(ToolWindowContentUiType type, @Nullable Runnable runnable) {
}
+ public void setDefaultContentUiType(@NotNull ToolWindowContentUiType type) {
+ }
+
public ToolWindowContentUiType getContentUiType() {
return ToolWindowContentUiType.TABBED;
}
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
index 6413a29e11f2..86dcfef1789c 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java
@@ -30,6 +30,7 @@ import com.intellij.ui.content.Content;
import com.intellij.ui.content.ContentFactory;
import com.intellij.ui.content.ContentManager;
import com.intellij.ui.content.impl.ContentImpl;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -167,6 +168,10 @@ public final class ToolWindowImpl implements ToolWindowEx {
}
}
+ public void setDefaultContentUiType(@NotNull ToolWindowContentUiType type) {
+ myToolWindowManager.setDefaultContentUiType(this, type);
+ }
+
public ToolWindowContentUiType getContentUiType() {
ApplicationManager.getApplication().assertIsDispatchThread();
return myToolWindowManager.getContentUiType(myId);
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
index 3777f072230b..d5a93eb8da0b 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java
@@ -1572,6 +1572,13 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements
}
+ public void setDefaultContentUiType(ToolWindowImpl toolWindow, ToolWindowContentUiType type) {
+ final WindowInfoImpl info = getInfo(toolWindow.getId());
+ if (info.wasRead()) return;
+ toolWindow.setContentUiType(type, null);
+ }
+
+
public void doWhenFocusSettlesDown(@NotNull final Runnable runnable) {
final boolean needsRestart = isIdleQueueEmpty();
myIdleRequests.add(runnable);
@@ -1695,6 +1702,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements
};
}
+
/**
* This command creates and shows FloatingDecorator.
*/
diff --git a/platform/platform-resources/src/idea/WindowManager.xml b/platform/platform-resources/src/idea/WindowManager.xml
index feffd433ede2..4845dd1e164e 100644
--- a/platform/platform-resources/src/idea/WindowManager.xml
+++ b/platform/platform-resources/src/idea/WindowManager.xml
@@ -15,6 +15,6 @@
-
+