InternalDecorator( final Project project, @NotNull WindowInfoImpl info, final ToolWindowImpl toolWindow) { super(new BorderLayout()); myProject = project; myToolWindow = toolWindow; myToolWindow.setDecorator(this); myDivider = new MyDivider(); myToggleFloatingModeAction = new ToggleFloatingModeAction(); myToggleWindowedModeAction = new ToggleWindowedModeAction(); myToggleSideModeAction = new ToggleSideModeAction(); myToggleDockModeAction = new ToggleDockModeAction(); myToggleAutoHideModeAction = new TogglePinnedModeAction(); myToggleContentUiTypeAction = new ToggleContentUiTypeAction(); myToggleToolbarGroup = ToggleToolbarAction.createToggleToolbarGroup(myProject, myToolWindow); myHeader = new ToolWindowHeader( toolWindow, info, new Producer<ActionGroup>() { @Override public ActionGroup produce() { return /*createGearPopupGroup()*/ createPopupGroup(true); } }) { @Override protected boolean isActive() { return isFocused(); } @Override protected void hideToolWindow() { fireHidden(); } @Override protected void toolWindowTypeChanged(ToolWindowType type) { fireTypeChanged(type); } @Override protected void sideHidden() { fireHiddenSide(); } }; init(); apply(info); }