private void OnSolverDataChanged(ExtensionCategoryViewModelBase category, ExtensionViewModel oldExtension, ExtensionViewModel newExtension)
        {
            root.CreateSolverData();

            GlobalData.Instance.Configuration.Extensions.SolverData = newExtension.Extension.Name;
            ConfigurationManager.Save(GlobalData.Instance.Configuration);
        }
        protected internal override void OnExtensionSelectionChanged(ExtensionViewModel extension)
        {
            if (extension.IsActive == false)
            {
                return;
            }

            ExtensionViewModel oldExtension = Selected;

            Selected = extension;

            onSelectionChanged(this, oldExtension, extension);
        }
        private void OnSolverChanged(ExtensionCategoryViewModelBase category, ExtensionViewModel oldExtension, ExtensionViewModel newExtension)
        {
            var oldValue = oldExtension?.Extension as ISolver;
            var newValue = newExtension?.Extension as ISolver;

            if (oldValue != null)
            {
                oldValue.SearchProgress -= SolverSearchProgress;
            }

            if (newValue != null)
            {
                newValue.SearchProgress += SolverSearchProgress;
            }

            GlobalData.Instance.Configuration.Extensions.Solver = newValue.Name;
            ConfigurationManager.Save(GlobalData.Instance.Configuration);
        }
 protected internal override void OnExtensionSelectionChanged(ExtensionViewModel extension)
 {
     onSelectionChanged(this, extension);
 }
 protected internal abstract void OnExtensionSelectionChanged(ExtensionViewModel extension);