/// <summary> /// Starts Generator. /// </summary> private void ShowGenerator() { // Put the Strategy into the Undo Stack Data.StackStrategy.Push(Data.Strategy.Clone()); string orginalDescription = Data.Strategy.Description; var generator = new Generator {ParrentForm = this}; generator.ShowDialog(); if (generator.DialogResult == DialogResult.OK) { // We accept the generated strategy Data.StrategyName = Data.Strategy.StrategyName + ".xml"; Text = Data.Strategy.StrategyName + "* - " + Data.ProgramName; if (generator.IsStrategyModified) { Data.Strategy.Description = (orginalDescription != string.Empty ? orginalDescription + Environment.NewLine + Environment.NewLine + "-----------" + Environment.NewLine + generator.GeneratedDescription : generator.GeneratedDescription); } else { Data.SetStrategyIndicators(); Data.Strategy.Description = generator.GeneratedDescription; } Data.IsStrategyChanged = true; RebuildStrategyLayout(); Calculate(true); } else { // When we cancel the Generating, we return the original strategy. UndoStrategy(); } Data.GeneratorStarts++; }