UI: one simple way to control toolwindow toolbars visibility 2

This commit is contained in:
Gregory.Shrago
2014-10-28 01:46:08 +03:00
parent d8915f5e02
commit c3faa89b21
5 changed files with 7 additions and 6 deletions
@@ -52,7 +52,7 @@ public final class HierarchyBrowserManager implements PersistentStateComponent<H
ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project);
ToolWindow toolWindow = toolWindowManager.registerToolWindow(ToolWindowId.HIERARCHY, true, ToolWindowAnchor.RIGHT, project);
DefaultActionGroup gearActions = new DefaultActionGroup();
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(toolWindow)).setAsSecondary(true);
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(project, toolWindow)).setAsSecondary(true);
((ToolWindowEx)toolWindow).setAdditionalGearActions(gearActions);
myContentManager = toolWindow.getContentManager();
@@ -92,7 +92,7 @@ public class StructureViewWrapperImpl implements StructureViewWrapper, Disposabl
public StructureViewWrapperImpl(Project project, ToolWindowEx toolWindow) {
myProject = project;
myToolWindow = toolWindow;
myShowToolbarAction = SimpleToolWindowPanel.createToggleToolbarAction(myToolWindow);
myShowToolbarAction = SimpleToolWindowPanel.createToggleToolbarAction(project, myToolWindow);
myUpdateQueue = new MergingUpdateQueue("StructureView", Registry.intValue("structureView.coalesceTime"), false, myToolWindow.getComponent(), this, myToolWindow.getComponent(), true);
myUpdateQueue.setRestartTimerOnAdd(true);
@@ -45,7 +45,7 @@ public class UsageViewManagerImpl extends UsageViewManager {
toolWindow.setToHideOnEmptyContent(true);
toolWindow.setIcon(AllIcons.Toolwindows.ToolWindowFind);
DefaultActionGroup gearActions = new DefaultActionGroup();
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(toolWindow)).setAsSecondary(true);
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(project, toolWindow)).setAsSecondary(true);
((ToolWindowEx)toolWindow).setAdditionalGearActions(gearActions);
myFindContentManager = toolWindow.getContentManager();
@@ -18,6 +18,7 @@ package com.intellij.openapi.ui;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.ui.content.Content;
@@ -172,8 +173,8 @@ public class SimpleToolWindowPanel extends JPanel implements QuickActionProvider
}
@NotNull
public static AnAction createToggleToolbarAction(@NotNull ToolWindow toolWindow) {
return new ToggleToolbarAction(toolWindow, PropertiesComponent.getInstance());
public static AnAction createToggleToolbarAction(Project project, @NotNull ToolWindow toolWindow) {
return new ToggleToolbarAction(toolWindow, PropertiesComponent.getInstance(project));
}
private static class ToggleToolbarAction extends ToggleAction implements DumbAware {
@@ -87,7 +87,7 @@ public class ChangesViewContentManager extends AbstractProjectComponent implemen
myToolWindow = toolWindowManager.registerToolWindow(TOOLWINDOW_ID, true, ToolWindowAnchor.BOTTOM, myProject, true);
myToolWindow.setIcon(AllIcons.Toolwindows.ToolWindowChanges);
DefaultActionGroup gearActions = new DefaultActionGroup();
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(myToolWindow)).setAsSecondary(true);
gearActions.addAction(SimpleToolWindowPanel.createToggleToolbarAction(myProject, myToolWindow)).setAsSecondary(true);
((ToolWindowEx)myToolWindow).setAdditionalGearActions(gearActions);
updateToolWindowAvailability();