void ShowGenerator()
{
// Put the Strategy into the Undo Stack
Data.StackStrategy.Push(Data.Strategy.Clone());
Data.IsStrategyReady = false;
string sOrginalDescription = Data.Strategy.Description;
Forex_Strategy_Builder.Dialogs.Generator.Generator generator = new Forex_Strategy_Builder.Dialogs.Generator.Generator();
generator.SetParrentForm = 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 = (sOrginalDescription != string.Empty ?
sOrginalDescription + 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.IsStrategyReady = true;
return;
}