summaryrefslogtreecommitdiff
path: root/grapher/Models/Options
diff options
context:
space:
mode:
Diffstat (limited to 'grapher/Models/Options')
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs28
-rw-r--r--grapher/Models/Options/CheckBoxOption.cs81
2 files changed, 109 insertions, 0 deletions
diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs
index 68eccf5..d29f6a8 100644
--- a/grapher/Models/Options/AccelTypeOptions.cs
+++ b/grapher/Models/Options/AccelTypeOptions.cs
@@ -32,6 +32,7 @@ namespace grapher
public AccelTypeOptions(
ComboBox accelDropdown,
+ CheckBoxOption gainSwitch,
Option acceleration,
Option scale,
CapOptions cap,
@@ -49,6 +50,7 @@ namespace grapher
AccelDropdown.Items.AddRange(AccelerationTypes.Keys.ToArray());
AccelDropdown.SelectedIndexChanged += new System.EventHandler(OnIndexChanged);
+ GainSwitch = gainSwitch;
Acceleration = acceleration;
Scale = scale;
Cap = cap;
@@ -107,6 +109,8 @@ namespace grapher
public TextOption LutText { get; }
+ public CheckBoxOption GainSwitch { get; }
+
public override int Top
{
get
@@ -172,6 +176,7 @@ namespace grapher
AccelDropdown.Hide();
AccelTypeActiveValue.Hide();
+ GainSwitch.Hide();
Acceleration.Hide();
Scale.Hide();
Cap.Hide();
@@ -180,6 +185,7 @@ namespace grapher
Limit.Hide();
Exponent.Hide();
Midpoint.Hide();
+ LutText.Hide();
}
public void Show()
@@ -234,6 +240,27 @@ namespace grapher
public void SetArgs(ref AccelArgs args)
{
+ args.mode = (AccelMode)AccelerationType.Index;
+ if (Acceleration.Visible)
+ {
+ if (args.mode == AccelMode.natural)
+ {
+ args.accelNatural = Acceleration.Field.Data;
+ }
+ else if (args.mode == AccelMode.motivity)
+ {
+ args.accelMotivity = Acceleration.Field.Data;
+ }
+ else
+ {
+ args.accelClassic = Acceleration.Field.Data;
+ }
+
+ args.smooth = Acceleration.Field.Data;
+ }
+
+ args.legacy = !GainSwitch.CheckBox.Checked;
+
if (Scale.Visible) args.scale = Scale.Field.Data;
if (Cap.Visible) args.cap = Cap.SensitivityCap;
if (Limit.Visible) args.limit = Limit.Field.Data;
@@ -284,6 +311,7 @@ namespace grapher
}
AccelerationType.Layout(
+ GainSwitch,
Acceleration,
Scale,
Cap,
diff --git a/grapher/Models/Options/CheckBoxOption.cs b/grapher/Models/Options/CheckBoxOption.cs
new file mode 100644
index 0000000..43757b4
--- /dev/null
+++ b/grapher/Models/Options/CheckBoxOption.cs
@@ -0,0 +1,81 @@
+using System.Windows.Forms;
+
+namespace grapher.Models.Options
+{
+ public class CheckBoxOption : OptionBase
+ {
+ public CheckBoxOption(CheckBox checkBox)
+ {
+ CheckBox = checkBox;
+ }
+
+ public CheckBox CheckBox { get; }
+
+ public override bool Visible
+ {
+ get
+ {
+ return CheckBox.Visible;
+ }
+ }
+
+ public override int Left
+ {
+ get
+ {
+ return CheckBox.Left;
+ }
+ set
+ {
+ CheckBox.Left = value;
+ }
+ }
+
+ public override int Height
+ {
+ get
+ {
+ return CheckBox.Height;
+ }
+ }
+
+ public override int Top
+ {
+ get
+ {
+ return CheckBox.Top;
+ }
+ set
+ {
+ CheckBox.Top = value;
+ }
+ }
+
+ public override int Width
+ {
+ get
+ {
+ return CheckBox.Width;
+ }
+ set
+ {
+ CheckBox.Width = value;
+ }
+ }
+
+ public override void AlignActiveValues()
+ {
+ }
+
+ public override void Hide()
+ {
+ CheckBox.Hide();
+ }
+
+ public override void Show(string Name)
+ {
+ CheckBox.Show();
+ CheckBox.Name = Name;
+ }
+ }
+}