mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
UI: one simple way to control toolwindow toolbars visibility 2
This commit is contained in:
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user