diff options
| author | Jacob Palecki <[email protected]> | 2020-08-04 20:32:24 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2020-08-04 20:32:24 -0700 |
| commit | 97ac4933594cc886d135d0e22ddbe76763bb9d4a (patch) | |
| tree | be49553aa0cf8627906093c29e444d5efc614063 /grapher/CapOptions.cs | |
| parent | Merge pull request #12 from JacobPalecki/GUI (diff) | |
| download | rawaccel-97ac4933594cc886d135d0e22ddbe76763bb9d4a.tar.xz rawaccel-97ac4933594cc886d135d0e22ddbe76763bb9d4a.zip | |
Add velocity gain option
Diffstat (limited to 'grapher/CapOptions.cs')
| -rw-r--r-- | grapher/CapOptions.cs | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/grapher/CapOptions.cs b/grapher/CapOptions.cs new file mode 100644 index 0000000..310a214 --- /dev/null +++ b/grapher/CapOptions.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher +{ + public class CapOptions + { + public CapOptions( + ToolStripMenuItem sensitivityCapCheck, + ToolStripMenuItem velocityGainCapCheck, + OptionXY capOptionFields) + { + + SensitivityCapCheck = sensitivityCapCheck; + VelocityGainCapCheck = velocityGainCapCheck; + CapOptionsFields = capOptionFields; + + SensitivityCapCheck.Click += new System.EventHandler(OnSensitivityCapCheckClick); + VelocityGainCapCheck.Click += new System.EventHandler(OnVelocityGainCapCheckClick); + + SensitivityCapCheck.CheckedChanged += new System.EventHandler(OnSensitivityCapCheckedChange); + VelocityGainCapCheck.CheckedChanged += new System.EventHandler(OnVelocityGainCapCheckedChange); + + EnableSensitivityCap(); + } + + ToolStripMenuItem SensitivityCapCheck { get; } + + ToolStripMenuItem VelocityGainCapCheck { get; } + + OptionXY CapOptionsFields { get; } + + public double SensitivityCapX { + get + { + if (IsSensitivityGain) + { + return CapOptionsFields.Fields.X; + } + else + { + return 0; + } + } + } + + public double SensitivityCapY { + get + { + if (IsSensitivityGain) + { + return CapOptionsFields.Fields.Y; + } + else + { + return 0; + } + } + } + + public double VelocityGainCap { + get + { + if (IsSensitivityGain) + { + return 0; + } + else + { + return CapOptionsFields.Fields.X; + } + } + } + + public bool IsSensitivityGain { get; private set; } + + void OnSensitivityCapCheckClick(object sender, EventArgs e) + { + if (!SensitivityCapCheck.Checked) + { + VelocityGainCapCheck.Checked = false; + SensitivityCapCheck.Checked = true; + } + } + + void OnVelocityGainCapCheckClick(object sender, EventArgs e) + { + if (!VelocityGainCapCheck.Checked) + { + VelocityGainCapCheck.Checked = true; + SensitivityCapCheck.Checked = false; + } + } + + void OnSensitivityCapCheckedChange(object sender, EventArgs e) + { + if (SensitivityCapCheck.Checked == true) + { + EnableSensitivityCap(); + } + } + + void OnVelocityGainCapCheckedChange(object sender, EventArgs e) + { + if (SensitivityCapCheck.Checked == true) + { + EnableVelocityGainCap(); + } + } + + void EnableSensitivityCap() + { + IsSensitivityGain = true; + CapOptionsFields.Fields.LockCheckBox.Enabled = true; + CapOptionsFields.SetName("Sensitivity Cap"); + } + + void EnableVelocityGainCap() + { + IsSensitivityGain = false; + CapOptionsFields.Fields.LockCheckBox.Checked = true; + CapOptionsFields.Fields.LockCheckBox.Enabled = false; + CapOptionsFields.SetName("Velocity Gain Cap"); + } + } +} |