From 95cc3ed0a0bf66f5535b873f245bc1c35a145478 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 1 Sep 2020 21:45:42 -0700 Subject: intermittent commit - large commit halfway done --- grapher/Models/Options/AccelOptionSet.cs | 169 +++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 grapher/Models/Options/AccelOptionSet.cs (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs new file mode 100644 index 0000000..2d15ad6 --- /dev/null +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -0,0 +1,169 @@ +using grapher.Models.Serialized; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher.Models.Options +{ + public class AccelOptionSet + { + public AccelOptionSet( + Label titleLabel, + AccelTypeOptions accelTypeOptions, + Option acceleration, + CapOptions cap, + Option weight, + Option offset, + Option limitOrExp, + Option midpoint) + { + TitleLabel = titleLabel; + AccelTypeOptions = accelTypeOptions; + Acceleration = acceleration; + Cap = cap; + Weight = weight; + Offset = offset; + LimitOrExponent = limitOrExp; + Midpoint = midpoint; + + AccelTypeOptions.ShowFullText(); + + TitleLabel.Top = TopAnchor; + } + + public int TopAnchor { get; } + + public Label TitleLabel { get; } + + public AccelTypeOptions AccelTypeOptions { get; } + + public Option Acceleration { get; } + + public CapOptions Cap { get; } + + public Option Weight { get; } + + public Option Offset { get; } + + public Option LimitOrExponent { get; } + + public Option Midpoint { get; } + + public bool IsTitleMode { get; private set; } + + public void SetRegularMode() + { + if (IsTitleMode) + { + IsTitleMode = false; + + HideTitle(); + AccelTypeOptions.Left = Acceleration.Left; + AccelTypeOptions.Width = Acceleration.Width; + AccelTypeOptions.ShowFullText(); + } + } + + public void SetTitleMode() + { + if (!IsTitleMode) + { + IsTitleMode = true; + + AccelTypeOptions.Left = Acceleration.Field.Left; + AccelTypeOptions.Width = Acceleration.Field.Width; + AccelTypeOptions.ShowFullText(); + DisplayTitle(); + } + } + + public void Hide() + { + TitleLabel.Hide(); + AccelTypeOptions.Hide(); + Acceleration.Hide(); + Cap.Hide(); + Weight.Hide(); + Offset.Hide(); + LimitOrExponent.Hide(); + Midpoint.Hide(); + } + + public void Show() + { + if (IsTitleMode) + { + TitleLabel.Show(); + } + + AccelTypeOptions.Show(); + Acceleration.Show(); + Cap.Show(); + Weight.Show(); + Offset.Show(); + LimitOrExponent.Show(); + Midpoint.Show(); + } + + public void DisplayTitle() + { + TitleLabel.Show(); + + SetOptionsTop(TitleLabel.Top + TitleLabel.Height + Constants.OptionVerticalSeperation); + } + + public void HideTitle() + { + TitleLabel.Hide(); + + SetOptionsTop(TopAnchor); + } + + public void SetArgs(AccelArgs args) + { + args.accel = Acceleration.Field.Data; + args.rate = Acceleration.Field.Data; + args.powerScale = Acceleration.Field.Data; + args.gainCap = Cap.VelocityGainCap; + args.scaleCap = Cap.SensitivityCap; + args.limit = LimitOrExponent.Field.Data; + args.exponent = LimitOrExponent.Field.Data; + args.powerExponent = LimitOrExponent.Field.Data; + args.offset = Offset.Field.Data; + args.midpoint = Midpoint.Field.Data; + args.weight = Weight.Field.Data; + } + + public AccelArgs GenerateArgs() + { + AccelArgs args = new AccelArgs(); + SetArgs(args); + return args; + } + + public void SetActiveValues(int mode, AccelArgs args) + { + AccelTypeOptions.SetActiveValue(mode); + Weight.SetActiveValue(args.weight); + Cap.SetActiveValues(args.gainCap, args.scaleCap, args.gainCap > 0); + Offset.SetActiveValue(args.offset); + Acceleration.SetActiveValue(args.accel); + LimitOrExponent.SetActiveValue(args.exponent); + Midpoint.SetActiveValue(args.midpoint); + } + + private void SetOptionsTop(int top) + { + AccelTypeOptions.Top = top; + Acceleration.Top = AccelTypeOptions.Top+ AccelTypeOptions.Height + Constants.OptionVerticalSeperation; + Cap.SnapTo(Acceleration); + Weight.SnapTo(Cap); + Offset.SnapTo(Weight); + LimitOrExponent.SnapTo(Offset); + Midpoint.SnapTo(LimitOrExponent); + } + } +} -- cgit v1.2.3 From bf747ca2439a371ef74e21a49c1e8bc880d4d3e2 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 1 Sep 2020 23:36:52 -0700 Subject: Small fixes, correctly align labels and boxes --- grapher/Models/Options/AccelOptionSet.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 2d15ad6..e2f2bf7 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -12,6 +12,7 @@ namespace grapher.Models.Options { public AccelOptionSet( Label titleLabel, + int topAnchor, AccelTypeOptions accelTypeOptions, Option acceleration, CapOptions cap, @@ -21,6 +22,7 @@ namespace grapher.Models.Options Option midpoint) { TitleLabel = titleLabel; + TopAnchor = topAnchor; AccelTypeOptions = accelTypeOptions; Acceleration = acceleration; Cap = cap; @@ -158,7 +160,7 @@ namespace grapher.Models.Options private void SetOptionsTop(int top) { AccelTypeOptions.Top = top; - Acceleration.Top = AccelTypeOptions.Top+ AccelTypeOptions.Height + Constants.OptionVerticalSeperation; + Acceleration.Top = AccelTypeOptions.Top + AccelTypeOptions.Height + Constants.OptionVerticalSeperation; Cap.SnapTo(Acceleration); Weight.SnapTo(Cap); Offset.SnapTo(Weight); -- cgit v1.2.3 From 5b9b8ed308e7a8cefbd27b2db72d33d7b002e223 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Wed, 2 Sep 2020 01:02:51 -0700 Subject: Move optionsets to applyoptions --- grapher/Models/Options/AccelOptionSet.cs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index e2f2bf7..46b6e3e 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -69,15 +69,16 @@ namespace grapher.Models.Options } } - public void SetTitleMode() + public void SetTitleMode(string title) { if (!IsTitleMode) { IsTitleMode = true; + TitleLabel.Text = title; AccelTypeOptions.Left = Acceleration.Field.Left; AccelTypeOptions.Width = Acceleration.Field.Width; - AccelTypeOptions.ShowFullText(); + AccelTypeOptions.ShowShortenedText(); DisplayTitle(); } } @@ -86,12 +87,6 @@ namespace grapher.Models.Options { TitleLabel.Hide(); AccelTypeOptions.Hide(); - Acceleration.Hide(); - Cap.Hide(); - Weight.Hide(); - Offset.Hide(); - LimitOrExponent.Hide(); - Midpoint.Hide(); } public void Show() @@ -102,12 +97,6 @@ namespace grapher.Models.Options } AccelTypeOptions.Show(); - Acceleration.Show(); - Cap.Show(); - Weight.Show(); - Offset.Show(); - LimitOrExponent.Show(); - Midpoint.Show(); } public void DisplayTitle() -- cgit v1.2.3 From 66131ff0e469aed0a44ad0fa7179b9cddfb66df5 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Wed, 2 Sep 2020 01:39:36 -0700 Subject: The menus mostly work --- grapher/Models/Options/AccelOptionSet.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 46b6e3e..b1f85a9 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -34,6 +34,8 @@ namespace grapher.Models.Options AccelTypeOptions.ShowFullText(); TitleLabel.Top = TopAnchor; + IsTitleMode = true; + SetRegularMode(); } public int TopAnchor { get; } @@ -71,11 +73,12 @@ namespace grapher.Models.Options public void SetTitleMode(string title) { + TitleLabel.Text = title; + if (!IsTitleMode) { IsTitleMode = true; - TitleLabel.Text = title; AccelTypeOptions.Left = Acceleration.Field.Left; AccelTypeOptions.Width = Acceleration.Field.Width; AccelTypeOptions.ShowShortenedText(); -- cgit v1.2.3 From 5ac07584f57b664237068ecda01034cbb9ca9c54 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Mon, 7 Sep 2020 12:58:00 -0700 Subject: Pass args by ref for setting --- grapher/Models/Options/AccelOptionSet.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 838917c..3b9b534 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -116,7 +116,7 @@ namespace grapher.Models.Options SetOptionsTop(TopAnchor); } - public void SetArgs(AccelArgs args) + public void SetArgs(ref AccelArgs args) { args.accel = Acceleration.Field.Data; args.rate = Acceleration.Field.Data; @@ -135,7 +135,7 @@ namespace grapher.Models.Options public AccelArgs GenerateArgs() { AccelArgs args = new AccelArgs(); - SetArgs(args); + SetArgs(ref args); return args; } -- cgit v1.2.3 From aff3a066575f4bfa429f67a5104a1fcffc5f326e Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Mon, 7 Sep 2020 15:19:39 -0700 Subject: Refactor type options --- grapher/Models/Options/AccelOptionSet.cs | 83 +++++--------------------------- 1 file changed, 13 insertions(+), 70 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 3b9b534..8c7b303 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -13,25 +13,13 @@ namespace grapher.Models.Options public AccelOptionSet( Label titleLabel, int topAnchor, - AccelTypeOptions accelTypeOptions, - Option acceleration, - CapOptions cap, - Option weight, - OffsetOptions offset, - Option limitOrExp, - Option midpoint) + AccelTypeOptions accelTypeOptions) { TitleLabel = titleLabel; TopAnchor = topAnchor; - AccelTypeOptions = accelTypeOptions; - Acceleration = acceleration; - Cap = cap; - Weight = weight; - Offset = offset; - LimitOrExponent = limitOrExp; - Midpoint = midpoint; + Options = accelTypeOptions; - AccelTypeOptions.ShowFullText(); + Options.ShowFull(); TitleLabel.Top = TopAnchor; IsTitleMode = true; @@ -42,19 +30,8 @@ namespace grapher.Models.Options public Label TitleLabel { get; } - public AccelTypeOptions AccelTypeOptions { get; } + public AccelTypeOptions Options { get; } - public Option Acceleration { get; } - - public CapOptions Cap { get; } - - public Option Weight { get; } - - public OffsetOptions Offset { get; } - - public Option LimitOrExponent { get; } - - public Option Midpoint { get; } public bool IsTitleMode { get; private set; } @@ -65,9 +42,7 @@ namespace grapher.Models.Options IsTitleMode = false; HideTitle(); - AccelTypeOptions.Left = Acceleration.Left; - AccelTypeOptions.Width = Acceleration.Width; - AccelTypeOptions.ShowFullText(); + Options.ShowFull(); } } @@ -79,9 +54,7 @@ namespace grapher.Models.Options { IsTitleMode = true; - AccelTypeOptions.Left = Acceleration.Field.Left; - AccelTypeOptions.Width = Acceleration.Field.Width; - AccelTypeOptions.ShowShortenedText(); + Options.ShowShortened(); DisplayTitle(); } } @@ -89,7 +62,7 @@ namespace grapher.Models.Options public void Hide() { TitleLabel.Hide(); - AccelTypeOptions.Hide(); + Options.Hide(); } public void Show() @@ -99,66 +72,36 @@ namespace grapher.Models.Options TitleLabel.Show(); } - AccelTypeOptions.Show(); + Options.Show(); } public void DisplayTitle() { TitleLabel.Show(); - SetOptionsTop(TitleLabel.Top + TitleLabel.Height + Constants.OptionVerticalSeperation); + Options.Top = TitleLabel.Top + TitleLabel.Height + Constants.OptionVerticalSeperation; } public void HideTitle() { TitleLabel.Hide(); - SetOptionsTop(TopAnchor); + Options.Top = TopAnchor; } public void SetArgs(ref AccelArgs args) { - args.accel = Acceleration.Field.Data; - args.rate = Acceleration.Field.Data; - args.powerScale = Acceleration.Field.Data; - args.gainCap = Cap.VelocityGainCap; - args.scaleCap = Cap.SensitivityCap; - args.limit = LimitOrExponent.Field.Data; - args.exponent = LimitOrExponent.Field.Data; - args.powerExponent = LimitOrExponent.Field.Data; - args.offset = Offset.Offset; - args.legacy_offset = Offset.LegacyOffset; - args.midpoint = Midpoint.Field.Data; - args.weight = Weight.Field.Data; + Options.SetArgs(ref args); } public AccelArgs GenerateArgs() { - AccelArgs args = new AccelArgs(); - SetArgs(ref args); - return args; + return Options.GenerateArgs(); } public void SetActiveValues(int mode, AccelArgs args) { - AccelTypeOptions.SetActiveValue(mode); - Weight.SetActiveValue(args.weight); - Cap.SetActiveValues(args.gainCap, args.scaleCap, args.gainCap > 0); - Offset.SetActiveValue(args.offset, args.legacy_offset); - Acceleration.SetActiveValue(args.accel); - LimitOrExponent.SetActiveValue(args.exponent); - Midpoint.SetActiveValue(args.midpoint); - } - - private void SetOptionsTop(int top) - { - AccelTypeOptions.Top = top; - Acceleration.Top = AccelTypeOptions.Top + AccelTypeOptions.Height + Constants.OptionVerticalSeperation; - Cap.SnapTo(Acceleration); - Weight.SnapTo(Cap); - Offset.OffsetOption.SnapTo(Weight); - LimitOrExponent.SnapTo(Offset.OffsetOption); - Midpoint.SnapTo(LimitOrExponent); + Options.SetActiveValues(mode, args); } } } -- cgit v1.2.3 From f2322540dd904474587ddebfa8d96dc66a902530 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 8 Sep 2020 00:51:05 -0700 Subject: Alignment for whole mode works --- grapher/Models/Options/AccelOptionSet.cs | 35 +++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 8c7b303..2a1436f 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -1,6 +1,7 @@ using grapher.Models.Serialized; using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,24 +12,31 @@ namespace grapher.Models.Options public class AccelOptionSet { public AccelOptionSet( - Label titleLabel, + Label title, + Label activeValuesTitle, int topAnchor, AccelTypeOptions accelTypeOptions) { - TitleLabel = titleLabel; + OptionsTitle = title; + ActiveValuesTitle = activeValuesTitle; TopAnchor = topAnchor; Options = accelTypeOptions; + ActiveValuesTitle.AutoSize = false; + ActiveValuesTitle.TextAlign = ContentAlignment.MiddleCenter; + Options.ShowFull(); - TitleLabel.Top = TopAnchor; + OptionsTitle.Top = TopAnchor; IsTitleMode = true; SetRegularMode(); } public int TopAnchor { get; } - public Label TitleLabel { get; } + public Label OptionsTitle { get; } + + public Label ActiveValuesTitle { get; } public AccelTypeOptions Options { get; } @@ -48,7 +56,7 @@ namespace grapher.Models.Options public void SetTitleMode(string title) { - TitleLabel.Text = title; + OptionsTitle.Text = title; if (!IsTitleMode) { @@ -61,7 +69,8 @@ namespace grapher.Models.Options public void Hide() { - TitleLabel.Hide(); + OptionsTitle.Hide(); + ActiveValuesTitle.Hide(); Options.Hide(); } @@ -69,22 +78,23 @@ namespace grapher.Models.Options { if (IsTitleMode) { - TitleLabel.Show(); + OptionsTitle.Show(); } + ActiveValuesTitle.Show(); Options.Show(); } public void DisplayTitle() { - TitleLabel.Show(); + OptionsTitle.Show(); - Options.Top = TitleLabel.Top + TitleLabel.Height + Constants.OptionVerticalSeperation; + Options.Top = OptionsTitle.Top + OptionsTitle.Height + Constants.OptionVerticalSeperation; } public void HideTitle() { - TitleLabel.Hide(); + OptionsTitle.Hide(); Options.Top = TopAnchor; } @@ -103,5 +113,10 @@ namespace grapher.Models.Options { Options.SetActiveValues(mode, args); } + + public void AlignActiveValuesByTitle() + { + Options.AlignActiveValues(ActiveValuesTitle.Width); + } } } -- cgit v1.2.3 From 9502dcf7608475857b1487375997d20a9d29622e Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 8 Sep 2020 01:26:22 -0700 Subject: Remove and sort usings en masse --- grapher/Models/Options/AccelOptionSet.cs | 5 ----- 1 file changed, 5 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 2a1436f..a5399da 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -1,10 +1,5 @@ using grapher.Models.Serialized; -using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; namespace grapher.Models.Options -- cgit v1.2.3 From a6448c4a2447a090558da5f52dea3dc418389e8a Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Tue, 8 Sep 2020 12:35:23 -0700 Subject: Fix few small bugs --- grapher/Models/Options/AccelOptionSet.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grapher/Models/Options/AccelOptionSet.cs') diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index a5399da..bc0d368 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -109,9 +109,9 @@ namespace grapher.Models.Options Options.SetActiveValues(mode, args); } - public void AlignActiveValuesByTitle() + public void AlignActiveValues() { - Options.AlignActiveValues(ActiveValuesTitle.Width); + Options.AlignActiveValues(); } } } -- cgit v1.2.3