private void RefreshPlotsEventHandler(object sender, EventArgs e) { List <Series> tbrSeries = Plot.Series.ToList(); List <Series> tbrSeriesBool = PlotBool.Series.ToList(); // Lets make a local copy (thread safety) IList <MeasurePoint> _mbData = DriverContainer.Driver.MbData; IList <MeasurePoint> _mbAlarms = DriverContainer.Driver.MbAlarm; // If there are some plots on the graph if (tbrSeries.Count != 0) { Plotter.RefreshSeries(_mbData, tbrSeries); if (_showAlarms) { Plotter.RefreshAnnotations(_mbAlarms, Plot, true); } } if (tbrSeriesBool.Count != 0) { Plotter.RefreshSeries(_mbData, tbrSeriesBool); if (_showAlarms) { Plotter.RefreshAnnotations(_mbAlarms, PlotBool, false); } } Plot.InvalidatePlot(true); PlotBool.InvalidatePlot(true); }
public void OnCheckedItemMessageReceived(EventWithMessage e) { // Lets make a local copy (thread safety) IList <MeasurePoint> _mbData = DriverContainer.Driver.MbData; IList <MeasurePoint> myPoints = new List <MeasurePoint>(); if (_mbData != null) { // The item was checked if (e.value == 1) { myPoints = _mbData.Where(x => x.Reg_Name == e.name).ToList(); ShowPoints(myPoints); Plot.InvalidatePlot(true); PlotBool.InvalidatePlot(true); } else // The item was unchecked { // Unplot UnshowPoints(e.name); } IsExportDataEnabled = ((_plot.Series.Count() + _plotBool.Series.Count()) != 0) ? true : false; } }
private void ConnectionStatusChangedEventHandler(object sender, EventArgs e) { if (!DriverContainer.Driver.IsConnected) { Plotter.ClearPoints(Plot); Plotter.ClearPoints(PlotBool); Plotter.ClearAnnotations(Plot); Plotter.ClearAnnotations(PlotBool); Plot.InvalidatePlot(true); PlotBool.InvalidatePlot(true); IsExportDataEnabled = false; } }
public void UnshowPoints(string name) { Plotter.UnshowPoints(Plot, name); Plotter.UnshowPoints(PlotBool, name); // Delete Annotations too, if there are no more traces if (Plot.Series.ToList().Count == 0) { Plotter.ClearAnnotations(Plot); } if (PlotBool.Series.ToList().Count == 0) { Plotter.ClearAnnotations(PlotBool); } Plot.InvalidatePlot(true); PlotBool.InvalidatePlot(true); }
public void OnFlaggedAlarmMessageReceived(EventWithMessage e) { // Let's make a local copy (thread safety) IList <MeasurePoint> _mbAlarms = DriverContainer.Driver.MbAlarm; if (e.value == 1) // show annotations { _showAlarms = true; // Refresh Annotations if (Plot.Series.ToList().Count > 0) { Plotter.ClearAnnotations(Plot); } if (PlotBool.Series.ToList().Count > 0) { Plotter.ClearAnnotations(PlotBool); } if (_mbAlarms != null) { List <string> alarmNames = _mbAlarms.Select(x => x.Reg_Name).ToList().Distinct().ToList(); if (Plot.Series.ToList().Count > 0) { Plotter.ShowAnnotations(alarmNames, _mbAlarms, Plot, true); } if (PlotBool.Series.ToList().Count > 0) { Plotter.ShowAnnotations(alarmNames, _mbAlarms, PlotBool, false); } } } else // unshow annotations { _showAlarms = false; Plotter.ClearAnnotations(Plot); Plotter.ClearAnnotations(PlotBool); } Plot.InvalidatePlot(true); PlotBool.InvalidatePlot(true); }