summaryrefslogtreecommitdiff
path: root/grapher/Models/AccelGUI.cs
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-08-22 22:33:45 -0400
committerGitHub <[email protected]>2020-08-22 22:33:45 -0400
commit252637e53ca42353061dc3118e8625af6edc348f (patch)
tree26ea73edae996242eaef559485309fb9c66f4d30 /grapher/Models/AccelGUI.cs
parentMerge pull request #15 from JacobPalecki/GUI (diff)
parentdelete personal settings.json left in repo (diff)
downloadrawaccel-252637e53ca42353061dc3118e8625af6edc348f.tar.xz
rawaccel-252637e53ca42353061dc3118e8625af6edc348f.zip
Merge pull request #16 from JacobPalecki/Misc
Gain Styles, Settings File, and other miscellaneous
Diffstat (limited to 'grapher/Models/AccelGUI.cs')
-rw-r--r--grapher/Models/AccelGUI.cs61
1 files changed, 54 insertions, 7 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs
index 8eb2226..e0dcc03 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;
@@ -18,8 +19,9 @@ namespace grapher
public AccelGUI(
RawAcceleration accelForm,
+ AccelCalculator accelCalculator,
AccelCharts accelCharts,
- ManagedAccel managedAccel,
+ SettingsManager settings,
AccelOptions accelOptions,
OptionXY sensitivity,
Option rotation,
@@ -30,11 +32,13 @@ namespace grapher
Option limtOrExp,
Option midpoint,
Button writeButton,
- Label mouseMoveLabel)
+ Label mouseMoveLabel,
+ ToolStripMenuItem scaleMenuItem,
+ ToolStripMenuItem autoWriteMenuItem)
{
AccelForm = accelForm;
+ AccelCalculator = accelCalculator;
AccelCharts = accelCharts;
- ManagedAcceleration = managedAccel;
AccelerationOptions = accelOptions;
Sensitivity = sensitivity;
Rotation = rotation;
@@ -45,11 +49,14 @@ namespace grapher
LimitOrExponent = limtOrExp;
Midpoint = midpoint;
WriteButton = writeButton;
-
- ManagedAcceleration.ReadFromDriver();
+ ScaleMenuItem = scaleMenuItem;
+ Settings = settings;
+ Settings.Startup();
UpdateGraph();
MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts);
+
+ ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick);
}
#endregion constructors
@@ -58,9 +65,11 @@ namespace grapher
public RawAcceleration AccelForm { get; }
+ public AccelCalculator AccelCalculator { get; }
+
public AccelCharts AccelCharts { get; }
- public ManagedAccel ManagedAcceleration { get; }
+ public SettingsManager Settings { get; }
public AccelOptions AccelerationOptions { get; }
@@ -84,17 +93,55 @@ namespace grapher
public MouseWatcher MouseWatcher { get; }
+ public ToolStripMenuItem ScaleMenuItem { get; }
+
#endregion properties
#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();
}
+ public void UpdateActiveValueLabels()
+ {
+ 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)
+ {
+ UpdateGraph();
+ }
#endregion methods
}