summaryrefslogtreecommitdiff
path: root/grapher/Models/Options
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-09-27 21:13:03 -0700
committerJacob Palecki <[email protected]>2020-09-27 21:13:03 -0700
commit5d8700a462b4798c02f4a73bc66d2a69a4920ae1 (patch)
tree3a2b71991a6efce65be9af0c303ec2b59bdebff4 /grapher/Models/Options
parentSet tab order (diff)
parentMerge pull request #26 from a1xd/argcheck (diff)
downloadrawaccel-5d8700a462b4798c02f4a73bc66d2a69a4920ae1.tar.xz
rawaccel-5d8700a462b4798c02f4a73bc66d2a69a4920ae1.zip
Merge and fix write button
Diffstat (limited to 'grapher/Models/Options')
-rw-r--r--grapher/Models/Options/AccelOptionSet.cs8
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs56
-rw-r--r--grapher/Models/Options/ApplyOptions.cs6
-rw-r--r--grapher/Models/Options/OffsetOptions.cs11
4 files changed, 44 insertions, 37 deletions
diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs
index 11a7f10..53c39af 100644
--- a/grapher/Models/Options/AccelOptionSet.cs
+++ b/grapher/Models/Options/AccelOptionSet.cs
@@ -98,14 +98,14 @@ namespace grapher.Models.Options
Options.Top = TopAnchor;
}
- public void SetArgs(ref AccelArgs args)
+ public void SetArgs(ref AccelArgs args, ref /*readonly*/ AccelArgs last)
{
- Options.SetArgs(ref args);
+ Options.SetArgs(ref args, ref last);
}
- public AccelArgs GenerateArgs()
+ public AccelArgs GenerateArgs(ref /*readonly*/ AccelArgs last)
{
- return Options.GenerateArgs();
+ return Options.GenerateArgs(ref last);
}
public void SetActiveValues(int mode, AccelArgs args)
diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs
index 573e9b9..9a4ab7c 100644
--- a/grapher/Models/Options/AccelTypeOptions.cs
+++ b/grapher/Models/Options/AccelTypeOptions.cs
@@ -30,10 +30,12 @@ namespace grapher
public AccelTypeOptions(
ComboBox accelDropdown,
Option acceleration,
+ Option scale,
CapOptions cap,
Option weight,
OffsetOptions offset,
- Option limitOrExponent,
+ Option limit,
+ Option exponent,
Option midpoint,
Button writeButton,
ActiveValueLabel accelTypeActiveValue)
@@ -44,10 +46,12 @@ namespace grapher
AccelDropdown.SelectedIndexChanged += new System.EventHandler(OnIndexChanged);
Acceleration = acceleration;
+ Scale = scale;
Cap = cap;
Weight = weight;
Offset = offset;
- LimitOrExponent = limitOrExponent;
+ Limit = limit;
+ Exponent = exponent;
Midpoint = midpoint;
WriteButton = writeButton;
AccelTypeActiveValue = accelTypeActiveValue;
@@ -82,13 +86,17 @@ namespace grapher
public Option Acceleration { get; }
+ public Option Scale { get; }
+
public CapOptions Cap { get; }
public Option Weight { get; }
public OffsetOptions Offset { get; }
- public Option LimitOrExponent { get; }
+ public Option Limit { get; }
+
+ public Option Exponent { get; }
public Option Midpoint { get; }
@@ -158,10 +166,12 @@ namespace grapher
AccelTypeActiveValue.Hide();
Acceleration.Hide();
+ Scale.Hide();
Cap.Hide();
Weight.Hide();
Offset.Hide();
- LimitOrExponent.Hide();
+ Limit.Hide();
+ Exponent.Hide();
Midpoint.Hide();
}
@@ -185,9 +195,11 @@ namespace grapher
Weight.SetActiveValue(args.weight);
Cap.SetActiveValues(args.gainCap, args.scaleCap, args.gainCap > 0 || args.scaleCap <= 0);
- Offset.SetActiveValue(args.offset, args.legacy_offset);
- Acceleration.SetActiveValue(args.accel);
- LimitOrExponent.SetActiveValue(args.exponent);
+ Offset.SetActiveValue(args.offset, args.legacyOffset);
+ Acceleration.SetActiveValue(args.acceleration);
+ Scale.SetActiveValue(args.scale);
+ Limit.SetActiveValue(args.limit);
+ Exponent.SetActiveValue(args.exponent);
Midpoint.SetActiveValue(args.midpoint);
}
@@ -213,26 +225,24 @@ namespace grapher
Width = Acceleration.Field.Width;
}
- public void SetArgs(ref AccelArgs args)
+ public void SetArgs(ref AccelArgs args, ref /*readonly*/ AccelArgs last)
{
- args.accel = Acceleration.Field.Data;
- args.rate = Acceleration.Field.Data;
- args.powerScale = Acceleration.Field.Data;
+ args.acceleration = Acceleration.Visible ? Acceleration.Field.Data : last.acceleration;
+ args.scale = Scale.Visible ? Scale.Field.Data : last.scale;
args.gainCap = Cap.VelocityGainCap;
args.scaleCap = Cap.SensitivityCap;
- args.limit = LimitOrExponent.Field.Data;
- args.exponent = LimitOrExponent.Field.Data;
- args.powerExponent = LimitOrExponent.Field.Data;
+ args.limit = Limit.Visible ? Limit.Field.Data : last.limit;
+ args.exponent = Exponent.Visible ? Exponent.Field.Data : last.exponent;
args.offset = Offset.Offset;
- args.legacy_offset = Offset.LegacyOffset;
- args.midpoint = Midpoint.Field.Data;
- args.weight = Weight.Field.Data;
+ args.legacyOffset = Offset.IsLegacy;
+ args.midpoint = Midpoint.Visible ? Midpoint.Field.Data : last.midpoint;
+ args.weight = Weight.Visible ? Weight.Field.Data : last.weight;
}
- public AccelArgs GenerateArgs()
+ public AccelArgs GenerateArgs(ref /*readonly*/ AccelArgs last)
{
AccelArgs args = new AccelArgs();
- SetArgs(ref args);
+ SetArgs(ref args, ref last);
return args;
}
@@ -240,10 +250,12 @@ namespace grapher
{
AccelTypeActiveValue.Align();
Acceleration.AlignActiveValues();
+ Scale.AlignActiveValues();
Cap.AlignActiveValues();
Offset.AlignActiveValues();
Weight.AlignActiveValues();
- LimitOrExponent.AlignActiveValues();
+ Limit.AlignActiveValues();
+ Exponent.AlignActiveValues();
Midpoint.AlignActiveValues();
}
@@ -269,10 +281,12 @@ namespace grapher
AccelerationType.Layout(
Acceleration,
+ Scale,
Cap,
Weight,
Offset,
- LimitOrExponent,
+ Limit,
+ Exponent,
Midpoint,
WriteButton,
top);
diff --git a/grapher/Models/Options/ApplyOptions.cs b/grapher/Models/Options/ApplyOptions.cs
index c2ed498..51c80ea 100644
--- a/grapher/Models/Options/ApplyOptions.cs
+++ b/grapher/Models/Options/ApplyOptions.cs
@@ -89,14 +89,14 @@ namespace grapher.Models.Options
};
}
- public Vec2<AccelArgs> GetArgs()
+ public Vec2<AccelArgs> GetUpdatedArgs(ref /*readonly*/ Vec2<AccelArgs> last)
{
- var xArgs = OptionSetX.GenerateArgs();
+ var xArgs = OptionSetX.GenerateArgs(ref last.x);
return new Vec2<AccelArgs>
{
x = xArgs,
- y = ByComponentVectorXYLock.Checked ? xArgs : OptionSetY.GenerateArgs()
+ y = ByComponentVectorXYLock.Checked ? xArgs : OptionSetY.GenerateArgs(ref last.y)
};
}
diff --git a/grapher/Models/Options/OffsetOptions.cs b/grapher/Models/Options/OffsetOptions.cs
index b351ab5..c6bee75 100644
--- a/grapher/Models/Options/OffsetOptions.cs
+++ b/grapher/Models/Options/OffsetOptions.cs
@@ -128,16 +128,9 @@ namespace grapher.Models.Options
OffsetOption.Show(name);
}
- public void SetActiveValue(double offset, double legacyOffset)
+ public void SetActiveValue(double offset, bool legacy)
{
- if (offset > 0)
- {
- OffsetOption.SetActiveValue(offset);
- }
- else
- {
- OffsetOption.SetActiveValue(legacyOffset);
- }
+ OffsetOption.SetActiveValue(offset);
}
public override void AlignActiveValues()