toolwindow combo content ui - default state (+applied for hierarchy)

This commit is contained in:
Kirill Kalishev
2009-11-03 13:18:08 +03:00
parent b32bd182fb
commit 92ed41b128
5 changed files with 20 additions and 4 deletions
@@ -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(
@@ -51,6 +48,7 @@ public final class HierarchyBrowserManager implements PersistentStateComponent<H
public HierarchyBrowserManager(final Project project) {
final ToolWindowManager toolWindowManager=ToolWindowManager.getInstance(project);
final ToolWindow toolWindow = toolWindowManager.registerToolWindow(ToolWindowId.HIERARCHY, true, ToolWindowAnchor.RIGHT, project);
toolWindow.setDefaultContentUiType(ToolWindowContentUiType.COMBO);
myContentManager = toolWindow.getContentManager();
toolWindow.setIcon(IconLoader.getIcon("/general/toolWindowHierarchy.png"));
new ContentManagerWatcher(toolWindow,myContentManager);
@@ -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();
@@ -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;
}
@@ -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);
@@ -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 <code>FloatingDecorator</code>.
*/