summaryrefslogtreecommitdiff
path: root/grapher/CapOptions.cs
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-08-04 20:32:24 -0700
committerJacob Palecki <[email protected]>2020-08-04 20:32:24 -0700
commit97ac4933594cc886d135d0e22ddbe76763bb9d4a (patch)
treebe49553aa0cf8627906093c29e444d5efc614063 /grapher/CapOptions.cs
parentMerge pull request #12 from JacobPalecki/GUI (diff)
downloadrawaccel-97ac4933594cc886d135d0e22ddbe76763bb9d4a.tar.xz
rawaccel-97ac4933594cc886d135d0e22ddbe76763bb9d4a.zip
Add velocity gain option
Diffstat (limited to 'grapher/CapOptions.cs')
-rw-r--r--grapher/CapOptions.cs130
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");
+ }
+ }
+}