From 8273ecf0c22876f0f4e9dfa9eb29b9d491614faa Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 7 Jan 2021 23:11:24 -0800 Subject: Refactor --- grapher/Models/Devices/DeviceIDItem.cs | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 grapher/Models/Devices/DeviceIDItem.cs (limited to 'grapher/Models/Devices/DeviceIDItem.cs') diff --git a/grapher/Models/Devices/DeviceIDItem.cs b/grapher/Models/Devices/DeviceIDItem.cs new file mode 100644 index 0000000..2bdff81 --- /dev/null +++ b/grapher/Models/Devices/DeviceIDItem.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace grapher.Models.Devices +{ + public class DeviceIDItem + { + public DeviceIDItem(string name, string hwid, DeviceIDManager manager) + { + Name = name; + HWID = hwid; + Manager = manager; + DeviceIDMenuItem = new ToolStripMenuItem(); + DeviceIDMenuItem.Checked = false; + DeviceIDMenuItem.Text = MenuItemText(); + DeviceIDMenuItem.Click += OnClicked; + manager.DeviceIDsMenuItem.DropDownItems.Add(DeviceIDMenuItem); + } + + private ToolStripMenuItem DeviceIDMenuItem { get; } + + public string Name { get; } + + public string HWID { get; } + + private DeviceIDManager Manager { get; } + + public void SetActivated() + { + DeviceIDMenuItem.Checked = true; + } + + public void SetDeactivated() + { + DeviceIDMenuItem.Checked = false; + } + + private string MenuItemText() => string.IsNullOrWhiteSpace(HWID) ? $"{Name}" : $"{Name}: {HWID}"; + + private string DisconnectedText() => $"Disconnected: {HWID}"; + + public void SetDisconnected() + { + DeviceIDMenuItem.ForeColor = Color.DarkGray; + DeviceIDMenuItem.Text = DisconnectedText(); + } + + public void OnClicked(object sender, EventArgs e) + { + Manager.SetActive(this); + } + + public override bool Equals(object obj) + { + return obj is DeviceIDItem item && + Name == item.Name && + HWID == item.HWID; + } + + public override int GetHashCode() + { + int hashCode = -1692744877; + hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Name); + hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(HWID); + return hashCode; + } + } +} -- cgit v1.2.3 From 0e60e22b73dd0693b349cbb63cf9a390c01fd5dd Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Tue, 12 Jan 2021 17:01:18 -0500 Subject: filter raw input based on id use device id (from device instance) over first hardware id use buffered method for all ioctls update gui/DeviceIDManager to match driver behavior respond to device change events desync MouseData and PointData accessors --- grapher/Models/Devices/DeviceIDItem.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'grapher/Models/Devices/DeviceIDItem.cs') diff --git a/grapher/Models/Devices/DeviceIDItem.cs b/grapher/Models/Devices/DeviceIDItem.cs index 2bdff81..63c2761 100644 --- a/grapher/Models/Devices/DeviceIDItem.cs +++ b/grapher/Models/Devices/DeviceIDItem.cs @@ -10,10 +10,10 @@ namespace grapher.Models.Devices { public class DeviceIDItem { - public DeviceIDItem(string name, string hwid, DeviceIDManager manager) + public DeviceIDItem(string name, string id, DeviceIDManager manager) { Name = name; - HWID = hwid; + ID = id; Manager = manager; DeviceIDMenuItem = new ToolStripMenuItem(); DeviceIDMenuItem.Checked = false; @@ -26,7 +26,7 @@ namespace grapher.Models.Devices public string Name { get; } - public string HWID { get; } + public string ID { get; } private DeviceIDManager Manager { get; } @@ -40,9 +40,9 @@ namespace grapher.Models.Devices DeviceIDMenuItem.Checked = false; } - private string MenuItemText() => string.IsNullOrWhiteSpace(HWID) ? $"{Name}" : $"{Name}: {HWID}"; + private string MenuItemText() => string.IsNullOrEmpty(ID) ? $"{Name}" : $"{Name}: {ID}"; - private string DisconnectedText() => $"Disconnected: {HWID}"; + private string DisconnectedText() => $"Disconnected: {ID}"; public void SetDisconnected() { @@ -59,14 +59,14 @@ namespace grapher.Models.Devices { return obj is DeviceIDItem item && Name == item.Name && - HWID == item.HWID; + ID == item.ID; } public override int GetHashCode() { int hashCode = -1692744877; hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Name); - hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(HWID); + hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(ID); return hashCode; } } -- cgit v1.2.3