summaryrefslogtreecommitdiff
path: root/grapher/Models/AccelGUI.cs
diff options
context:
space:
mode:
Diffstat (limited to 'grapher/Models/AccelGUI.cs')
-rw-r--r--grapher/Models/AccelGUI.cs59
1 files changed, 23 insertions, 36 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs
index 4ce6ed8..e4f924a 100644
--- a/grapher/Models/AccelGUI.cs
+++ b/grapher/Models/AccelGUI.cs
@@ -24,8 +24,7 @@ namespace grapher
Button writeButton,
ButtonBase resetButton,
MouseWatcher mouseWatcher,
- ToolStripMenuItem scaleMenuItem,
- DeviceIDManager deviceIDManager)
+ ToolStripMenuItem scaleMenuItem)
{
AccelForm = accelForm;
AccelCalculator = accelCalculator;
@@ -38,14 +37,13 @@ namespace grapher
DefaultButtonFont = WriteButton.Font;
SmallButtonFont = new Font(WriteButton.Font.Name, WriteButton.Font.Size * Constants.SmallButtonSizeFactor);
MouseWatcher = mouseWatcher;
- DeviceIDManager = deviceIDManager;
ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick);
WriteButton.Click += new System.EventHandler(OnWriteButtonClick);
ResetButton.Click += new System.EventHandler(ResetDriverEventHandler);
AccelForm.FormClosing += new FormClosingEventHandler(SaveGUISettingsOnClose);
- ButtonTimerInterval = Convert.ToInt32(DriverSettings.WriteDelayMs);
+ ButtonTimerInterval = Convert.ToInt32(DriverConfig.WriteDelayMs);
ButtonTimer = new Timer();
ButtonTimer.Tick += new System.EventHandler(OnButtonTimerTick);
@@ -85,8 +83,6 @@ namespace grapher
public ToolStripMenuItem ScaleMenuItem { get; }
- public DeviceIDManager DeviceIDManager { get; }
-
private Timer ChartRefresh { get; }
private Font SmallButtonFont { get; }
@@ -112,21 +108,23 @@ namespace grapher
}
}
- public DriverSettings MakeSettingsFromFields()
+ public Profile MakeSettingsFromFields()
{
- var settings = new DriverSettings();
+ var settings = new Profile();
settings.rotation = ApplyOptions.Rotation.Field.Data;
- settings.sensitivity = new Vec2<double>
- {
- x = ApplyOptions.Sensitivity.Fields.X,
- y = ApplyOptions.Sensitivity.Fields.Y
- };
+ settings.sensitivity = ApplyOptions.Sensitivity.Fields.X;
+
+ // TODO - separate sensitivity fields, add new label for ratio
+ settings.yxSensRatio = ApplyOptions.Sensitivity.Fields.Y;
settings.combineMagnitudes = ApplyOptions.IsWhole;
- ApplyOptions.SetArgs(ref settings.args);
- settings.domainArgs = ApplyOptions.Directionality.GetDomainArgs();
+ ApplyOptions.SetArgs(ref settings.argsX, ref settings.argsY);
+
+ var (domWeights, lpNorm) = ApplyOptions.Directionality.GetDomainArgs();
+ settings.domainXY = domWeights;
+ settings.lpNorm = lpNorm;
+
settings.rangeXY = ApplyOptions.Directionality.GetRangeXY();
- settings.deviceID = DeviceIDManager.ID;
Settings.SetHiddenOptions(settings);
@@ -141,16 +139,15 @@ namespace grapher
{
ButtonDelay(WriteButton);
- var settings = MakeSettingsFromFields();
- SettingsErrors errors = Settings.TryActivate(settings);
- if (errors.Empty())
+ var cfg = DriverConfig.FromProfile(MakeSettingsFromFields());
+ if (!Settings.TryActivate(cfg, out string errors))
{
- RefreshActive();
- return;
+ error_message = errors.ToString();
}
else
{
- error_message = errors.ToString();
+ RefreshActive();
+ return;
}
}
catch (ApplicationException e)
@@ -161,34 +158,24 @@ namespace grapher
new MessageDialog(error_message, "bad input").ShowDialog();
}
-
- public void UpdateInputManagers()
- {
- MouseWatcher.UpdateHandles(Settings.ActiveSettings.baseSettings.deviceID);
- DeviceIDManager.Update(Settings.ActiveSettings.baseSettings.deviceID);
- }
-
public void RefreshActive()
{
- UpdateShownActiveValues(Settings.UserSettings);
+ UpdateShownActiveValues(Settings.ActiveProfile);
UpdateGraph();
- UpdateInputManagers();
}
public void RefreshUser()
{
- UpdateShownActiveValues(Settings.UserSettings);
+ UpdateShownActiveValues(Settings.UserProfile);
}
public void UpdateGraph()
{
- AccelCharts.Calculate(
- Settings.ActiveAccel,
- Settings.ActiveSettings.baseSettings);
+ AccelCharts.Calculate(Settings.ActiveAccel, Settings.ActiveProfile);
AccelCharts.Bind();
}
- public void UpdateShownActiveValues(DriverSettings args)
+ public void UpdateShownActiveValues(Profile args)
{
AccelForm.ResetAutoScroll();
AccelCharts.ShowActive(args);