/// <inheritdoc/> protected override bool UpdateFromDataFields() { if (this.MinimumField == null || this.MaximumField == null) { return(false); } var filler = new ListBuilder <BarItem>(); filler.Add(this.MinimumField, double.NaN); filler.Add(this.MaximumField, double.NaN); filler.Add(this.BaseField, double.NaN); filler.Add(this.MinimumColorField, OxyColors.Automatic); filler.Add(this.MaximumColorField, OxyColors.Automatic); filler.Fill( this.ItemsSourceItems, this.ItemsSource, args => new TornadoBarItem() { Minimum = Convert.ToDouble(args[0]), Maximum = Convert.ToDouble(args[1]), BaseValue = Convert.ToDouble(args[2]), MinimumColor = (OxyColor)args[3], MaximumColor = (OxyColor)args[4], }); return(true); }
/// <summary> /// The update data. /// </summary> protected internal override void UpdateData() { base.UpdateData(); if (this.ItemsSource == null) { if (this.points2.Count > 0) { this.actualPoints2 = this.points2; } else { this.actualPoints2 = this.GetConstantPoints2().ToList(); } return; } this.itemsSourcePoints2.Clear(); // TODO: make it consistent with DataPointSeries.UpdateItemsSourcePoints // Using reflection on DataFieldX2 and DataFieldY2 if (this.DataFieldX2 != null && this.DataFieldY2 != null) { var filler = new ListBuilder <DataPoint>(); filler.Add(this.DataFieldX2, double.NaN); filler.Add(this.DataFieldY2, double.NaN); filler.Fill(this.itemsSourcePoints2, this.ItemsSource, args => new DataPoint(Axes.Axis.ToDouble(args[0]), Axes.Axis.ToDouble(args[1]))); } else { this.itemsSourcePoints2.AddRange(this.GetConstantPoints2()); } }
public void Fill_InvalidProperty_UsesDefaultValue() { var target = new List<ScatterPoint>(); var filler = new ListBuilder<ScatterPoint>(); filler.Add("B", 0d); filler.Fill(target, this.src, args => new ScatterPoint(Convert.ToDouble(args[0]), 0)); }
public void Fill_InvalidProperty_UsesDefaultValue() { var target = new List <ScatterPoint>(); var filler = new ListBuilder <ScatterPoint>(); filler.Add("B", 0d); filler.Fill(target, this.src, args => new ScatterPoint(Convert.ToDouble(args[0]), 0)); }
public void Fill_NullProperty_DefaultValueIsExpected() { var target = new List<ScatterPoint>(); var filler = new ListBuilder<ScatterPoint>(); filler.Add(null, 42); filler.Fill(target, this.src, args => new ScatterPoint(Convert.ToDouble(args[0]), 0)); Assert.AreEqual(1, target.Count); Assert.AreEqual(42, target[0].X); }
public void FillDataPoints() { var target = new List<DataPoint>(); var filler = new ListBuilder<DataPoint>(); filler.Add("A", 0d); filler.Fill(target, this.src, args => new DataPoint(Convert.ToDouble(args[0]), 0)); Assert.AreEqual(1, target.Count); Assert.AreEqual(3.14, target[0].X); }
public void Fill_NullProperty_DefaultValueIsExpected() { var target = new List <ScatterPoint>(); var filler = new ListBuilder <ScatterPoint>(); filler.Add(null, 42); filler.Fill(target, this.src, args => new ScatterPoint(Convert.ToDouble(args[0]), 0)); Assert.AreEqual(1, target.Count); Assert.AreEqual(42, target[0].X); }
public void FillDataPoints() { var target = new List <DataPoint>(); var filler = new ListBuilder <DataPoint>(); filler.Add("A", 0d); filler.Fill(target, this.src, args => new DataPoint(Convert.ToDouble(args[0]), 0)); Assert.AreEqual(1, target.Count); Assert.AreEqual(3.14, target[0].X); }
/// <summary> /// Updates the <see cref="F:itemsSourceItems" /> from the <see cref="P:ItemsSource" /> and data fields. /// </summary> protected override void UpdateFromDataFields() { // Using reflection to add items by value and color (optional) var filler = new ListBuilder <ColumnItem>(); filler.Add(this.ValueField, double.NaN); filler.Add(this.ColorField, OxyColors.Automatic); filler.Fill(this.ItemsSourceItems, this.ItemsSource, args => new ColumnItem(Convert.ToDouble(args[0])) { Color = (OxyColor)args[1] }); }
/// <inheritdoc/> protected override bool UpdateFromDataFields() { if (this.ValueField == null) { return(false); } // Using reflection to add items by value and color (optional) var filler = new ListBuilder <BarItem>(); filler.Add(this.ValueField, double.NaN); filler.Add(this.ColorField, OxyColors.Automatic); filler.Fill( this.ItemsSourceItems, this.ItemsSource, args => new BarItem(Convert.ToDouble(args[0])) { Color = (OxyColor)args[1] }); return(true); }
/// <inheritdoc/> protected override bool UpdateFromDataFields() { if (this.StartField == null || this.EndField == null) { return(false); } var filler = new ListBuilder <BarItem>(); filler.Add(this.StartField, double.NaN); filler.Add(this.EndField, double.NaN); filler.Add(this.ColorField, OxyColors.Automatic); filler.Fill( this.ItemsSourceItems, this.ItemsSource, args => new IntervalBarItem(Convert.ToDouble(args[0]), Convert.ToDouble(args[1])) { Color = (OxyColor)args[2] }); return(true); }
/// <summary> /// Updates the points from the <see cref="ItemsSeries.ItemsSource" />. /// </summary> private void UpdateItemsSourcePoints() { // Use the Mapping property to generate the points if (this.Mapping != null) { this.ClearItemsSourcePoints(); foreach (var item in this.ItemsSource) { this.itemsSourcePoints.Add(this.Mapping(item)); } return; } var sourceAsListOfDataPoints = this.ItemsSource as List <DataPoint>; if (sourceAsListOfDataPoints != null) { this.itemsSourcePoints = sourceAsListOfDataPoints; this.ownsItemsSourcePoints = false; return; } this.ClearItemsSourcePoints(); var sourceAsEnumerableDataPoints = this.ItemsSource as IEnumerable <DataPoint>; if (sourceAsEnumerableDataPoints != null) { this.itemsSourcePoints.AddRange(sourceAsEnumerableDataPoints); return; } // Get DataPoints from the items in ItemsSource // if they implement IDataPointProvider // If DataFields are set, this is not used if (this.DataFieldX == null || this.DataFieldY == null) { foreach (var item in this.ItemsSource) { if (item is DataPoint) { this.itemsSourcePoints.Add((DataPoint)item); continue; } var idpp = item as IDataPointProvider; if (idpp == null) { continue; } this.itemsSourcePoints.Add(idpp.GetDataPoint()); } } else { var filler = new ListBuilder <DataPoint>(); filler.Add(this.DataFieldX, double.NaN); filler.Add(this.DataFieldY, double.NaN); filler.Fill(this.itemsSourcePoints, this.ItemsSource, args => new DataPoint(Convert.ToDouble(args[0]), Convert.ToDouble(args[1]))); } }
/// <summary> /// Updates the points from the <see cref="ItemsSeries.ItemsSource" />. /// </summary> private void UpdateItemsSourcePoints() { // Use the Mapping property to generate the points if (this.Mapping != null) { this.ClearItemsSourcePoints(); foreach (var item in this.ItemsSource) { this.itemsSourcePoints.Add(this.Mapping(item)); } return; } var sourceAsListOfDataPoints = this.ItemsSource as List<DataPoint>; if (sourceAsListOfDataPoints != null) { this.itemsSourcePoints = sourceAsListOfDataPoints; this.ownsItemsSourcePoints = false; return; } this.ClearItemsSourcePoints(); var sourceAsEnumerableDataPoints = this.ItemsSource as IEnumerable<DataPoint>; if (sourceAsEnumerableDataPoints != null) { this.itemsSourcePoints.AddRange(sourceAsEnumerableDataPoints); return; } // Get DataPoints from the items in ItemsSource // if they implement IDataPointProvider // If DataFields are set, this is not used if (this.DataFieldX == null || this.DataFieldY == null) { foreach (var item in this.ItemsSource) { if (item is DataPoint) { this.itemsSourcePoints.Add((DataPoint)item); continue; } var idpp = item as IDataPointProvider; if (idpp == null) { continue; } this.itemsSourcePoints.Add(idpp.GetDataPoint()); } } else { var filler = new ListBuilder<DataPoint>(); filler.Add(this.DataFieldX, double.NaN); filler.Add(this.DataFieldY, double.NaN); filler.Fill(this.itemsSourcePoints, this.ItemsSource, args => new DataPoint(Axes.Axis.ToDouble(args[0]), Axes.Axis.ToDouble(args[1]))); } }
/// <summary> /// The update data. /// </summary> protected internal override void UpdateData() { base.UpdateData(); if (this.ItemsSource == null) { this.IsPoints2Defined = this.points2.Count > 0; if (this.IsPoints2Defined) { this.actualPoints2 = this.points2; } else { this.actualPoints2 = this.GetConstantPoints2().ToList(); } return; } this.itemsSourcePoints2.Clear(); // TODO: make it consistent with DataPointSeries.UpdateItemsSourcePoints // Using reflection on DataFieldX2 and DataFieldY2 this.IsPoints2Defined = this.DataFieldX2 != null && this.DataFieldY2 != null; if (this.IsPoints2Defined) { var filler = new ListBuilder<DataPoint>(); filler.Add(this.DataFieldX2, double.NaN); filler.Add(this.DataFieldY2, double.NaN); filler.Fill(this.itemsSourcePoints2, this.ItemsSource, args => new DataPoint(Axes.Axis.ToDouble(args[0]), Axes.Axis.ToDouble(args[1]))); } else { this.itemsSourcePoints2.AddRange(this.GetConstantPoints2()); } }