void UpdateFromIndicatorParam(IndicatorParam ip)
{
indicatorName = ip.IndicatorName;
lblIndicator.Text = indicatorName;
isPaint = false;
isChartRecalculation = false;
// List params
for (int i = 0; i < 5; i++)
{
ListParam[i].Items.Clear();
ListParam[i].Items.AddRange (ip.ListParam[i].ItemList);
ListLabel[i].Text = ip.ListParam[i].Caption;
ListParam[i].SelectedIndex = ip.ListParam[i].Index;
ListParam[i].Enabled = ip.ListParam[i].Enabled;
toolTip.SetToolTip(ListParam[i], ip.ListParam[i].ToolTip);
}
// Numeric params
for (int i = 0; i < 6; i++)
{
NumParam[i].BeginInit();
NumLabel[i].Text = ip.NumParam[i].Caption;
NumParam[i].Minimum = (decimal)ip.NumParam[i].Min;
NumParam[i].Maximum = (decimal)ip.NumParam[i].Max;
NumParam[i].Value = (decimal)ip.NumParam[i].Value;
NumParam[i].DecimalPlaces = ip.NumParam[i].Point;
NumParam[i].Increment = (decimal)Math.Pow(10, -ip.NumParam[i].Point);
NumParam[i].Enabled = ip.NumParam[i].Enabled;
NumParam[i].EndInit();
toolTip.SetToolTip(NumParam[i], ip.NumParam[i].ToolTip + Environment.NewLine + "Minimum: " + NumParam[i].Minimum + " Maximum: " + NumParam[i].Maximum);
}
// Check params
for (int i = 0; i < 2; i++)
{
CheckParam[i].Text = ip.CheckParam[i].Caption;
CheckParam[i].Checked = ip.CheckParam[i].Checked;
toolTip.SetToolTip(CheckParam[i], ip.CheckParam[i].ToolTip);
if (Data.AutoUsePrvBarValue && ip.CheckParam[i].Caption == "Use previous bar value")
CheckParam[i].Enabled = false;
else
CheckParam[i].Enabled = ip.CheckParam[i].Enabled;
}
isPaint = true;
isChartRecalculation = true;
return;
}