From 53c9025337166a408febc15078af3e9b136b3bab Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Wed, 19 Aug 2020 15:26:25 -0700 Subject: Add natural gain accel; add scale by DPI, poll rate in GUI --- grapher/Models/AccelGUI.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 8eb2226..2c27bf7 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -18,6 +18,7 @@ namespace grapher public AccelGUI( RawAcceleration accelForm, + AccelCalculator accelCalculator, AccelCharts accelCharts, ManagedAccel managedAccel, AccelOptions accelOptions, @@ -30,9 +31,11 @@ namespace grapher Option limtOrExp, Option midpoint, Button writeButton, - Label mouseMoveLabel) + Label mouseMoveLabel, + ToolStripMenuItem scaleMenuItem) { AccelForm = accelForm; + AccelCalculator = accelCalculator; AccelCharts = accelCharts; ManagedAcceleration = managedAccel; AccelerationOptions = accelOptions; @@ -45,11 +48,14 @@ namespace grapher LimitOrExponent = limtOrExp; Midpoint = midpoint; WriteButton = writeButton; + ScaleMenuItem = scaleMenuItem; ManagedAcceleration.ReadFromDriver(); UpdateGraph(); MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts); + + ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick); } #endregion constructors @@ -58,6 +64,8 @@ namespace grapher public RawAcceleration AccelForm { get; } + public AccelCalculator AccelCalculator { get; } + public AccelCharts AccelCharts { get; } public ManagedAccel ManagedAcceleration { get; } @@ -84,17 +92,22 @@ namespace grapher public MouseWatcher MouseWatcher { get; } + public ToolStripMenuItem ScaleMenuItem { get; } + #endregion properties #region methods - public void UpdateGraph() { AccelCalculator.Calculate(AccelCharts.AccelData, ManagedAcceleration); AccelCharts.Bind(); } + private void OnScaleMenuItemClick(object sender, EventArgs e) + { + UpdateGraph(); + } #endregion methods } -- cgit v1.2.3 From fe17d04e571d180e663c7014e803ce790693f4b1 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 20 Aug 2020 12:51:33 -0700 Subject: Display active values --- grapher/Models/AccelGUI.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index 2c27bf7..afc3def 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -102,6 +102,19 @@ namespace grapher { AccelCalculator.Calculate(AccelCharts.AccelData, ManagedAcceleration); AccelCharts.Bind(); + UpdateActiveValueLabels(); + } + + public void UpdateActiveValueLabels() + { + Sensitivity.SetActiveValues(ManagedAcceleration.SensitivityX, ManagedAcceleration.SensitivityY); + Rotation.SetActiveValue(ManagedAcceleration.Rotation); + Offset.SetActiveValue(ManagedAcceleration.Offset); + Acceleration.SetActiveValue(ManagedAcceleration.Acceleration); + Cap.SetActiveValues(ManagedAcceleration.GainCap, ManagedAcceleration.CapX, ManagedAcceleration.CapY, ManagedAcceleration.GainCapEnabled); + Weight.SetActiveValues(ManagedAcceleration.WeightX, ManagedAcceleration.WeightY); + LimitOrExponent.SetActiveValue(ManagedAcceleration.LimitExp); + Midpoint.SetActiveValue(ManagedAcceleration.Midpoint); } private void OnScaleMenuItemClick(object sender, EventArgs e) -- cgit v1.2.3 From 7dbeae9d4cf108e78072b356d832123f12e42a90 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 20 Aug 2020 14:22:14 -0700 Subject: Add accel type to active values and tweak color --- grapher/Models/AccelGUI.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index afc3def..e345743 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -109,6 +109,7 @@ namespace grapher { Sensitivity.SetActiveValues(ManagedAcceleration.SensitivityX, ManagedAcceleration.SensitivityY); Rotation.SetActiveValue(ManagedAcceleration.Rotation); + AccelerationOptions.SetActiveValue(ManagedAcceleration.Type); Offset.SetActiveValue(ManagedAcceleration.Offset); Acceleration.SetActiveValue(ManagedAcceleration.Acceleration); Cap.SetActiveValues(ManagedAcceleration.GainCap, ManagedAcceleration.CapX, ManagedAcceleration.CapY, ManagedAcceleration.GainCapEnabled); -- cgit v1.2.3 From 55b739c50db217e6a61678c1eb1412e8884e3462 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 20 Aug 2020 15:46:04 -0700 Subject: Serialization mostly working --- grapher/Models/AccelGUI.cs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index e345743..a0a76c8 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -1,5 +1,6 @@ using grapher.Models.Calculations; using grapher.Models.Mouse; +using grapher.Models.Serialized; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -32,7 +33,8 @@ namespace grapher Option midpoint, Button writeButton, Label mouseMoveLabel, - ToolStripMenuItem scaleMenuItem) + ToolStripMenuItem scaleMenuItem, + ToolStripMenuItem autoWriteMenuItem) { AccelForm = accelForm; AccelCalculator = accelCalculator; @@ -51,6 +53,7 @@ namespace grapher ScaleMenuItem = scaleMenuItem; ManagedAcceleration.ReadFromDriver(); + SavedSettings = StartupLoad(AccelCalculator.DPI, AccelCalculator.PollRate, autoWriteMenuItem); UpdateGraph(); MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts); @@ -64,6 +67,8 @@ namespace grapher public RawAcceleration AccelForm { get; } + public RawAccelSettings SavedSettings { get; } + public AccelCalculator AccelCalculator { get; } public AccelCharts AccelCharts { get; } @@ -103,6 +108,7 @@ namespace grapher AccelCalculator.Calculate(AccelCharts.AccelData, ManagedAcceleration); AccelCharts.Bind(); UpdateActiveValueLabels(); + SavedSettings.Save(); } public void UpdateActiveValueLabels() @@ -118,6 +124,25 @@ namespace grapher Midpoint.SetActiveValue(ManagedAcceleration.Midpoint); } + private RawAccelSettings StartupLoad(Field dpiField, Field pollRateField, ToolStripMenuItem autoWriteMenuItem) + { + if (RawAccelSettings.Exists()) + { + var settings = RawAccelSettings.Load(); + settings.GUISettings.BindToGUI(dpiField, pollRateField, autoWriteMenuItem); + return settings; + } + else + { + return new RawAccelSettings( + ManagedAcceleration, + new GUISettings( + AccelCalculator.DPI, + AccelCalculator.PollRate, + autoWriteMenuItem)); + } + } + private void OnScaleMenuItemClick(object sender, EventArgs e) { UpdateGraph(); -- cgit v1.2.3 From b874058d82a60a39163e91a26f370ff308b8af32 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sat, 22 Aug 2020 02:46:45 -0700 Subject: Saving and loading fully works --- grapher/Models/AccelGUI.cs | 71 +++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 38 deletions(-) (limited to 'grapher/Models/AccelGUI.cs') diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index a0a76c8..e0dcc03 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -21,7 +21,7 @@ namespace grapher RawAcceleration accelForm, AccelCalculator accelCalculator, AccelCharts accelCharts, - ManagedAccel managedAccel, + SettingsManager settings, AccelOptions accelOptions, OptionXY sensitivity, Option rotation, @@ -39,7 +39,6 @@ namespace grapher AccelForm = accelForm; AccelCalculator = accelCalculator; AccelCharts = accelCharts; - ManagedAcceleration = managedAccel; AccelerationOptions = accelOptions; Sensitivity = sensitivity; Rotation = rotation; @@ -51,9 +50,8 @@ namespace grapher Midpoint = midpoint; WriteButton = writeButton; ScaleMenuItem = scaleMenuItem; - - ManagedAcceleration.ReadFromDriver(); - SavedSettings = StartupLoad(AccelCalculator.DPI, AccelCalculator.PollRate, autoWriteMenuItem); + Settings = settings; + Settings.Startup(); UpdateGraph(); MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts); @@ -67,13 +65,11 @@ namespace grapher public RawAcceleration AccelForm { get; } - public RawAccelSettings SavedSettings { get; } - public AccelCalculator AccelCalculator { get; } public AccelCharts AccelCharts { get; } - public ManagedAccel ManagedAcceleration { get; } + public SettingsManager Settings { get; } public AccelOptions AccelerationOptions { get; } @@ -103,44 +99,43 @@ namespace grapher #region methods + public void UpdateActiveSettingsFromFields() + { + Settings.UpdateActiveSettings( + AccelerationOptions.AccelerationIndex, + Rotation.Field.Data, + Sensitivity.Fields.X, + Sensitivity.Fields.Y, + Weight.Fields.X, + Weight.Fields.Y, + Cap.SensitivityCapX, + Cap.SensitivityCapY, + Offset.Field.Data, + Acceleration.Field.Data, + LimitOrExponent.Field.Data, + Midpoint.Field.Data, + Cap.VelocityGainCap); + UpdateGraph(); + } + public void UpdateGraph() { - AccelCalculator.Calculate(AccelCharts.AccelData, ManagedAcceleration); + AccelCalculator.Calculate(AccelCharts.AccelData, Settings.ActiveAccel); AccelCharts.Bind(); UpdateActiveValueLabels(); - SavedSettings.Save(); } public void UpdateActiveValueLabels() { - Sensitivity.SetActiveValues(ManagedAcceleration.SensitivityX, ManagedAcceleration.SensitivityY); - Rotation.SetActiveValue(ManagedAcceleration.Rotation); - AccelerationOptions.SetActiveValue(ManagedAcceleration.Type); - Offset.SetActiveValue(ManagedAcceleration.Offset); - Acceleration.SetActiveValue(ManagedAcceleration.Acceleration); - Cap.SetActiveValues(ManagedAcceleration.GainCap, ManagedAcceleration.CapX, ManagedAcceleration.CapY, ManagedAcceleration.GainCapEnabled); - Weight.SetActiveValues(ManagedAcceleration.WeightX, ManagedAcceleration.WeightY); - LimitOrExponent.SetActiveValue(ManagedAcceleration.LimitExp); - Midpoint.SetActiveValue(ManagedAcceleration.Midpoint); - } - - private RawAccelSettings StartupLoad(Field dpiField, Field pollRateField, ToolStripMenuItem autoWriteMenuItem) - { - if (RawAccelSettings.Exists()) - { - var settings = RawAccelSettings.Load(); - settings.GUISettings.BindToGUI(dpiField, pollRateField, autoWriteMenuItem); - return settings; - } - else - { - return new RawAccelSettings( - ManagedAcceleration, - new GUISettings( - AccelCalculator.DPI, - AccelCalculator.PollRate, - autoWriteMenuItem)); - } + Sensitivity.SetActiveValues(Settings.ActiveAccel.SensitivityX, Settings.ActiveAccel.SensitivityY); + Rotation.SetActiveValue(Settings.ActiveAccel.Rotation); + AccelerationOptions.SetActiveValue(Settings.ActiveAccel.Type); + Offset.SetActiveValue(Settings.ActiveAccel.Offset); + Acceleration.SetActiveValue(Settings.ActiveAccel.Acceleration); + Cap.SetActiveValues(Settings.ActiveAccel.GainCap, Settings.ActiveAccel.CapX, Settings.ActiveAccel.CapY, Settings.ActiveAccel.GainCapEnabled); + Weight.SetActiveValues(Settings.ActiveAccel.WeightX, Settings.ActiveAccel.WeightY); + LimitOrExponent.SetActiveValue(Settings.ActiveAccel.LimitExp); + Midpoint.SetActiveValue(Settings.ActiveAccel.Midpoint); } private void OnScaleMenuItemClick(object sender, EventArgs e) -- cgit v1.2.3