private void ShowContextMenu(DockWindow tab, ref Vector2 location) { var menu = new ContextMenu.ContextMenu(); menu.Tag = tab; tab.OnShowContextMenu(menu); menu.AddButton("Close", OnTabMenuCloseClicked); menu.AddButton("Close All", OnTabMenuCloseAllClicked); menu.AddButton("Close All But This", OnTabMenuCloseAllButThisClicked); if (_panel.Tabs.IndexOf(tab) + 1 < _panel.TabsCount) { menu.AddButton("Close All To The Right", OnTabMenuCloseAllToTheRightClicked); } if (!_panel.IsFloating) { menu.AddSeparator(); menu.AddButton("Undock", OnTabMenuUndockClicked); } else if (!tab.RootWindow?.IsMaximized ?? false) { menu.AddSeparator(); menu.AddButton("Maximize", OnTabMenuMaximizeClicked); } else if (tab.RootWindow?.IsMaximized ?? false) { menu.AddSeparator(); menu.AddButton("Restore", OnTabMenuRestoreClicked); } menu.Show(this, location); }
private void ShowContextMenu(DockWindow tab, ref Vector2 location) { var menu = new ContextMenu(); menu.Tag = tab; tab.OnShowContextMenu(menu); menu.AddButton("Close", OnTabMenuCloseClicked); menu.AddButton("Close All", OnTabMenuCloseAllClicked); menu.AddButton("Close All But This", OnTabMenuCloseAllButThisClicked); if (_panel.Tabs.IndexOf(tab) + 1 < _panel.TabsCount) { menu.AddButton("Close All To the Right", OnTabMenuCloseAllToTheRightClicked); } if (!_panel.IsFloating) { menu.AddSeparator(); menu.AddButton("Float", OnTabMenuFloatClicked); } menu.Show(this, location); }