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/Serialized/GUISettings.cs | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 grapher/Models/Serialized/GUISettings.cs (limited to 'grapher/Models/Serialized/GUISettings.cs') diff --git a/grapher/Models/Serialized/GUISettings.cs b/grapher/Models/Serialized/GUISettings.cs new file mode 100644 index 0000000..8c182ae --- /dev/null +++ b/grapher/Models/Serialized/GUISettings.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher.Models.Serialized +{ + [Serializable] + public class GUISettings + { + public GUISettings( + Field dpiField, + Field pollRateField, + ToolStripMenuItem autoWriteMenuItem) + { + BindToGUI(dpiField, pollRateField, autoWriteMenuItem); + } + + public bool AutoWriteToDriverOnStartup { get; set; } + + public int DPI { get; set; } + + public int PollRate { get; set; } + + [field: NonSerialized] + private Field DpiField { get; set; } + + [field: NonSerialized] + private Field PollRateField { get; set; } + + [field: NonSerialized] + private ToolStripMenuItem AutoWriteMenuItem { get; set; } + + public void UpdateSettings() + { + DPI = (int)DpiField.Data; + PollRate = (int)PollRateField.Data; + AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked; + } + + public void BindToGUI(Field dpiField, Field pollRateField, ToolStripMenuItem autoWriteMenuItem) + { + DpiField = dpiField; + PollRateField = pollRateField; + AutoWriteMenuItem = autoWriteMenuItem; + } + } +} -- 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/Serialized/GUISettings.cs | 40 +++++++++----------------------- 1 file changed, 11 insertions(+), 29 deletions(-) (limited to 'grapher/Models/Serialized/GUISettings.cs') diff --git a/grapher/Models/Serialized/GUISettings.cs b/grapher/Models/Serialized/GUISettings.cs index 8c182ae..7c8e9a4 100644 --- a/grapher/Models/Serialized/GUISettings.cs +++ b/grapher/Models/Serialized/GUISettings.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -11,41 +12,22 @@ namespace grapher.Models.Serialized [Serializable] public class GUISettings { - public GUISettings( - Field dpiField, - Field pollRateField, - ToolStripMenuItem autoWriteMenuItem) + public GUISettings() {} + + public GUISettings(bool autoWrite, int dpi, int pollRate) { - BindToGUI(dpiField, pollRateField, autoWriteMenuItem); + AutoWriteToDriverOnStartup = autoWrite; + DPI = dpi; + PollRate = pollRate; } + [JsonProperty(Order = 1)] public bool AutoWriteToDriverOnStartup { get; set; } + [JsonProperty(Order = 2)] public int DPI { get; set; } + [JsonProperty(Order = 3)] public int PollRate { get; set; } - - [field: NonSerialized] - private Field DpiField { get; set; } - - [field: NonSerialized] - private Field PollRateField { get; set; } - - [field: NonSerialized] - private ToolStripMenuItem AutoWriteMenuItem { get; set; } - - public void UpdateSettings() - { - DPI = (int)DpiField.Data; - PollRate = (int)PollRateField.Data; - AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked; - } - - public void BindToGUI(Field dpiField, Field pollRateField, ToolStripMenuItem autoWriteMenuItem) - { - DpiField = dpiField; - PollRateField = pollRateField; - AutoWriteMenuItem = autoWriteMenuItem; - } } } -- cgit v1.2.3