diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-02-20 16:45:00 +0200 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-02-20 16:45:00 +0200 |
| commit | 6c208c90bc45aff4a7fa214356a42fe7757c5e6f (patch) | |
| tree | 0d77bc6a0ecfbb53cf42c5462ee19212197ee1bd /Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs | |
| parent | b0823127f152fe97a6e8fce29e427c7f3db9cf5a (diff) | |
| parent | 1a573aaa346ec4b8bd58a0e35ab9df571a09b855 (diff) | |
| download | Tango-6c208c90bc45aff4a7fa214356a42fe7757c5e6f.tar.gz Tango-6c208c90bc45aff4a7fa214356a42fe7757c5e6f.zip | |
MERGE
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs')
| -rw-r--r-- | Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs new file mode 100644 index 000000000..81bf3b9db --- /dev/null +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Controllers/GraphController.cs @@ -0,0 +1,96 @@ +using RealTimeGraphEx.DataSeries; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace RealTimeGraphEx.Controllers +{ + public class GraphController : GraphControllerBase + { + #region Cross Thread Fields + + internal DataYSeries dataSeries; + + #endregion + + public GraphController() + { + DataSeries = new DataYSeries(); + } + + public DataYSeries DataSeries + { + get { return (DataYSeries)GetValue(DataSeriesProperty); } + set { SetValue(DataSeriesProperty, value); } + } + public static readonly DependencyProperty DataSeriesProperty = + DependencyProperty.Register("Controller", typeof(DataYSeries), typeof(GraphController), new PropertyMetadata(null, new PropertyChangedCallback(SetCrossThreadFields))); + + + + private static void SetCrossThreadFields(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + (d as GraphController).OnSetCrossModelFields(); + } + + protected virtual void OnSetCrossModelFields() + { + this.Dispatcher.Invoke(() => + { + + dataSeries = DataSeries; + + }, System.Windows.Threading.DispatcherPriority.Send); + } + + public override void Clear() + { + if (clearMethod != null) + { + clearMethod(); + } + + dataSeries.ClearPoints(); + } + + internal override void ClearPoints() + { + dataSeries.ClearPoints(); + } + + public virtual void PushData(List<double> values) + { + if (startThreadMethod != null) + { + startThreadMethod(); + } + + dataSeries.PushData(values); + } + + public virtual void PushData(double[] values) + { + if (startThreadMethod != null) + { + startThreadMethod(); + } + + dataSeries.PushData(values); + } + + public virtual void PushData(double value) + { + if (startThreadMethod != null) + { + startThreadMethod(); + } + + dataSeries.PushData(value); + } + + + } +} |
