예제 #1
0
        private void CloseTab(Plugin plugin)
        {
            if (!CanClose(plugin))
            {
                return;
            }

            bool changeSelection = (plugin == SelectedPlugin);
            int  selectedIndex   = LoadedPlugins.IndexOf(plugin);

            _pluginController.RemovePlugin(plugin);

            if (changeSelection)
            {
                int count = LoadedPlugins.Count;

                if (count == 0)
                {
                    SelectedPlugin = null;
                }
                else
                {
                    if (selectedIndex >= count)
                    {
                        selectedIndex = count - 1;
                    }
                    SelectedPlugin = LoadedPlugins[selectedIndex];
                }
            }
        }