BMTuneSource/frmLivePlot.cs

428 lines
18 KiB
C#

using Data;
using Controls;
using System;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Threading;
using System.Windows.Forms;
internal class frmLivePlot : Form
{
private ctrlPlotGraph ctrlMapGraph1;
private frmLivePSetting frmLivePSetting_0;
private Class18 class18_0;
private FrmMain frmMain_0;
//private Struct17 struct17_0;
private IContainer icontainer_0;
private IContainer components;
private ToolStrip toolStrip1;
private ToolStripSeparator toolStripSeparator6;
private ToolStripDropDownButton toolStripDropDownButton1;
private ToolStripMenuItem timeVsAfrToolStripMenuItem;
private ToolStripMenuItem rpmVsAfrBoostToolStripMenuItem;
private ToolStripDropDownButton toolStripDropDownButton2;
private ToolStripMenuItem editLivePlotsToolStripMenuItem;
public bool loading = true;
//private BackgroundWorker backgroundWorker1;
//private System.Windows.Forms.Timer LoopTimer = new System.Windows.Forms.Timer();
private DateTime LastCheck = DateTime.Now;
internal frmLivePlot()
{
this.InitializeComponent();
/*this.backgroundWorker1.WorkerSupportsCancellation = true;
this.backgroundWorker1.WorkerReportsProgress = false;
this.backgroundWorker1.DoWork += new DoWorkEventHandler(this.backgroundWorker1_DoWork);
this.backgroundWorker1.RunWorkerAsync();*/
//LoopTimer.Interval = 50;
//LoopTimer.Tick += DoThisAllTheTime;
//LoopTimer.Start();
}
//void DoThisAllTheTime(object sender, EventArgs e)
//{
/*private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = (BackgroundWorker)sender;
while (!worker.CancellationPending)
{
if (this.ctrlMapGraph1 != null && class18_0 != null)
{
if (base.WindowState == FormWindowState.Normal)
if (this.class18_0.class17_0.method_34() || this.class18_0.class17_0.method_63())
{
this.ctrlMapGraph1.Invalidate();
//this.ctrlMapGraph1.Refresh();
}
}
Thread.Sleep(50);
}
}*/
internal void method_0(ref Class18 class18_1, ref FrmMain frmMain_1)
{
this.class18_0 = class18_1;
this.frmMain_0 = frmMain_1;
//SetTimeVSAFR();
/*if (this.ctrlMapGraph1 != null)
{
this.ctrlMapGraph1.Dispose();
this.ctrlMapGraph1 = null;
}*/
//this.ctrlMapGraph1 = new ctrlPlotGraph();
this.ctrlMapGraph1.method_0(ref this.class18_0, ref this.class18_0.class10_settings_0);
this.class18_0.class17_0.delegate54_0 += new Class17.Delegate54(this.method_4);
this.class18_0.class17_0.delegate47_0 += new Class17.Delegate47(this.method_6);
foreach (Control control in base.Controls)
{
float emSize = control.Font.Size * (class18_0.class10_settings_0.scaleRate / 100f);
control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit);
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
private void frmDebug_FormClosed(object sender, FormClosedEventArgs e)
{
if (this.class18_0.class10_settings_0.WindowedMode) this.class18_0.class10_settings_0.LivePlot_Location = base.Location;
if (this.ctrlMapGraph1 != null)
{
this.ctrlMapGraph1.Dispose();
this.ctrlMapGraph1 = null;
}
if (this.frmMain_0.frmLivePlot_0 != null)
{
this.frmMain_0.frmLivePlot_0.Dispose();
this.frmMain_0.frmLivePlot_0 = null;
}
}
public void RefreshPage()
{
if (base.WindowState == FormWindowState.Normal)
{
this.Refresh();
this.ctrlMapGraph1.Refresh();
//this.Invalidate();
//this.ctrlMapGraph1.Invalidate();
}
}
private void method_4(Struct12 struct12_0)
{
if (!this.class18_0.class10_settings_0.DatalogThreadEnabled || (this.class18_0.class10_settings_0.DatalogThreadEnabled && (DateTime.Now - LastCheck).TotalMilliseconds >= this.class18_0.class10_settings_0.int_ActiveDatalog[5]))
{
LastCheck = DateTime.Now;
if (!this.class18_0.class10_settings_0.DatalogThreadEnabled || (this.class18_0.class10_settings_0.DatalogThreadEnabled && this.class18_0.class10_settings_0.bool_ActiveDatalog[5]))
{
try
{
base.Invoke(new Delegate6(this.method_5), new object[] { struct12_0 });
}
catch { }
}
}
}
private void method_5(Struct12 struct12_0)
{
if (!this.class18_0.class10_settings_0.DatalogThreadEnabled || (this.class18_0.class10_settings_0.DatalogThreadEnabled && this.class18_0.class10_settings_0.bool_ActiveDatalog[2]))
{
if ((this.ctrlMapGraph1 != null) && (this.ctrlMapGraph1.mapGraphType_0 == MapGraphType.timePlot || this.ctrlMapGraph1.mapGraphType_0 == MapGraphType.custom))
{
this.ctrlMapGraph1.method_19(struct12_0);
}
}
}
private void method_6(Struct17 struct17_1)
{
try
{
base.Invoke(new Delegate7(this.method_7), new object[] { struct17_1 });
}
catch { }
}
private void method_7(Struct17 struct17_1)
{
if (this.ctrlMapGraph1.mapGraphType_0 == MapGraphType.rpmPlot)
{
this.ctrlMapGraph1.method_20(struct17_1);
}
}
private void frmDebug_Load(object sender, EventArgs e)
{
if (this.class18_0 != null)
{
if (this.class18_0.class10_settings_0 != null)
{
if (this.class18_0.class10_settings_0.WindowedMode)
{
this.FormBorderStyle = FormBorderStyle.Sizable;
this.Dock = DockStyle.None;
base.Location = this.class18_0.class10_settings_0.LivePlot_Location;
base.Size = this.class18_0.class10_settings_0.LivePlot_Size;
}
else
{
this.FormBorderStyle = FormBorderStyle.None;
this.Dock = DockStyle.Fill;
}
}
}
this.ctrlMapGraph1.mapGraphType_0 = (MapGraphType) this.class18_0.class10_settings_0.int_2_LivePlot;
this.timeVsAfrToolStripMenuItem.Checked = false;
this.rpmVsAfrBoostToolStripMenuItem.Checked = false;
//this.customVsTimeToolStripMenuItem.Checked = false;
switch (this.ctrlMapGraph1.mapGraphType_0)
{
case MapGraphType.rpmPlot:
this.rpmVsAfrBoostToolStripMenuItem.Checked = true;
break;
case MapGraphType.timePlot:
this.timeVsAfrToolStripMenuItem.Checked = true;
break;
case MapGraphType.custom:
//this.customVsTimeToolStripMenuItem.Checked = true;
break;
}
this.ctrlMapGraph1.Refresh();
loading = false;
}
private void frmDebug_Move(object sender, EventArgs e)
{
}
private void frmDebug_Resize(object sender, EventArgs e)
{
if (this.class18_0 != null)
{
if (this.class18_0.class10_settings_0 != null)
{
if (this.class18_0.class10_settings_0.WindowedMode && !loading)
{
if (base.WindowState == FormWindowState.Normal)
{
this.class18_0.class10_settings_0.LivePlot_Size = base.Size;
}
this.class18_0.class10_settings_0.LivePlot_Location = base.Location;
}
}
}
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmLivePlot));
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();
this.timeVsAfrToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.rpmVsAfrBoostToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripDropDownButton2 = new System.Windows.Forms.ToolStripDropDownButton();
this.editLivePlotsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
//this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.ctrlMapGraph1 = new ctrlPlotGraph();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripDropDownButton1,
this.toolStripSeparator6,
this.toolStripDropDownButton2});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.toolStrip1.Size = new System.Drawing.Size(541, 25);
this.toolStrip1.TabIndex = 3;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripDropDownButton1
//
this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.timeVsAfrToolStripMenuItem,
this.rpmVsAfrBoostToolStripMenuItem});
this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image")));
this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";
this.toolStripDropDownButton1.Size = new System.Drawing.Size(45, 22);
this.toolStripDropDownButton1.Text = "Style";
//
// timeVsAfrToolStripMenuItem
//
this.timeVsAfrToolStripMenuItem.CheckOnClick = true;
this.timeVsAfrToolStripMenuItem.Name = "timeVsAfrToolStripMenuItem";
this.timeVsAfrToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.F7)));
this.timeVsAfrToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
this.timeVsAfrToolStripMenuItem.Text = "Afr vs Time";
this.timeVsAfrToolStripMenuItem.Click += new System.EventHandler(this.timeVsAfrToolStripMenuItem_Click);
//
// rpmVsAfrBoostToolStripMenuItem
//
this.rpmVsAfrBoostToolStripMenuItem.CheckOnClick = true;
this.rpmVsAfrBoostToolStripMenuItem.Name = "rpmVsAfrBoostToolStripMenuItem";
this.rpmVsAfrBoostToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.F8)));
this.rpmVsAfrBoostToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
this.rpmVsAfrBoostToolStripMenuItem.Text = "Map/Afr vs Rpm";
this.rpmVsAfrBoostToolStripMenuItem.Click += new System.EventHandler(this.rpmVsAfrBoostToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
//
// toolStripDropDownButton2
//
this.toolStripDropDownButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripDropDownButton2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.editLivePlotsToolStripMenuItem});
this.toolStripDropDownButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton2.Image")));
this.toolStripDropDownButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripDropDownButton2.Name = "toolStripDropDownButton2";
this.toolStripDropDownButton2.Size = new System.Drawing.Size(40, 22);
this.toolStripDropDownButton2.Text = "Edit";
//
// editLivePlotsToolStripMenuItem
//
this.editLivePlotsToolStripMenuItem.Name = "editLivePlotsToolStripMenuItem";
this.editLivePlotsToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
this.editLivePlotsToolStripMenuItem.Text = "Time/Rpm vs Afr";
this.editLivePlotsToolStripMenuItem.Click += new System.EventHandler(this.editLivePlotsToolStripMenuItem_Click);
//
// ctrlMapGraph1
//
this.ctrlMapGraph1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ctrlMapGraph1.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctrlMapGraph1.Location = new System.Drawing.Point(0, 0);
this.ctrlMapGraph1.Name = "ctrlMapGraph1";
this.ctrlMapGraph1.Size = new System.Drawing.Size(541, 429);
this.ctrlMapGraph1.TabIndex = 1;
//
// frmLivePlot
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(541, 429);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.ctrlMapGraph1);
this.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmLivePlot";
this.Text = "Live Plots";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmLivePlot_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmDebug_FormClosed);
this.Load += new System.EventHandler(this.frmDebug_Load);
this.ResizeEnd += new System.EventHandler(this.frmLivePlot_ResizeEnd);
this.Click += new System.EventHandler(this.FrmLivePlot_Click);
this.Move += new System.EventHandler(this.frmDebug_Move);
this.Resize += new System.EventHandler(this.frmDebug_Resize);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
private void frmLivePlot_ResizeEnd(object sender, EventArgs e)
{
RefreshPage();
}
private void editLivePlotsToolStripMenuItem_Click(object sender, EventArgs e)
{
this.frmLivePSetting_0 = new frmLivePSetting();
this.frmLivePSetting_0.method_0(ref this.class18_0);
this.frmLivePSetting_0.ShowDialog();
this.frmLivePSetting_0.Close();
this.frmLivePSetting_0.Dispose();
this.frmLivePSetting_0 = null;
}
private void SetTimeVSAFR()
{
this.timeVsAfrToolStripMenuItem.Checked = true;
this.rpmVsAfrBoostToolStripMenuItem.Checked = false;
//this.customVsTimeToolStripMenuItem.Checked = false;
this.ctrlMapGraph1.mapGraphType_0 = MapGraphType.timePlot;
this.class18_0.class10_settings_0.int_2_LivePlot = (int)this.ctrlMapGraph1.mapGraphType_0;
this.ctrlMapGraph1.Refresh();
}
private void timeVsAfrToolStripMenuItem_Click(object sender, EventArgs e)
{
SetTimeVSAFR();
}
private void rpmVsAfrBoostToolStripMenuItem_Click(object sender, EventArgs e)
{
this.timeVsAfrToolStripMenuItem.Checked = false;
this.rpmVsAfrBoostToolStripMenuItem.Checked = true;
//this.customVsTimeToolStripMenuItem.Checked = false;
this.ctrlMapGraph1.mapGraphType_0 = MapGraphType.rpmPlot;
this.class18_0.class10_settings_0.int_2_LivePlot = (int)this.ctrlMapGraph1.mapGraphType_0;
this.ctrlMapGraph1.Refresh();
}
private void customVsTimeToolStripMenuItem_Click(object sender, EventArgs e)
{
this.timeVsAfrToolStripMenuItem.Checked = false;
this.rpmVsAfrBoostToolStripMenuItem.Checked = false;
//this.customVsTimeToolStripMenuItem.Checked = true;
this.ctrlMapGraph1.mapGraphType_0 = MapGraphType.custom;
this.class18_0.class10_settings_0.int_2_LivePlot = (int)this.ctrlMapGraph1.mapGraphType_0;
this.ctrlMapGraph1.Refresh();
}
private delegate void Delegate6(Struct12 struct12_0);
private delegate void Delegate7(Struct17 struct17_0);
private void frmLivePlot_FormClosing(object sender, FormClosingEventArgs e)
{
/*if (this.backgroundWorker1 != null)
{
if (this.backgroundWorker1.IsBusy) this.backgroundWorker1.CancelAsync();
this.backgroundWorker1.Dispose();
this.backgroundWorker1 = null;
}*/
}
private void FrmLivePlot_Click(object sender, EventArgs e)
{
}
}