From 754bd1434273b7f0cd1c1bd88ffc88620180c2cb Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Wed, 20 Sep 2017 21:55:21 +0200 Subject: [PATCH] Graphs changes in progress --- GraphLib/PlotterDisplayEx.cs | 36 -- GraphLib/PlotterDisplayEx.designer.cs | 371 ++++++++---------- GraphLib/PlotterDisplayEx.resx | 134 +++---- .../BenchControl/StateMachine.cs | 5 +- .../Screens/GraphsTabPageCtrl.cs | 109 ++--- .../Screens/GraphsTabPageCtrl.designer.cs | 1 - .../UiBridge/ProcessDataEventArgs.cs | 34 +- 7 files changed, 324 insertions(+), 366 deletions(-) diff --git a/GraphLib/PlotterDisplayEx.cs b/GraphLib/PlotterDisplayEx.cs index 4f5e6f4e0..ad66e49a5 100644 --- a/GraphLib/PlotterDisplayEx.cs +++ b/GraphLib/PlotterDisplayEx.cs @@ -110,15 +110,6 @@ namespace GraphLib set { gPane.smoothing = value; } } - [Category("Playback")] - [DefaultValue(typeof(float), "2")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public float PlaySpeed - { - get { return play_speed; } - set { play_speed = value; } - } - [Category("Playback")] [DefaultValue(typeof(bool), "true")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] @@ -277,13 +268,6 @@ namespace GraphLib Stop(); break; - - case "print": - - // // todo implement print preview - ShowPrintPreview(); - - break; } } @@ -395,28 +379,8 @@ namespace GraphLib } } - private void OnScrollBarSpeedScroll(object sender, ScrollEventArgs e) - { - float Percentage = hScrollBar2.Value / 10000.0f; - float delta = play_speed_max - play_speed_min; - play_speed = play_speed_min + Percentage * delta; - } - #endregion - private void ShowPrintPreview() - { - if (printPreviewForm == null) - { - printPreviewForm = new PrintPreviewForm(); - } - - printPreviewForm.GraphPanel = this.gPane; - printPreviewForm.Show(); - printPreviewForm.TopMost = true; - printPreviewForm.Invalidate(); - } - private void selectGraphsToolStripMenuItem_Click(object sender, EventArgs e) { if (GraphPropertiesForm == null) diff --git a/GraphLib/PlotterDisplayEx.designer.cs b/GraphLib/PlotterDisplayEx.designer.cs index 0fe6fde47..92c5ce504 100644 --- a/GraphLib/PlotterDisplayEx.designer.cs +++ b/GraphLib/PlotterDisplayEx.designer.cs @@ -18,231 +18,182 @@ namespace GraphLib /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlotterDisplayEx)); - this.tb1 = new System.Windows.Forms.ToolBar(); - this.tbbSave = new System.Windows.Forms.ToolBarButton(); - this.tbbOpen = new System.Windows.Forms.ToolBarButton(); - this.tbbSeparator3 = new System.Windows.Forms.ToolBarButton(); - this.tbbPrint = new System.Windows.Forms.ToolBarButton(); - this.toolBarButton2 = new System.Windows.Forms.ToolBarButton(); - this.imgList1 = new System.Windows.Forms.ImageList(this.components); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.lb_Position = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.hScrollBar2 = new System.Windows.Forms.HScrollBar(); - this.hScrollBar1 = new System.Windows.Forms.HScrollBar(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.selectGraphsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.panel1 = new System.Windows.Forms.Panel(); - this.gPane = new GraphLib.PlotterGraphPaneEx(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // tb1 - // - this.tb1.Appearance = System.Windows.Forms.ToolBarAppearance.Flat; - this.tb1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlotterDisplayEx)); + this.tb1 = new System.Windows.Forms.ToolBar(); + this.tbbSave = new System.Windows.Forms.ToolBarButton(); + this.tbbOpen = new System.Windows.Forms.ToolBarButton(); + this.imgList1 = new System.Windows.Forms.ImageList(this.components); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.panel1 = new System.Windows.Forms.Panel(); + this.lb_Position = new System.Windows.Forms.Label(); + this.hScrollBar1 = new System.Windows.Forms.HScrollBar(); + this.gPane = new GraphLib.PlotterGraphPaneEx(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.selectGraphsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.contextMenuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // tb1 + // + this.tb1.Appearance = System.Windows.Forms.ToolBarAppearance.Flat; + this.tb1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] { this.tbbSave, - this.tbbOpen, - this.tbbSeparator3, - this.tbbPrint, - this.toolBarButton2}); - this.tb1.ButtonSize = new System.Drawing.Size(16, 16); - this.tb1.Divider = false; - this.tb1.Dock = System.Windows.Forms.DockStyle.None; - this.tb1.DropDownArrows = true; - this.tb1.ImageList = this.imgList1; - this.tb1.Location = new System.Drawing.Point(11, 5); - this.tb1.Name = "tb1"; - this.tb1.ShowToolTips = true; - this.tb1.Size = new System.Drawing.Size(80, 26); - this.tb1.TabIndex = 1; - this.tb1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.tb1_ButtonClick); - // - // tbbSave - // - this.tbbSave.ImageIndex = 0; - this.tbbSave.Name = "tbbSave"; - this.tbbSave.Tag = "play"; - // - // tbbOpen - // - this.tbbOpen.ImageIndex = 1; - this.tbbOpen.Name = "tbbOpen"; - this.tbbOpen.Tag = "stop"; - // - // tbbSeparator3 - // - this.tbbSeparator3.Name = "tbbSeparator3"; - this.tbbSeparator3.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; - // - // tbbPrint - // - this.tbbPrint.ImageIndex = 3; - this.tbbPrint.Name = "tbbPrint"; - this.tbbPrint.Tag = "print"; - // - // toolBarButton2 - // - this.toolBarButton2.Name = "toolBarButton2"; - this.toolBarButton2.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; - // - // imgList1 - // - this.imgList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgList1.ImageStream"))); - this.imgList1.TransparentColor = System.Drawing.Color.Transparent; - this.imgList1.Images.SetKeyName(0, "media-playback-start.png"); - this.imgList1.Images.SetKeyName(1, "media-playback-stop.png"); - this.imgList1.Images.SetKeyName(2, "media-playback-pause.png"); - this.imgList1.Images.SetKeyName(3, "printer.png"); - // - // splitContainer1 - // - this.splitContainer1.BackColor = System.Drawing.SystemColors.Control; - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer1.IsSplitterFixed = true; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ControlDarkDark; - this.splitContainer1.Panel1.Controls.Add(this.tb1); - this.splitContainer1.Panel1.Controls.Add(this.panel1); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.BackColor = System.Drawing.Color.Transparent; - this.splitContainer1.Panel2.Controls.Add(this.gPane); - this.splitContainer1.Size = new System.Drawing.Size(598, 339); - this.splitContainer1.SplitterDistance = 34; - this.splitContainer1.TabIndex = 2; - this.splitContainer1.TabStop = false; - // - // lb_Position - // - this.lb_Position.AutoSize = true; - this.lb_Position.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.lb_Position.Location = new System.Drawing.Point(6, 8); - this.lb_Position.Name = "lb_Position"; - this.lb_Position.Size = new System.Drawing.Size(44, 13); - this.lb_Position.TabIndex = 3; - this.lb_Position.Text = "Position"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.label1.Location = new System.Drawing.Point(180, 8); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(85, 13); - this.label1.TabIndex = 2; - this.label1.Text = "Playback Speed"; - // - // hScrollBar2 - // - this.hScrollBar2.Location = new System.Drawing.Point(268, 10); - this.hScrollBar2.Maximum = 10000; - this.hScrollBar2.Name = "hScrollBar2"; - this.hScrollBar2.Size = new System.Drawing.Size(111, 10); - this.hScrollBar2.TabIndex = 6; - this.hScrollBar2.Value = 1; - this.hScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.OnScrollBarSpeedScroll); - // - // hScrollBar1 - // - this.hScrollBar1.Location = new System.Drawing.Point(57, 10); - this.hScrollBar1.Maximum = 10000; - this.hScrollBar1.Name = "hScrollBar1"; - this.hScrollBar1.Size = new System.Drawing.Size(118, 10); - this.hScrollBar1.TabIndex = 4; - this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.OnScrollbarScroll); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tbbOpen}); + this.tb1.ButtonSize = new System.Drawing.Size(16, 16); + this.tb1.Divider = false; + this.tb1.Dock = System.Windows.Forms.DockStyle.None; + this.tb1.DropDownArrows = true; + this.tb1.ImageList = this.imgList1; + this.tb1.Location = new System.Drawing.Point(11, 5); + this.tb1.Name = "tb1"; + this.tb1.ShowToolTips = true; + this.tb1.Size = new System.Drawing.Size(80, 26); + this.tb1.TabIndex = 1; + this.tb1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.tb1_ButtonClick); + // + // tbbSave + // + this.tbbSave.ImageIndex = 0; + this.tbbSave.Name = "tbbSave"; + this.tbbSave.Tag = "play"; + // + // tbbOpen + // + this.tbbOpen.ImageIndex = 1; + this.tbbOpen.Name = "tbbOpen"; + this.tbbOpen.Tag = "stop"; + // + // imgList1 + // + this.imgList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgList1.ImageStream"))); + this.imgList1.TransparentColor = System.Drawing.Color.Transparent; + this.imgList1.Images.SetKeyName(0, "media-playback-start.png"); + this.imgList1.Images.SetKeyName(1, "media-playback-stop.png"); + this.imgList1.Images.SetKeyName(2, "media-playback-pause.png"); + this.imgList1.Images.SetKeyName(3, "printer.png"); + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.SystemColors.Control; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.IsSplitterFixed = true; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ControlDarkDark; + this.splitContainer1.Panel1.Controls.Add(this.tb1); + this.splitContainer1.Panel1.Controls.Add(this.panel1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.BackColor = System.Drawing.Color.Transparent; + this.splitContainer1.Panel2.Controls.Add(this.gPane); + this.splitContainer1.Size = new System.Drawing.Size(598, 339); + this.splitContainer1.SplitterDistance = 34; + this.splitContainer1.TabIndex = 2; + this.splitContainer1.TabStop = false; + // + // panel1 + // + this.panel1.Controls.Add(this.lb_Position); + this.panel1.Controls.Add(this.hScrollBar1); + this.panel1.Location = new System.Drawing.Point(99, 3); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(496, 28); + this.panel1.TabIndex = 7; + // + // lb_Position + // + this.lb_Position.AutoSize = true; + this.lb_Position.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.lb_Position.Location = new System.Drawing.Point(6, 8); + this.lb_Position.Name = "lb_Position"; + this.lb_Position.Size = new System.Drawing.Size(44, 13); + this.lb_Position.TabIndex = 3; + this.lb_Position.Text = "Position"; + // + // hScrollBar1 + // + this.hScrollBar1.Location = new System.Drawing.Point(57, 10); + this.hScrollBar1.Maximum = 10000; + this.hScrollBar1.Name = "hScrollBar1"; + this.hScrollBar1.Size = new System.Drawing.Size(118, 10); + this.hScrollBar1.TabIndex = 4; + this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.OnScrollbarScroll); + // + // gPane + // + this.gPane.Dock = System.Windows.Forms.DockStyle.Fill; + this.gPane.Location = new System.Drawing.Point(0, 0); + this.gPane.Name = "gPane"; + this.gPane.Size = new System.Drawing.Size(598, 301); + this.gPane.TabIndex = 1; + // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.selectGraphsToolStripMenuItem, this.toolStripSeparator1}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(117, 32); - // - // selectGraphsToolStripMenuItem - // - this.selectGraphsToolStripMenuItem.Name = "selectGraphsToolStripMenuItem"; - this.selectGraphsToolStripMenuItem.Size = new System.Drawing.Size(116, 22); - this.selectGraphsToolStripMenuItem.Text = "Options"; - this.selectGraphsToolStripMenuItem.Click += new System.EventHandler(this.selectGraphsToolStripMenuItem_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(113, 6); - // - // panel1 - // - this.panel1.Controls.Add(this.lb_Position); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.hScrollBar1); - this.panel1.Controls.Add(this.hScrollBar2); - this.panel1.Location = new System.Drawing.Point(99, 3); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(496, 28); - this.panel1.TabIndex = 7; - // - // gPane - // - this.gPane.Dock = System.Windows.Forms.DockStyle.Fill; - this.gPane.Location = new System.Drawing.Point(0, 0); - this.gPane.Name = "gPane"; - this.gPane.Size = new System.Drawing.Size(598, 301); - this.gPane.TabIndex = 1; - // - // PlotterDisplayEx - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Transparent; - this.ContextMenuStrip = this.contextMenuStrip1; - this.Controls.Add(this.splitContainer1); - this.Name = "PlotterDisplayEx"; - this.Size = new System.Drawing.Size(598, 339); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - this.splitContainer1.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - this.ResumeLayout(false); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(117, 32); + // + // selectGraphsToolStripMenuItem + // + this.selectGraphsToolStripMenuItem.Name = "selectGraphsToolStripMenuItem"; + this.selectGraphsToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.selectGraphsToolStripMenuItem.Text = "Options"; + this.selectGraphsToolStripMenuItem.Click += new System.EventHandler(this.selectGraphsToolStripMenuItem_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(113, 6); + // + // PlotterDisplayEx + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Transparent; + this.ContextMenuStrip = this.contextMenuStrip1; + this.Controls.Add(this.splitContainer1); + this.Name = "PlotterDisplayEx"; + this.Size = new System.Drawing.Size(598, 339); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.contextMenuStrip1.ResumeLayout(false); + this.ResumeLayout(false); } #endregion - private System.Windows.Forms.ToolBar tb1; - private System.Windows.Forms.ToolBarButton tbbSeparator3; + private System.Windows.Forms.ToolBar tb1; private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.ToolBarButton tbbSave; private System.Windows.Forms.ToolBarButton tbbOpen; private System.Windows.Forms.HScrollBar hScrollBar1; - private PlotterGraphPaneEx gPane; - private System.Windows.Forms.HScrollBar hScrollBar2; - private System.Windows.Forms.Label lb_Position; - private System.Windows.Forms.Label label1; + private PlotterGraphPaneEx gPane; + private System.Windows.Forms.Label lb_Position; public System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem selectGraphsToolStripMenuItem; private System.Windows.Forms.ImageList imgList1; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - private System.Windows.Forms.ToolBarButton tbbPrint; - private System.Windows.Forms.ToolBarButton toolBarButton2; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.Panel panel1; } diff --git a/GraphLib/PlotterDisplayEx.resx b/GraphLib/PlotterDisplayEx.resx index 553fc67fc..6e31611d1 100644 --- a/GraphLib/PlotterDisplayEx.resx +++ b/GraphLib/PlotterDisplayEx.resx @@ -112,85 +112,85 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACO - DgAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AKgADAQECwAABuAGV - AVEB/QHKAZgBWwH/AcoBlwFbAf8BygGXAVsB/wHKAZcBWwH/AcoBlwFaAf8ByQGXAVoB/wHJAZcBWgH/ - AcoBmAFbAf8BuAGUAVEB/RQAAxQBHAMRARcDAgEDrAADTgGZA10B0gNOAf8BxwGVAVcB/wH5AfcB9gH/ + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACI + DgAAAk1TRnQBSQFMAgEBBAEAAQwBAAEMAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AKgADAQECwAABtwGV + AVAB/QHKAZgBWgH/AcoBlwFaAf8BygGXAVoB/wHKAZcBWgH/AcoBlwFZAf8ByQGXAVkB/wHJAZcBWQH/ + AcoBmAFaAf8BtwGUAVAB/RQAAxQBHAMRARcDAgEDrAADTgGZA10B0gNNAf8BxwGVAVYB/wH5AfcB9gH/ AfkB8QHsAf8B+QHxAesB/wH4AfAB6QH/AfcB7QHmAf8B9AHqAeEB/wHyAegB3gH/AfoB+AH2Af8BxwGU - AVcB/wMaAf8DWAHRA0QBeggAAxUBHQFiAlgB6QM6AWEDDQESAwABASwAAxsBJgMbASYDGwEmAxsBJgMb + AVYB/wMZAf8DWAHRA0QBeggAAxUBHQFiAlgB6QM6AWEDDQESAwABASwAAxsBJgMbASYDGwEmAxsBJgMb ASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmEAADGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEm - AxsBJgMbASYDGwEmAxsBJgMbASYIAANXAf0DpwH/A7UB/wOBAf8BrwGsAaoB/wHFAcABvQH/AcUBwAG9 - Af8BxQHAAb0B/wHFAcABvQH/AcUBwAG9Af8BxQHAAb0B/wGtAaoBqAH/AyIB/wO1Af8DmwH/AxkB/wgA - AxUBHQNNAfoBPAIrAfwDXwHgAysBQgMNARIoAAMbASYBLAIrAfwBgAKBAf8BgAKBAf8BgAKBAf8BgAKB - Af8BgAKBAf8BgAKBAf8BgAKBAf8BgAKBAf8BgAKBAf8DGwEmEAADGwEmASwCKwH8AYACgQH/AYACgQH/ - AYACgQH/AyMBNAMbASYBLAIrAfwBgAKBAf8BgAKBAf8BgAKBAf8DIwE0CAADZgH/A7UB/wO1Af8DlQH/ - A4EB/wOBAf8DbwH/A2QB/wNXAf8DSAH/AzkB/wM4Af8DZAH/A7UB/wO1Af8DGwH/CAADFQEdAV8CSgH7 - AfkB+gH5Af8DfwH+AV8BUwFSAfsDVQGyAx0BKgMIAQsgAAMbASYDQAH9IP8DQAH9AxsBJgMAAQEMAAMb - ASYDQAH9AfwB/QH8Bf8DQAH9AxsBJgMbASYDQAH9AfwB/QH8Bf8DQAH9AxsBJgMAAQEEAANrAf8DuwH/ - A7sB/wONAf8D1AH/A7kB/wO5Af8DuQH/A7kB/wO5Af8DuQH/A9MB/wODAf8DuwH/A7sB/wMgAf8IAAMV - AR0DKwH8AfoC+wH/AfUC9gH/AfkC+gH/AT0BMAEvAfwBbQJRAfcDQgF2AxYBHgMFAQcYAAMbASYDQAH9 - BP8B1QHbAdgB/wHUAdsB1wH/AdQB2wHYAf8B0wHbAdcB/wHRAdkB1QH/Ac8B1wHTBf8DQAH9AxsBJgMB - AQIMAAMbASYDQAH9AeIB5QHkAf8B2AHfAdwB/wNAAf0DGwEmAxsBJgNAAf0D8wH/AfcB+AH3Af8DQAH9 - AxsBJgMBAQIEAANwAf8D1wH/A9cB/wOXAf8D2AH/A78B/wO/Af8DvwH/A78B/wO/Af8DvwH/A9cB/wOO - Af8D1wH/A9cB/wM1Af8IAAMWAR4DKwH8A/sB/wHTAdoB1wH/AdoB3wHcAf8B9gH3AfYB/wHyAvMB/wE8 - AisB/AFgAlkB6wMzAVMDEgEZAwQBBRAAAxsBJgNAAf0E/wHaAeAB3QH/AdsB4QHeAf8B3QHiAeAB/wHd - AeIB4AH/AdsB4QHeAf8B2AHeAdsF/wNAAf0DGwEmAwEBAgwAAxsBJgNAAf0B4gHmAeQB/wHcAeIB3wH/ - A0AB/QMbASYDGwEmA0AB/QHvAfEB8AH/AfAB8wHxAf8DQAH9AxsBJgMBAQIEAAN0Af8D+QH/A/kB/wOr - Af8D3wH/A8sB/wPLAf8DywH/A8sB/wPLAf8DywH/A98B/wOjAf8D+QH/A/kB/wNXAf8IAAMWAR4DKwH8 - A/sB/wHfAeQB4QH/Ad4B4wHhAf8B3gHjAeAB/wHjAecB5QH/AfQC9QH/A38B/gGRAkAB/QNWAbYDJgE5 - AxABFQwAAxsBJgNAAf0E/wHdAeMB4AH/AeEB5gHjAf8B5AHpAecB/wHmAeoB6AH/AeUB6QHnAf8B4gHn - AeQF/wNAAf0DGwEmAwEBAgwAAxsBJgNAAf0B5AHoAeUB/wHeAeMB4QH/A0AB/QMbASYDGwEmA0AB/QHs - Ae8B7gH/AecB6wHpAf8DQAH9AxsBJgMBAQIEAANqAfkD/AH/A/wB/wPLAf8D8gH/A/IB/wPyAf8D8gH/ - A/IB/wPyAf8D8gH/A/IB/wPGAf8D/AH/A/wB/wNwAf4IAAMWAR4DKwH8A/sB/wHqAe4B7AH/AewB7wHu - Af8B7AHvAe4B/wHrAe4B7QH/AekB7AHrAf8DfwH+ATwCKwH8AVgCVgG7Ax0BKgMGAQgMAAMbASYDQAH9 - BP8B3wHkAeEB/wHkAekB5gH/AeoB7QHrAf8B7gHxAe8B/wHvAfEB8AH/AewB7wHuBf8DQAH9AxsBJgMB - AQIMAAMbASYDQAH9AesB7QHsAf8B3QHjAeAB/wNAAf0DGwEmAxsBJgNAAf0B7QHwAe8B/wHfAeQB4QH/ - A0AB/QMbASYDAQECBAADXQTSAf8D6AH/A3MB/wNzAf8DcwH/A3MB/wNzAf8DcwH/A3MB/wNzAf8DcwH/ - A3MB/wPoAf8DxAH/A1wB3AgAAxYBHgMrAfwD+wH/AfUC9gH/AfoB+wH6Af8D+QH/Ad0C3gH/AWoCRwH5 - A10B7QE6AjkBYAMNAREUAAMbASYDQAH9BP8B3AHiAd8B/wHkAegB5gH/AesB7gHtAf8B8gH0AfMB/wH3 - AvgB/wH2AfgB9wX/A0AB/QMbASYDAQECDAADGwEmA0AB/QHyAfQB8wH/AdoB3wHdAf8DQAH9AxsBJgMc - ASgDQAH9AfMB9QH0Af8B1gHdAdkB/wNAAf0DGwEmAwEBAgQAAy0BRQOaAf8DzAH/AccBiwFEAf8B+QH0 - Ae0B/wH+AegB2AH/Af4B6AHXAf8B/QHlAdMB/wH8AeQB0QH/AfoB4AHHAf8B+QHdAcMB/wH6AfQB7QH/ - AccBhQFAAf8DwwH/A2oB/wMtAUUIAAMWAR4DKwH8A/sB/wHwAfMB8gH/AeYC6AH/A00B+gFiAlIB9AFR - Ak8BpQMUARwDAAEBGAADGwEmA0AB/QT/AdgB3wHcAf8B4AHlAeMB/wHoAesB6gH/Ae8B8gHwAf8B9wH4 - AfcB/wP9Bf8DQAH9AxsBJgMBAQIMAAMbASYDQAH9A/wB/wHVAdsB2AH/A0AB/QMbASYDHAEoA0AB/QP8 - Af8B0gHaAdYB/wNAAf0DGwEmAwEBAggAAzsBYwNsAfMBxQGJAUIB/wH5AfQB7wH/Af4B5wHXAf8B/QHn - AdUB/wH8AeYB0gH/AfsB4QHMAf8B+AHcAcIB/wH2AdoBvQH/AfoB9AHvAf8BxAGDAT4B/wNdAfMDOwFj - DAADFgEeAysB/AP7Af8BQQI0AfwDTQH6AVoCVwG9AxgBIgMCAQMgAAMbASYDQAH9IP8DQAH9AxsBJgMB - AQIMAAMbASYDQAH9CP8DQAH9AxsBJgMcASgDQAH9CP8DQAH9AxsBJgMBAQIMAAMHAQkBngF/AUcC+QH0 - AfAB/wH8AeYB0wH/Af0B5wHTAf8B+wHjAc0B/wH6AeAByAH/AfUB1gG7Af8B8wHUAbUB/wH4AfQB8AH/ - AZ0BawFHAfkDBwEJEAADFgEeA0AB/QFbAjIB+wFgAlwB1AMjATMDBwEKKAADGwEmAysB/AErAS8BLQH/ - ASsBLwEtAf8BKwEvAS0B/wErAS8BLQH/ASsBLwEtAf8BKwEvAS0B/wErAS8BLQH/ASsBLwEtAf8BKwEv - AS0B/wMbASYDAQECDAADGwEmAWMBVwFVAf4BKwEvAS0B/wErAS8BLQH/ASsBLwEtAf8DGwEmAxwBKAFj - AVcBVQH+ASsBLwEtAf8BKwEvAS0B/wErAS8BLQH/AxsBJgMBAQIQAAGaAX8BUQH3AfkB9QHxAf8B/AHj - Ac8B/wH8AeQBzwH/AfoB4QHKAf8B+QHdAcQB/wH0AekB3wH/AfcB8gHsAf8B9QHvAekB/wGdAWIBRQH7 - FAADFgEfAV4CWgHYAygBPQMNAREwAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMb - ASYDGwEmAxsBJgMAAQEMAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEm - AxsBJgMAAQEQAAGQAXABSQH2AfkB9QHxAf8B/AHjAc0B/wH7AeMBzQH/AfkB4AHIAf8B+AHcAcIB/wH9 - AfsB+AH/AfwB5gHNAf8B4gG2AYQB/wJUAVIBphQAAxYBHwMRARcDAgEDuAABogF3AU0B+gH3AfIB7AH/ - AfgB9AHuAf8B+AHzAe0B/wH4AfMB7QH/AfgB8gHsAf8B8gHmAdcB/wHiAbIBcwH/AZcBdQFiAfYDBQEH - FAADAwEEwAADOgFgAlgBVgG7AbUBfwFPAf4ByAGMAUUB/wGaAYEBUQH3AZoBgQFRAfcBsgF/AUwB/gNO - AZQUAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB3wX/AeABBwHHBf8CAAHB - Af8BwAEDAcABAwIAAcAB/wHAAQMBwAEDAgABwAE/AcABAQHAAQECAAHAAQ8BwAEBAcABAQIAAcABAwHA - AQEBwAEBAgABwAEBAcABAQHAAQECAAHAAQEBwAEBAcABAQIAAcABBwHAAQEBwAEBAgABwAEPAcABAQHA - AQEBgAEBAcABPwHAAQEBwAEBAcABAwHAAf8BwAEBAcABAQHgAQcBwwH/AcABAQHAAQEB4AEHAccF/wHg - AQcB3wX/AeABHws= + AxsBJgMbASYDGwEmAxsBJgMbASYIAANVAf0DpwH/A7UB/wOBAf8BrwGsAaoB/wHFAcABvQH/AcUBwAG9 + Af8BxQHAAb0B/wHFAcABvQH/AcUBwAG9Af8BxQHAAb0B/wGtAaoBqAH/AyEB/wO1Af8DmwH/AxgB/wgA + AxUBHQNNAfoBOwIrAfwDXwHgAysBQgMNARIoAAMbASYDKwH8AYACgQH/AYACgQH/AYACgQH/AYACgQH/ + AYACgQH/AYACgQH/AYACgQH/AYACgQH/AYACgQH/AxsBJhAAAxsBJgMrAfwBgAKBAf8BgAKBAf8BgAKB + Af8DIwE0AxsBJgMrAfwBgAKBAf8BgAKBAf8BgAKBAf8DIwE0CAADZQH/A7UB/wO1Af8DlQH/A4EB/wOB + Af8DbgH/A2MB/wNWAf8DRwH/AzgB/wM3Af8DYwH/A7UB/wO1Af8DGgH/CAADFQEdAV8CSgH7AfkB+gH5 + Af8DfwH+AV8BUwFSAfsDVQGyAx0BKgMIAQsgAAMbASYDQAH9IP8DQAH9AxsBJgMAAQEMAAMbASYDQAH9 + AfwB/QH8Bf8DQAH9AxsBJgMbASYDQAH9AfwB/QH8Bf8DQAH9AxsBJgMAAQEEAANqAf8DuwH/A7sB/wON + Af8D1AH/A7kB/wO5Af8DuQH/A7kB/wO5Af8DuQH/A9MB/wODAf8DuwH/A7sB/wMfAf8IAAMVAR0DKwH8 + AfoC+wH/AfUC9gH/AfkC+gH/ATwBLwEuAfwBbQJRAfcDQgF2AxYBHgMFAQcYAAMbASYDQAH9BP8B1QHb + AdgB/wHUAdsB1wH/AdQB2wHYAf8B0wHbAdcB/wHRAdkB1QH/Ac8B1wHTBf8DQAH9AxsBJgMBAQIMAAMb + ASYDQAH9AeIB5QHkAf8B2AHfAdwB/wNAAf0DGwEmAxsBJgNAAf0D8wH/AfcB+AH3Af8DQAH9AxsBJgMB + AQIEAANvAf8D1wH/A9cB/wOXAf8D2AH/A78B/wO/Af8DvwH/A78B/wO/Af8DvwH/A9cB/wOOAf8D1wH/ + A9cB/wM0Af8IAAMWAR4DKwH8A/sB/wHTAdoB1wH/AdoB3wHcAf8B9gH3AfYB/wHyAvMB/wE7AisB/AFg + AlkB6wMzAVMDEgEZAwQBBRAAAxsBJgNAAf0E/wHaAeAB3QH/AdsB4QHeAf8B3QHiAeAB/wHdAeIB4AH/ + AdsB4QHeAf8B2AHeAdsF/wNAAf0DGwEmAwEBAgwAAxsBJgNAAf0B4gHmAeQB/wHcAeIB3wH/A0AB/QMb + ASYDGwEmA0AB/QHvAfEB8AH/AfAB8wHxAf8DQAH9AxsBJgMBAQIEAANzAf8D+QH/A/kB/wOrAf8D3wH/ + A8sB/wPLAf8DywH/A8sB/wPLAf8DywH/A98B/wOjAf8D+QH/A/kB/wNWAf8IAAMWAR4DKwH8A/sB/wHf + AeQB4QH/Ad4B4wHhAf8B3gHjAeAB/wHjAecB5QH/AfQC9QH/A38B/gGRAkAB/QNWAbYDJgE5AxABFQwA + AxsBJgNAAf0E/wHdAeMB4AH/AeEB5gHjAf8B5AHpAecB/wHmAeoB6AH/AeUB6QHnAf8B4gHnAeQF/wNA + Af0DGwEmAwEBAgwAAxsBJgNAAf0B5AHoAeUB/wHeAeMB4QH/A0AB/QMbASYDGwEmA0AB/QHsAe8B7gH/ + AecB6wHpAf8DQAH9AxsBJgMBAQIEAANqAfkD/AH/A/wB/wPLAf8D8gH/A/IB/wPyAf8D8gH/A/IB/wPy + Af8D8gH/A/IB/wPGAf8D/AH/A/wB/wNwAf4IAAMWAR4DKwH8A/sB/wHqAe4B7AH/AewB7wHuAf8B7AHv + Ae4B/wHrAe4B7QH/AekB7AHrAf8DfwH+ATsCKwH8AVgCVgG7Ax0BKgMGAQgMAAMbASYDQAH9BP8B3wHk + AeEB/wHkAekB5gH/AeoB7QHrAf8B7gHxAe8B/wHvAfEB8AH/AewB7wHuBf8DQAH9AxsBJgMBAQIMAAMb + ASYDQAH9AesB7QHsAf8B3QHjAeAB/wNAAf0DGwEmAxsBJgNAAf0B7QHwAe8B/wHfAeQB4QH/A0AB/QMb + ASYDAQECBAADXQTSAf8D6AH/A3IB/wNyAf8DcgH/A3IB/wNyAf8DcgH/A3IB/wNyAf8DcgH/A3IB/wPo + Af8DxAH/A1wB3AgAAxYBHgMrAfwD+wH/AfUC9gH/AfoB+wH6Af8D+QH/Ad0C3gH/AWoCRwH5A10B7QE6 + AjkBYAMNAREUAAMbASYDQAH9BP8B3AHiAd8B/wHkAegB5gH/AesB7gHtAf8B8gH0AfMB/wH3AvgB/wH2 + AfgB9wX/A0AB/QMbASYDAQECDAADGwEmA0AB/QHyAfQB8wH/AdoB3wHdAf8DQAH9AxsBJgMcASgDQAH9 + AfMB9QH0Af8B1gHdAdkB/wNAAf0DGwEmAwEBAgQAAy0BRQOaAf8DzAH/AccBiwFDAf8B+QH0Ae0B/wH+ + AegB2AH/Af4B6AHXAf8B/QHlAdMB/wH8AeQB0QH/AfoB4AHHAf8B+QHdAcMB/wH6AfQB7QH/AccBhQE/ + Af8DwwH/A2kB/wMtAUUIAAMWAR4DKwH8A/sB/wHwAfMB8gH/AeYC6AH/A00B+gFiAlIB9AFRAk8BpQMU + ARwDAAEBGAADGwEmA0AB/QT/AdgB3wHcAf8B4AHlAeMB/wHoAesB6gH/Ae8B8gHwAf8B9wH4AfcB/wP9 + Bf8DQAH9AxsBJgMBAQIMAAMbASYDQAH9A/wB/wHVAdsB2AH/A0AB/QMbASYDHAEoA0AB/QP8Af8B0gHa + AdYB/wNAAf0DGwEmAwEBAggAAzsBYwNrAfMBxQGJAUEB/wH5AfQB7wH/Af4B5wHXAf8B/QHnAdUB/wH8 + AeYB0gH/AfsB4QHMAf8B+AHcAcIB/wH2AdoBvQH/AfoB9AHvAf8BxAGDAT0B/wNdAfMDOwFjDAADFgEe + AysB/AP7Af8BPwIzAfwDTQH6AVoCVwG9AxgBIgMCAQMgAAMbASYDQAH9IP8DQAH9AxsBJgMBAQIMAAMb + ASYDQAH9CP8DQAH9AxsBJgMcASgDQAH9CP8DQAH9AxsBJgMBAQIMAAMHAQkBmgF9AUcC+QH0AfAB/wH8 + AeYB0wH/Af0B5wHTAf8B+wHjAc0B/wH6AeAByAH/AfUB1gG7Af8B8wHUAbUB/wH4AfQB8AH/AZkBagFH + AfkDBwEJEAADFgEeA0AB/QFbAjIB+wFgAlwB1AMjATMDBwEKKAADGwEmAysB/AEqAS4BLAH/ASoBLgEs + Af8BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8BKgEuASwB/wMb + ASYDAQECDAADGwEmAWMBVwFVAf4BKgEuASwB/wEqAS4BLAH/ASoBLgEsAf8DGwEmAxwBKAFjAVcBVQH+ + ASoBLgEsAf8BKgEuASwB/wEqAS4BLAH/AxsBJgMBAQIQAAGWAX0BUQH3AfkB9QHxAf8B/AHjAc8B/wH8 + AeQBzwH/AfoB4QHKAf8B+QHdAcQB/wH0AekB3wH/AfcB8gHsAf8B9QHvAekB/wGbAWABRQH7FAADFgEf + AV4CWgHYAygBPQMNAREwAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEm + AxsBJgMAAQEMAAMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMbASYDGwEmAxsBJgMA + AQEQAAGNAW0BSQH2AfkB9QHxAf8B/AHjAc0B/wH7AeMBzQH/AfkB4AHIAf8B+AHcAcIB/wH9AfsB+AH/ + AfwB5gHNAf8B4gG2AYQB/wJUAVIBphQAAxYBHwMRARcDAgEDuAABoAF2AU0B+gH3AfIB7AH/AfgB9AHu + Af8B+AHzAe0B/wH4AfMB7QH/AfgB8gHsAf8B8gHmAdcB/wHiAbIBcgH/AZMBcwFiAfYDBQEHFAADAwEE + wAADOgFgAlgBVgG7AbMBfwFPAf4ByAGMAUQB/wGWAYABUQH3AZYBgAFRAfcBsAF/AUwB/gNOAZQUAAFC + AU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB3wX/AeABBwHHBf8CAAHBAf8BwAED + AcABAwIAAcAB/wHAAQMBwAEDAgABwAE/AcABAQHAAQECAAHAAQ8BwAEBAcABAQIAAcABAwHAAQEBwAEB + AgABwAEBAcABAQHAAQECAAHAAQEBwAEBAcABAQIAAcABBwHAAQEBwAEBAgABwAEPAcABAQHAAQEBgAEB + AcABPwHAAQEBwAEBAcABAwHAAf8BwAEBAcABAQHgAQcBwwH/AcABAQHAAQEB4AEHAccF/wHgAQcB3wX/ + AeABHws= - + 84, 17 \ No newline at end of file diff --git a/TestBenchFramework/BenchControl/StateMachine.cs b/TestBenchFramework/BenchControl/StateMachine.cs index 02404a506..d08cc52ed 100644 --- a/TestBenchFramework/BenchControl/StateMachine.cs +++ b/TestBenchFramework/BenchControl/StateMachine.cs @@ -637,7 +637,10 @@ namespace TBF.BenchControl public static IList WaitRunDevsRunOps() { foreach (var device in devices) device.RunDeviceAfter(); - + + /// Simulation + UiBridge.Bridge.OnProcessData(null, new UiBridge.ProcessDataEventArgs("test", 1, 0, 1,Progress.Test)); + if (WaitNextTick()) { /// diff --git a/TestBenchFramework/Screens/GraphsTabPageCtrl.cs b/TestBenchFramework/Screens/GraphsTabPageCtrl.cs index 5a56a4f53..c84bcc4d3 100644 --- a/TestBenchFramework/Screens/GraphsTabPageCtrl.cs +++ b/TestBenchFramework/Screens/GraphsTabPageCtrl.cs @@ -12,7 +12,8 @@ namespace TBF.Screens { public partial class GraphsTabPageCtrl : UserControl { - int numGraphs = 4; + readonly int numGraphs; + DataSource[] dataSources; public GraphsTabPageCtrl() { @@ -21,7 +22,9 @@ namespace TBF.Screens plotterDisplayEx.Smoothing = System.Drawing.Drawing2D.SmoothingMode.None; - CalcDataGraphs(plotterDisplayEx); + dataSources = CreateDataSources(new string[] { "Flow", "Temperature", "Pressure", "Reg. valve position" }); + numGraphs = dataSources.Length; + CalcDataGraphs(plotterDisplayEx, dataSources); plotterDisplayEx.Refresh(); @@ -42,37 +45,49 @@ namespace TBF.Screens void OnProcessData(object sender, ProcessDataEventArgs args) { - /// TODO: implement + + //if (!paused && isRunning == true) + //{ + //try + //{ + // gPane.starting_idx += Math.Min(RichTextBoxFinds.BenchControl.StateMachine.; + // UpdateScrollBar(); + // gPane.Invalidate(); + //} + //catch { } + //} } + DataSource[] CreateDataSources(string[] names) + { + DataSource[] ds = new DataSource[names.Length]; - protected void CalcDataGraphs(PlotterDisplayEx display) + for (int i = 0; i < names.Length; i++) + { + ds[i] = new DataSource(); + ds[i].Name = names[i]; + ds[i].OnRenderXAxisLabel += RenderXLabel; + ds[i].OnRenderYAxisLabel = RenderYLabel; + ds[i].Length = 5800; + ds[i].AutoScaleY = false; + ds[i].SetDisplayRangeY(-250, 250); + ds[i].SetGridDistanceY(100); + } + + return ds; + } + + protected void CalcDataGraphs(PlotterDisplayEx display, DataSource[] dataSources) { this.SuspendLayout(); - display.DataSources.Clear(); display.SetDisplayRangeX(0, 400); + display.PanelLayout = PlotterGraphPaneEx.LayoutMode.STACKED; - for (int j = 0; j < numGraphs; j++) + display.DataSources.Clear(); + for (int j = 0; j < dataSources.Length; j++) { - display.DataSources.Add(new DataSource()); - display.DataSources[j].Name = string.Format("Graph {0}", j + 1); - display.DataSources[j].OnRenderXAxisLabel += RenderXLabel; - display.DataSources[j].OnRenderYAxisLabel = RenderYLabel; - - switch ("NORMAL") - { - case "NORMAL": - this.Text = "Normal Graph"; - display.DataSources[j].Length = 5800; - display.PanelLayout = PlotterGraphPaneEx.LayoutMode.NORMAL; - display.DataSources[j].AutoScaleY = false; - display.DataSources[j].SetDisplayRangeY(-300, 300); - display.DataSources[j].SetGridDistanceY(100); - display.DataSources[j].OnRenderYAxisLabel = RenderYLabel; - CalcSinusFunction_2(display.DataSources[j], j); - break; - } + display.DataSources.Add(dataSources[j]); } ApplyColorSchema(display); @@ -122,50 +137,50 @@ namespace TBF.Screens display.DashedGridColor = Color.LightGray; } - protected void CalcSinusFunction_0(DataSource src, int idx) + protected void CalcSinusFunction_0(DataSource dataSrc, int idx) { - for (int i = 0; i < src.Length; i++) + for (int i = 0; i < dataSrc.Length; i++) { - src.Samples[i].X = i; - src.Samples[i].Y = (float)(((float)200 * Math.Sin((idx + 1) * (i + 1.0) * 48 / src.Length))); + dataSrc.Samples[i].X = i; + dataSrc.Samples[i].Y = (float)(((float)200 * Math.Sin((idx + 1) * (i + 1.0) * 48 / dataSrc.Length))); } } - protected void CalcSinusFunction_1(DataSource src, int idx) + protected void CalcSinusFunction_1(DataSource dataSrc, int idx) { - for (int i = 0; i < src.Length; i++) + for (int i = 0; i < dataSrc.Length; i++) { - src.Samples[i].X = i; + dataSrc.Samples[i].X = i; - src.Samples[i].Y = (float)(((float)20 * - Math.Sin(20 * (idx + 1) * (i + 1) * Math.PI / src.Length)) * - Math.Sin(40 * (idx + 1) * (i + 1) * Math.PI / src.Length)) + + dataSrc.Samples[i].Y = (float)(((float)20 * + Math.Sin(20 * (idx + 1) * (i + 1) * Math.PI / dataSrc.Length)) * + Math.Sin(40 * (idx + 1) * (i + 1) * Math.PI / dataSrc.Length)) + (float)(((float)200 * - Math.Sin(200 * (idx + 1) * (i + 1) * Math.PI / src.Length))); + Math.Sin(200 * (idx + 1) * (i + 1) * Math.PI / dataSrc.Length))); } } - protected void CalcSinusFunction_2(DataSource src, int idx) + protected void CalcSinusFunction_2(DataSource dataSrc, int idx) { - for (int i = 0; i < src.Length; i++) + for (int i = 0; i < dataSrc.Length; i++) { - src.Samples[i].X = i; + dataSrc.Samples[i].X = i; - src.Samples[i].Y = (float)(((float)20 * - Math.Sin(40 * (idx + 1) * (i + 1) * Math.PI / src.Length)) * - Math.Sin(160 * (idx + 1) * (i + 1) * Math.PI / src.Length)) + + dataSrc.Samples[i].Y = (float)(((float)20 * + Math.Sin(40 * (idx + 1) * i * Math.PI / dataSrc.Length)) * + Math.Sin(160 * (idx + 1) * i * Math.PI / dataSrc.Length)) + (float)(((float)200 * - Math.Sin(4 * (idx + 1) * (i + 1) * Math.PI / src.Length))); + Math.Sin(4 * (idx + 1) * i * Math.PI / dataSrc.Length))); } } - protected void CalcSinusFunction_3(DataSource ds, int idx, float time) + protected void CalcSinusFunction_3(DataSource dataSrc, int idx, float time) { - PointF[] src = ds.Samples; - for (int i = 0; i < src.Length; i++) + PointF[] samps = dataSrc.Samples; + for (int i = 0; i < samps.Length; i++) { - src[i].X = i; - src[i].Y = 200 + (float)((200 * Math.Sin((idx + 1) * (time + i * 100) / 8000.0))) + + samps[i].X = i; + samps[i].Y = 200 + (float)((200 * Math.Sin((idx + 1) * (time + i * 100) / 8000.0))) + +(float)((40 * Math.Sin((idx + 1) * (time + i * 200) / 2000.0))); /** (float)( 4* Math.Sin( ((time + (i+8) * 100) / 900.0)))+ diff --git a/TestBenchFramework/Screens/GraphsTabPageCtrl.designer.cs b/TestBenchFramework/Screens/GraphsTabPageCtrl.designer.cs index 1b2251c9d..e4238b35d 100644 --- a/TestBenchFramework/Screens/GraphsTabPageCtrl.designer.cs +++ b/TestBenchFramework/Screens/GraphsTabPageCtrl.designer.cs @@ -73,7 +73,6 @@ namespace TBF.Screens resources.ApplyResources(this.plotterDisplayEx, "plotterDisplayEx"); this.plotterDisplayEx.DoubleBuffering = false; this.plotterDisplayEx.Name = "plotterDisplayEx"; - this.plotterDisplayEx.PlaySpeed = 0.5F; this.plotterDisplayEx.SolidGridColor = System.Drawing.Color.DarkGray; // // GraphsTabPageCtrl diff --git a/TestBenchFramework/UiBridge/ProcessDataEventArgs.cs b/TestBenchFramework/UiBridge/ProcessDataEventArgs.cs index 1f7bbbd7c..bc434913b 100644 --- a/TestBenchFramework/UiBridge/ProcessDataEventArgs.cs +++ b/TestBenchFramework/UiBridge/ProcessDataEventArgs.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2016 Sensus Metering Systems +/// Copyright (c) 2016-2017 Sensus Metering Systems /// using System; using Config.Entities; @@ -8,7 +8,7 @@ namespace TBF.UiBridge { class ProcessDataEventArgs : EventArgs { - public string TestName; + public string CompleteTestName; public int Part; public int Repeats; public int RepetitionNr; @@ -18,10 +18,30 @@ namespace TBF.UiBridge //public bool PumpOn; //public bool DivToTank; + public int Time; + public float Flow; + public float Temperature; + public float Pressure; + public float RegValvePosition; + + public ProcessDataEventArgs(string testName, int testRepeats, int testPart, int repetitionNr, Progress testPhase) + { + CompleteTestName = Results.Utils.GetTestName(testName, testRepeats, repetitionNr); + Part = testPart; + Repeats = testRepeats; + RepetitionNr = repetitionNr; + TestPhase = testPhase; + + Time = TBF.BenchControl.StateMachine.Time; + Flow = CalcSinusFunction_2(1, Time); + Temperature = CalcSinusFunction_2(2, Time); + Pressure = CalcSinusFunction_2(3, Time); + RegValvePosition = CalcSinusFunction_2(4, Time); + } public ProcessDataEventArgs(Test test, int repetitionNr, Progress testPhase) { - TestName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr); + CompleteTestName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr); Part = test.Part; Repeats = test.Repeats; RepetitionNr = repetitionNr; @@ -32,5 +52,11 @@ namespace TBF.UiBridge : this(test, 1, testPhase) { } - } + + protected float CalcSinusFunction_2(int idx, int time) + { + return (float)((20.0f * Math.Sin(40 * (idx + 1) * time * Math.PI / 5800)) * Math.Sin(160 * (idx + 1) * time * Math.PI / 5800)) + + (float)((200.0f * Math.Sin(4 * (idx + 1) * time * Math.PI / 5800))); + } + } }