Ejemplo n.º 1
0
        private void SettingsV_Closing(object sender, CancelEventArgs e)
        {
            if (wasChange)
            {
                var res = MessageBox.Show("Save changes?", "Changes was made", MessageBoxButton.YesNoCancel);
                if (res == MessageBoxResult.Cancel)
                {
                    e.Cancel = true;
                }
                else if (res == MessageBoxResult.Yes)
                {
                    if (EvoEngine.NodesCount != NodesCount)
                    {
                        EvoEngine.IndividualsLength = PopSize;
                        EvoEngine.NodesCount        = NodesCount;
                        EvoEngine.Matrix1           = MatrixFactory.CreateRandomDiagonal(NodesCount, 0, 100);
                        EvoEngine.Matrix2           = MatrixFactory.CreateRandomDiagonal(NodesCount, 0, 100);
                    }
                    else
                    {
                        EvoEngine.IndividualsLength = PopSize;
                        EvoEngine.NodesCount        = NodesCount;
                        CopyMatrices();
                    }

                    EvoEngine.Mutation = Mutation;

                    try
                    {
                        EvoEngine.ReCreateEvolutionary();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        e.Cancel = true;
                    }
                }
            }
        }