diff options
| author | Jacob Palecki <[email protected]> | 2020-09-27 21:13:03 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2020-09-27 21:13:03 -0700 |
| commit | 5d8700a462b4798c02f4a73bc66d2a69a4920ae1 (patch) | |
| tree | 3a2b71991a6efce65be9af0c303ec2b59bdebff4 /grapher/Models/Options | |
| parent | Set tab order (diff) | |
| parent | Merge pull request #26 from a1xd/argcheck (diff) | |
| download | rawaccel-5d8700a462b4798c02f4a73bc66d2a69a4920ae1.tar.xz rawaccel-5d8700a462b4798c02f4a73bc66d2a69a4920ae1.zip | |
Merge and fix write button
Diffstat (limited to 'grapher/Models/Options')
| -rw-r--r-- | grapher/Models/Options/AccelOptionSet.cs | 8 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelTypeOptions.cs | 56 | ||||
| -rw-r--r-- | grapher/Models/Options/ApplyOptions.cs | 6 | ||||
| -rw-r--r-- | grapher/Models/Options/OffsetOptions.cs | 11 |
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() |