Пример #1
0
        /// <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++;
        }