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 @@ - +