BMTuneSource/frmIgnitionSync.cs

300 lines
12 KiB
C#

using System;
using System.ComponentModel;
using System.Drawing;
using System.Timers;
using System.Windows.Forms;
internal class frmIgnitionSync : Form
{
private bool bool_0;
private bool bool_1;
private Class18 class18_0;
private ErrorProvider errorProvider_0;
private IContainer icontainer_0;
private Label label2;
private Label label4;
private Label label5;
private Label lblStatus;
private System.Timers.Timer timer_0 = new System.Timers.Timer(150.0);
private TextBox txtbBase;
private IContainer components;
private Button btnSync;
private CheckBox chkCust;
private TextBox txtbSync;
internal frmIgnitionSync()
{
this.InitializeComponent();
this.timer_0.AutoReset = true;
this.timer_0.Elapsed += new ElapsedEventHandler(this.timer_0_Elapsed);
}
private void btnSync_Click(object sender, EventArgs e)
{
this.bool_0 = !this.bool_0;
if (this.bool_0)
{
this.timer_0.Start();
this.btnSync.Text = "End Sync";
this.lblStatus.Visible = true;
this.lblStatus.Text = "Ignition lock at " + this.txtbSync.Text + "\x00b0";
this.class18_0.method_155("Ignition Sync Start");
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_100, 0xff);
this.class18_0.method_153();
}
else
{
this.timer_0.Stop();
this.btnSync.Text = "Sync";
this.lblStatus.Visible = false;
this.class18_0.method_155("Ignition Sync End");
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_100, 0);
this.class18_0.method_153();
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
private void frmIgnitionSync_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.bool_0)
{
e.Cancel = true;
MessageBox.Show(Form.ActiveForm, "Can't close while syncing ignition");
}
}
private void frmIgnitionSync_Load(object sender, EventArgs e)
{
this.bool_1 = true;
if ((this.class18_0.class13_u_0.long_102 == 0L) || (this.class18_0.class13_u_0.long_101 == 0L))
{
base.Close();
}
this.class18_0.method_155("Ignition Sync First Time");
if ((this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_102) == 0) || (this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_102) == 0xff))
{
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_102, 0x58);
}
if ((this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_101) == 0) || (this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_101) == 0xff))
{
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_101, 90);
}
this.class18_0.method_153();
this.txtbBase.Text = ((this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_102) * 0.25f) - 6f).ToString();
this.txtbSync.Text = ((this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_101) * 0.25f) - 6f).ToString();
if (this.class18_0.class13_u_0.long_116 != 0L) this.chkCust.Checked = this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_116) != 0;
this.chkCust.Enabled = this.class18_0.class13_u_0.long_116 != 0L;
this.bool_1 = false;
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmIgnitionSync));
this.lblStatus = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtbBase = new System.Windows.Forms.TextBox();
this.txtbSync = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.btnSync = new System.Windows.Forms.Button();
this.errorProvider_0 = new System.Windows.Forms.ErrorProvider(this.components);
this.chkCust = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.errorProvider_0)).BeginInit();
this.SuspendLayout();
//
// lblStatus
//
this.lblStatus.AutoSize = true;
this.lblStatus.Dock = System.Windows.Forms.DockStyle.Bottom;
this.lblStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblStatus.ForeColor = System.Drawing.Color.IndianRed;
this.lblStatus.Location = new System.Drawing.Point(0, 34);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(174, 24);
this.lblStatus.TabIndex = 0;
this.lblStatus.Text = "Ignition lock at 16.5°";
this.lblStatus.Visible = false;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 7);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(68, 13);
this.label2.TabIndex = 1;
this.label2.Text = "Base Timing:";
//
// txtbBase
//
this.txtbBase.Location = new System.Drawing.Point(79, 4);
this.txtbBase.Name = "txtbBase";
this.txtbBase.Size = new System.Drawing.Size(39, 20);
this.txtbBase.TabIndex = 2;
this.txtbBase.Text = "16";
this.txtbBase.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtbSync_KeyPress);
this.txtbBase.Leave += new System.EventHandler(this.txtbSync_Leave);
this.txtbBase.Validating += new System.ComponentModel.CancelEventHandler(this.txtbSync_Validating);
//
// txtbSync
//
this.txtbSync.Location = new System.Drawing.Point(261, 4);
this.txtbSync.Name = "txtbSync";
this.txtbSync.Size = new System.Drawing.Size(39, 20);
this.txtbSync.TabIndex = 4;
this.txtbSync.Text = "16.5";
this.txtbSync.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtbSync_KeyPress);
this.txtbSync.Leave += new System.EventHandler(this.txtbSync_Leave);
this.txtbSync.Validating += new System.ComponentModel.CancelEventHandler(this.txtbSync_Validating);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(123, 7);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(11, 13);
this.label4.TabIndex = 5;
this.label4.Text = "°";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(303, 7);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(11, 13);
this.label5.TabIndex = 6;
this.label5.Text = "°";
//
// btnSync
//
this.btnSync.BackColor = System.Drawing.SystemColors.ButtonFace;
this.btnSync.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSync.Location = new System.Drawing.Point(235, 32);
this.btnSync.Name = "btnSync";
this.btnSync.Size = new System.Drawing.Size(75, 23);
this.btnSync.TabIndex = 7;
this.btnSync.Text = "Sync";
this.btnSync.UseVisualStyleBackColor = false;
this.btnSync.Click += new System.EventHandler(this.btnSync_Click);
//
// errorProvider_0
//
this.errorProvider_0.ContainerControl = this;
//
// chkCust
//
this.chkCust.AutoSize = true;
this.chkCust.Location = new System.Drawing.Point(155, 6);
this.chkCust.Name = "chkCust";
this.chkCust.Size = new System.Drawing.Size(102, 17);
this.chkCust.TabIndex = 8;
this.chkCust.Text = "Lock Ignition at:";
this.chkCust.UseVisualStyleBackColor = true;
this.chkCust.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// frmIgnitionSync
//
this.AcceptButton = this.btnSync;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(317, 58);
this.Controls.Add(this.chkCust);
this.Controls.Add(this.btnSync);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.txtbSync);
this.Controls.Add(this.txtbBase);
this.Controls.Add(this.label2);
this.Controls.Add(this.lblStatus);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmIgnitionSync";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Sync Ignition";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmIgnitionSync_FormClosing);
this.Load += new System.EventHandler(this.frmIgnitionSync_Load);
((System.ComponentModel.ISupportInitialize)(this.errorProvider_0)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
internal void method_0(ref Class18 class18_1)
{
this.class18_0 = class18_1;
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);
}
}
private void method_1()
{
if (!this.bool_1)
{
this.class18_0.method_155("Ignition Sync Settings");
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_101, (byte) ((float.Parse(this.txtbSync.Text) + 6f) * 4f));
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_102, (byte) ((float.Parse(this.txtbBase.Text) + 6f) * 4f));
if (this.chkCust.Checked) this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_116, 0xff);
else this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_116, 0);
this.class18_0.method_153();
}
}
private void timer_0_Elapsed(object sender, ElapsedEventArgs e)
{
this.lblStatus.Visible = !this.lblStatus.Visible;
}
private void txtbSync_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
this.method_1();
this.frmIgnitionSync_Load(null, null);
this.class18_0.method_53();
}
}
private void txtbSync_Leave(object sender, EventArgs e)
{
this.method_1();
}
private void txtbSync_Validating(object sender, CancelEventArgs e)
{
TextBox control = (TextBox) sender;
if (!this.class18_0.method_252(control.Text.ToString()))
{
this.errorProvider_0.SetError(control, "Invalid input, double required");
e.Cancel = true;
}
else
{
this.errorProvider_0.SetError(control, "");
}
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
this.method_1();
}
}