using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using RealTimeGraphEx;
using RealTimeGraphEx.Controllers;
using RealTimeGraphX;
using RealTimeGraphX.WPF.DataSeries;
namespace Tango.MachineStudio.Common.Controls
{
///
/// Interaction logic for RealTimeGraphControl.xaml
///
public partial class RealTimeGraphControl : UserControl, IRealTimeGraph
{
#region Properties
public String DisplayName
{
get { return (String)GetValue(DisplayNameProperty); }
set { SetValue(DisplayNameProperty, value); }
}
public static readonly DependencyProperty DisplayNameProperty =
DependencyProperty.Register("DisplayName", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null));
public String DisplayUnits
{
get { return (String)GetValue(DisplayUnitsProperty); }
set { SetValue(DisplayUnitsProperty, value); }
}
public static readonly DependencyProperty DisplayUnitsProperty =
DependencyProperty.Register("DisplayUnits", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null));
public String StringFormat
{
get { return (String)GetValue(StringFormatProperty); }
set { SetValue(StringFormatProperty, value); }
}
public static readonly DependencyProperty StringFormatProperty =
DependencyProperty.Register("StringFormat", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata("0.0"));
public IGraphController Controller
{
get { return (IGraphController)GetValue(ControllerProperty); }
set { SetValue(ControllerProperty, value); }
}
public static readonly DependencyProperty ControllerProperty =
DependencyProperty.Register("Controller", typeof(IGraphController), typeof(RealTimeGraphControl), new PropertyMetadata(null,(d,e) => (d as RealTimeGraphControl).OnControllerChanged()));
private void OnControllerChanged()
{
Controller.Output.Output.ConnectOutput(Graph);
}
#endregion
public RealTimeGraphControl()
{
InitializeComponent();
}
}
}