aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-01-16 12:17:10 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-01-16 12:17:10 +0200
commit0fda2ba3ff49bdc1ffc6833f658e2164af187008 (patch)
tree6f3a24d0671ebda50debb8511ab40e0bda0a0df0 /Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs
parent28103646681686bf1b58275d5dbccb92d2b26f9f (diff)
downloadTango-0fda2ba3ff49bdc1ffc6833f658e2164af187008.tar.gz
Tango-0fda2ba3ff49bdc1ffc6833f658e2164af187008.zip
Embedded RealTimeGraphEx library to solution.
Added graphs to technician view. Implemented simple sensors data test using Machine Emulator.
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs')
-rw-r--r--Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExMultiBase.cs74
1 files changed, 74 insertions, 0 deletions
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
+
+ /// <summary>
+ /// Gets or sets the maximum points to display on the graph (default 1000).
+ /// </summary>
+ 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)));
+
+
+ /// <summary>
+ /// Gets or sets the collection of data series to display on the graph.
+ /// </summary>
+ 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
+ }
+}