diff options
Diffstat (limited to 'grapher/Models/AccelGUI.cs')
| -rw-r--r-- | grapher/Models/AccelGUI.cs | 96 |
1 files changed, 26 insertions, 70 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index a7d5d49..e9e925f 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -17,53 +17,40 @@ namespace grapher public class AccelGUI { - #region constructors + #region Constructors public AccelGUI( RawAcceleration accelForm, AccelCalculator accelCalculator, AccelCharts accelCharts, SettingsManager settings, - AccelOptions accelOptions, + ApplyOptions applyOptions, OptionXY sensitivity, Option rotation, - OptionXY weight, - CapOptions cap, - OffsetOptions offset, - Option acceleration, - Option limtOrExp, - Option midpoint, Button writeButton, Label mouseMoveLabel, - ToolStripMenuItem scaleMenuItem, - ToolStripMenuItem autoWriteMenuItem) + ToolStripMenuItem scaleMenuItem) { AccelForm = accelForm; AccelCalculator = accelCalculator; AccelCharts = accelCharts; - AccelerationOptions = accelOptions; + ApplyOptions = applyOptions; Sensitivity = sensitivity; Rotation = rotation; - Weight = weight; - Cap = cap; - Offset = offset; - Acceleration = acceleration; - LimitOrExponent = limtOrExp; - Midpoint = midpoint; WriteButton = writeButton; ScaleMenuItem = scaleMenuItem; Settings = settings; Settings.Startup(); - UpdateGraph(); + RefreshOnRead(); MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts); ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick); } - #endregion constructors + #endregion Constructors - #region properties + #region Properties public RawAcceleration AccelForm { get; } @@ -73,33 +60,21 @@ namespace grapher public SettingsManager Settings { get; } - public AccelOptions AccelerationOptions { get; } + public ApplyOptions ApplyOptions { get; } public OptionXY Sensitivity { get; } public Option Rotation { get; } - public OptionXY Weight { get; } - - public CapOptions Cap { get; } - - public OffsetOptions Offset { get; } - - public Option Acceleration { get; } - - public Option LimitOrExponent { get; } - - public Option Midpoint { get; } - public Button WriteButton { get; } public MouseWatcher MouseWatcher { get; } public ToolStripMenuItem ScaleMenuItem { get; } - #endregion properties + #endregion Properties - #region methods + #region Methods public void UpdateActiveSettingsFromFields() { @@ -111,29 +86,9 @@ namespace grapher x = Sensitivity.Fields.X, y = Sensitivity.Fields.Y }, - combineMagnitudes = true, - modes = new Vec2<AccelMode> - { - x = (AccelMode)AccelerationOptions.AccelerationIndex - }, - args = new Vec2<AccelArgs> - { - x = new AccelArgs - { - offset = Offset.Offset, - legacy_offset = Offset.LegacyOffset, - weight = Weight.Fields.X, - gainCap = Cap.VelocityGainCap, - scaleCap = Cap.SensitivityCapX, - accel = Acceleration.Field.Data, - rate = Acceleration.Field.Data, - powerScale = Acceleration.Field.Data, - limit = LimitOrExponent.Field.Data, - exponent = LimitOrExponent.Field.Data, - powerExponent = LimitOrExponent.Field.Data, - midpoint = Midpoint.Field.Data - } - }, + combineMagnitudes = ApplyOptions.IsWhole, + modes = ApplyOptions.GetModes(), + args = ApplyOptions.GetArgs(), minimumTime = .4 }; @@ -144,7 +99,14 @@ namespace grapher UpdateGraph(); }); }); - + RefreshOnRead(); + } + + public void RefreshOnRead() + { + AccelCharts.RefreshXY(Settings.RawAccelSettings.AccelerationSettings.combineMagnitudes); + UpdateGraph(); + UpdateShownActiveValues(); } public void UpdateGraph() @@ -154,29 +116,23 @@ namespace grapher Settings.ActiveAccel, Settings.RawAccelSettings.AccelerationSettings); AccelCharts.Bind(); - UpdateActiveValueLabels(); } - public void UpdateActiveValueLabels() + public void UpdateShownActiveValues() { var settings = Settings.RawAccelSettings.AccelerationSettings; - + Sensitivity.SetActiveValues(settings.sensitivity.x, settings.sensitivity.y); Rotation.SetActiveValue(settings.rotation); - AccelerationOptions.SetActiveValue((int)settings.modes.x); - Offset.SetActiveValue(settings.args.x.offset, settings.args.y.offset); - Weight.SetActiveValues(settings.args.x.weight, settings.args.x.weight); - Acceleration.SetActiveValue(settings.args.x.accel); // rate, powerscale - LimitOrExponent.SetActiveValue(settings.args.x.limit); //exp, powerexp - Midpoint.SetActiveValue(settings.args.x.midpoint); - //Cap.SetActiveValues(Settings.ActiveAccel.GainCap, Settings.ActiveAccel.CapX, Settings.ActiveAccel.CapY, Settings.ActiveAccel.GainCapEnabled); + ApplyOptions.SetActiveValues(settings); } private void OnScaleMenuItemClick(object sender, EventArgs e) { UpdateGraph(); } - #endregion methods + + #endregion Methods } } |