From 0fda2ba3ff49bdc1ffc6833f658e2164af187008 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 16 Jan 2018 12:17:10 +0200 Subject: Embedded RealTimeGraphEx library to solution. Added graphs to technician view. Implemented simple sensors data test using Machine Emulator. --- .../RealTimeGraphEx/RealTimeGraphExMultiBase.cs | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs') diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs new file mode 100644 index 000000000..d9edc478e --- /dev/null +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs @@ -0,0 +1,74 @@ +using RealTimeGraphEx.Controllers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; + +namespace RealTimeGraphEx +{ + public class RealTimeGraphExMultiBase : RealTimeGraphExBase + { + #region Cross Thread Fields + + protected GraphMultiController _graphController; + protected int _maxPoints; + protected int updateCounter; + protected double _scaleFactor; + + #endregion + + #region Properties + + /// + /// Gets or sets the maximum points to display on the graph (default 1000). + /// + public int MaxPoints + { + get { return (int)GetValue(MaxPointsProperty); } + set { SetValue(MaxPointsProperty, value); } + } + public static readonly DependencyProperty MaxPointsProperty = + DependencyProperty.Register("MaxPoints", typeof(int), typeof(RealTimeGraphExMultiBase), new PropertyMetadata(1000, new PropertyChangedCallback(CrossModelChanged))); + + + /// + /// Gets or sets the collection of data series to display on the graph. + /// + public GraphMultiController Controller + { + get { return (GraphMultiController)GetValue(ControllerProperty); } + set { SetValue(ControllerProperty, value); } + } + public static readonly DependencyProperty ControllerProperty = + DependencyProperty.Register("Controller", typeof(GraphMultiController), typeof(RealTimeGraphExMultiBase), new PropertyMetadata(null, new PropertyChangedCallback(DataSeriesCollectionChanged))); + private static void DataSeriesCollectionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var control = d as RealTimeGraphExMultiBase; + control._graphController = control.Controller; + control.OnControllerChanged(); + } + #endregion + + #region Constructors + + public RealTimeGraphExMultiBase() + : base() + { + _graphController = new GraphMultiController(); + } + + #endregion + + #region Virtual Methods + + protected virtual void OnControllerChanged() + { + + } + + #endregion + } +} -- cgit v1.3.1