12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using ScottPlot;
- using ScottPlot.Plottable;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Diagnostics;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace ProjectManagementSystem.UI
- {
- public partial class SignalMonitorUI : UserControl, IDisplayUI
- {
- readonly double[] signalValues = new double[60];
- private FormsPlot formsPlot1 = new FormsPlot();
- private SignalPlot signalPlot;
- public string PlotTitle { get; set; }
- public SignalMonitorUI()
- {
- InitializeComponent();
- }
- public bool Init()
- {
- formsPlot1.Dock = DockStyle.Fill;
- this.panel1.Controls.Add(formsPlot1);
- formsPlot1.Plot.Title(PlotTitle);
- signalPlot = formsPlot1.Plot.AddSignal(signalValues);
- signalPlot.StepDisplay = true;
- signalPlot.MarkerSize = 0;
- return true;
- }
- public void ClearSignal()
- {
- for (int i = 0; i < signalValues.Length; i++)
- {
- signalValues[i] = signalValues[i + 1];
- }
- }
- public void AddSignal(bool value)
- {
- AddSignal(value ? 1 : 0);
- }
- public void AddSignal(double value)
- {
- int maxIndex = signalValues.Length - 1;
- for (int i = 0; i < maxIndex; i++)
- {
- signalValues[i] = signalValues[i + 1];
- }
- signalValues[maxIndex] = value;
- }
- public void UpdateDisplay()
- {
- formsPlot1.Render();
- formsPlot1.Plot.AxisAuto();
- }
- }
- }
|