private void editIndicatorMenuItem_Click(object sender, EventArgs e) { try { if (activeIndicatorLV.FocusedItem == null) { return; } IndicatorCurveInfo info = (IndicatorCurveInfo)activeIndicatorLV.FocusedItem.Tag; application.forms.baseIndicatorForm form = GetIndicatorForm(info.meta); if (form == null) { return; } this.CurrentEditCurveName = info.CurveName; form.ShowDialog(); } catch (Exception er) { this.ShowError(er); } finally { this.CurrentEditCurveName = ""; } }
private application.forms.baseIndicatorForm GetIndicatorForm(application.Indicators.Meta meta) { if (meta == null) { return(null); } application.forms.baseIndicatorForm form = null; form = (application.forms.baseIndicatorForm) this.indicatorFormCache.Find(meta.ClassType.Name); if (form == null || form.IsDisposed) { form = application.Indicators.Libs.GetIndicatorForm(meta); form.Text = meta.Name; form.onPlotChart += new application.forms.baseIndicatorForm.PlotChart(IndicatorFormHandler); } //TUAN update list new windows on indicator form else { if (form.GetType().Equals(typeof(application.forms.commonIndicatorForm))) { ((application.forms.commonIndicatorForm)(form)).updateFormFromMeta(meta); } } //TUAN this.indicatorFormCache.Add(meta.ClassType.Name, form); return(form); }
/// <summary> /// Plot indicator charts. The function displays a form to collect indicator options and then plot the chart. /// </summary> /// <param name="indicatorTypeName">Indicator name to be drawn</param> /// public void PlotIndicator(string indicatorName) { application.forms.baseIndicatorForm form = GetIndicatorForm(indicatorName); if (form == null) { return; } form.ShowDialog(); }
//IndicatorFormHandler : Draw / Remove indicator's curves private void IndicatorFormHandler(application.forms.baseIndicatorForm indicatorForm, bool removeChart) { if (removeChart) { string curveName = constCurveNamePrefixIndicator + indicatorForm.FormMeta.ClassType.Name + "-" + indicatorForm.FormMeta.ParameterString; RemoveCurveIndicator(curveName, true); } else { DrawCurveIndicator(indicatorForm.FormMeta); } UpdateChart(); }
private application.forms.baseIndicatorForm FindIndicatorForm(string typeName) { application.Indicators.Meta meta = application.Indicators.Libs.FindMetaByName(typeName); if (meta == null) { return(null); } application.forms.baseIndicatorForm form = (application.forms.baseIndicatorForm) this.indicatorFormCache.Find(meta.ClassType.Name); if (form == null || form.IsDisposed) { return(null); } return(form); }
private application.forms.baseIndicatorForm GetIndicatorForm(application.Indicators.Meta meta) { if (meta == null) { return(null); } application.forms.baseIndicatorForm form = null; form = (application.forms.baseIndicatorForm) this.indicatorFormCache.Find(meta.ClassType.Name); if (form == null || form.IsDisposed) { form = application.Indicators.Libs.GetIndicatorForm(meta); form.Text = meta.Name; form.onPlotChart += new application.forms.baseIndicatorForm.PlotChart(IndicatorFormHandler); } this.indicatorFormCache.Add(meta.ClassType.Name, form); return(form); }