public override void EndInitialize( ) { MainSeries.EndInitialize(); ((System.ComponentModel.ISupportInitialize)(InnerDiagram)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.InnerChart)).EndInit(); this.ResumeLayout(false); }
internal void UpdateDataRange() { if (MainChart != null) { DateTime ds = DateTime.FromOADate(this.LowerValue); Quote quote = ViewModel.ChartViewModel.Instance.DataSource.FirstOrDefault(p => p.date >= ds); if (quote != null) { ViewModel.ChartViewModel.Instance.DataSource.ReferenceValue.Value = quote.close; } var thisType = this.MovingAverageType; var otherType = MovingAverageType.Simple; foreach (MovingAverageType t in Enum.GetValues(typeof(MovingAverageType))) { if (t != thisType) { otherType = t; break; } } if (ViewModel.ChartViewModel.Instance.SymbolCollection != null && ViewModel.ChartViewModel.Instance.SymbolCollection.Any()) { foreach (var symbol in ViewModel.ChartViewModel.Instance.SymbolCollection) { quote = symbol.DataSource.FirstOrDefault(p => p.date >= ds); if (quote != null) { symbol.DataSource.ReferenceValue.Value = quote.close; if (symbol.Series != null) { symbol.Series.Dispose(); } if (symbol.MovingAverage != null) { symbol.MovingAverage.Dispose(); symbol.MovingAverage.Type = otherType; symbol.MovingAverage.Type = thisType; } } } } if (MainSeries != null) { MainSeries.Dispose(); } if (MainMovingAverage != null) { MainMovingAverage.Dispose(); MainMovingAverage.Type = otherType; MainMovingAverage.Type = thisType; } UpdateYRange(); } }
public override PadRange GetPadRangeY(Pad pad) { double max = MainSeries.GetMax(this.firstDate, this.lastDate); double min = MainSeries.GetMin(this.firstDate, this.lastDate); if (max >= min) { double num = max / 10.0; max -= num; min += num; } return(new PadRange(max, min)); }
public int ClientX(DateTime dateTime) { double w = (double)Width / (LastIndex - FirstIndex + 1); return(X1 + (int)((MainSeries.GetIndex(dateTime, IndexOption.Null) - FirstIndex) * w + w / 2)); }