mirror of
https://github.com/vale981/VoiDPlugins
synced 2025-03-05 09:11:38 -05:00
Use static validators
This commit is contained in:
parent
bbb2afa087
commit
f25210d41c
5 changed files with 31 additions and 34 deletions
|
@ -10,9 +10,9 @@ namespace VoiDPlugins.Binding.ScriptRunner
|
||||||
[PluginName("Script Runner")]
|
[PluginName("Script Runner")]
|
||||||
public class ScriptRunner : IBinding
|
public class ScriptRunner : IBinding
|
||||||
{
|
{
|
||||||
private List<string> ScriptPathList = new List<string>(10);
|
public static string[] ValidIndexes = Enumerable.Range(0, 10).Select(i => i.ToString()).ToArray();
|
||||||
|
|
||||||
public string[] ValidIndexes = Enumerable.Range(0, 10).Select(i => i.ToString()).ToArray();
|
private List<string> ScriptPathList = new List<string>(10);
|
||||||
|
|
||||||
[Property("Script Index"), PropertyValidated(nameof(ValidIndexes))]
|
[Property("Script Index"), PropertyValidated(nameof(ValidIndexes))]
|
||||||
public string ScriptIndex { set; get; }
|
public string ScriptIndex { set; get; }
|
||||||
|
|
|
@ -14,11 +14,11 @@ namespace VoiDPlugins.Filter
|
||||||
internal static bool IsActive { set; get; }
|
internal static bool IsActive { set; get; }
|
||||||
internal static bool SetPosition { set; get; }
|
internal static bool SetPosition { set; get; }
|
||||||
|
|
||||||
|
public static string[] ValidModes => new[] { "Toggle", "Hold" };
|
||||||
|
|
||||||
[Property("Mode"), PropertyValidated(nameof(ValidModes))]
|
[Property("Mode"), PropertyValidated(nameof(ValidModes))]
|
||||||
public string Mode { set; get; }
|
public string Mode { set; get; }
|
||||||
|
|
||||||
public string[] ValidModes => new[] { "Toggle", "Hold" };
|
|
||||||
|
|
||||||
public void Press(IDeviceReport report)
|
public void Press(IDeviceReport report)
|
||||||
{
|
{
|
||||||
if (Mode == "Toggle")
|
if (Mode == "Toggle")
|
||||||
|
|
|
@ -1,19 +1,34 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenTabletDriver.Plugin;
|
||||||
using OpenTabletDriver.Plugin.Attributes;
|
using OpenTabletDriver.Plugin.Attributes;
|
||||||
|
using OpenTabletDriver.Plugin.Tablet;
|
||||||
using VoiDPlugins.Library.VMulti;
|
using VoiDPlugins.Library.VMulti;
|
||||||
|
|
||||||
namespace VoiDPlugins.OutputMode
|
namespace VoiDPlugins.OutputMode
|
||||||
{
|
{
|
||||||
[PluginName("VMulti Mode")]
|
[PluginName("VMulti Mode")]
|
||||||
public class VMultiButtonHandler : ButtonHandler
|
public class VMultiButtonHandler : ButtonHandler, IBinding
|
||||||
{
|
{
|
||||||
private readonly Dictionary<string, int> bindings = new()
|
public static Dictionary<string, int> Bindings { get; } = new()
|
||||||
{
|
{
|
||||||
{ "Left", 1 },
|
{ "Left", 1 },
|
||||||
{ "Right", 2 },
|
{ "Right", 2 },
|
||||||
{ "Middle", 4 }
|
{ "Middle", 4 }
|
||||||
};
|
};
|
||||||
|
|
||||||
public override Dictionary<string, int> Bindings => bindings;
|
[Property("Button"), PropertyValidated(nameof(ValidButtons))]
|
||||||
|
public string Button { get; set; }
|
||||||
|
public static string[] ValidButtons => Bindings.Keys.ToArray();
|
||||||
|
|
||||||
|
public void Press(IDeviceReport report)
|
||||||
|
{
|
||||||
|
EnableBit(Bindings[Button]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Release(IDeviceReport report)
|
||||||
|
{
|
||||||
|
DisableBit(Bindings[Button]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
using System.Collections.Generic;
|
|
||||||
using HidSharp;
|
using HidSharp;
|
||||||
|
using OpenTabletDriver.Plugin;
|
||||||
using OpenTabletDriver.Plugin.Attributes;
|
using OpenTabletDriver.Plugin.Attributes;
|
||||||
using OpenTabletDriver.Plugin.Tablet;
|
using OpenTabletDriver.Plugin.Tablet;
|
||||||
using VoiDPlugins.Library.VMulti;
|
using VoiDPlugins.Library.VMulti;
|
||||||
|
@ -8,11 +8,9 @@ using VoiDPlugins.Library.VMulti.Device;
|
||||||
namespace VoiDPlugins.OutputMode
|
namespace VoiDPlugins.OutputMode
|
||||||
{
|
{
|
||||||
[PluginName("Windows Ink")]
|
[PluginName("Windows Ink")]
|
||||||
public class WinInkButtonHandler : ButtonHandler
|
public class WinInkButtonHandler : ButtonHandler, IBinding
|
||||||
{
|
{
|
||||||
public override Dictionary<string, int> Bindings => null;
|
public static string[] ValidButtons { get; } = new string[]
|
||||||
|
|
||||||
public override string[] ValidButtons { get; } = new string[]
|
|
||||||
{
|
{
|
||||||
"Pen Tip",
|
"Pen Tip",
|
||||||
"Pen Button",
|
"Pen Button",
|
||||||
|
@ -20,6 +18,9 @@ namespace VoiDPlugins.OutputMode
|
||||||
"Eraser (Hold)"
|
"Eraser (Hold)"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Property("Button"), PropertyValidated(nameof(ValidButtons))]
|
||||||
|
public string Button { get; set; }
|
||||||
|
|
||||||
private enum ButtonBits : int
|
private enum ButtonBits : int
|
||||||
{
|
{
|
||||||
Press = 1,
|
Press = 1,
|
||||||
|
@ -33,7 +34,7 @@ namespace VoiDPlugins.OutputMode
|
||||||
private static HidStream Device;
|
private static HidStream Device;
|
||||||
private static new DigitizerInputReport Report;
|
private static new DigitizerInputReport Report;
|
||||||
|
|
||||||
public override void Press(IDeviceReport report)
|
public void Press(IDeviceReport report)
|
||||||
{
|
{
|
||||||
switch (Button)
|
switch (Button)
|
||||||
{
|
{
|
||||||
|
@ -70,7 +71,7 @@ namespace VoiDPlugins.OutputMode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Release(IDeviceReport report)
|
public void Release(IDeviceReport report)
|
||||||
{
|
{
|
||||||
switch (Button)
|
switch (Button)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,31 +1,12 @@
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using OpenTabletDriver.Plugin;
|
|
||||||
using OpenTabletDriver.Plugin.Attributes;
|
using OpenTabletDriver.Plugin.Attributes;
|
||||||
using OpenTabletDriver.Plugin.Tablet;
|
|
||||||
using VoiDPlugins.Library.VMulti.Device;
|
using VoiDPlugins.Library.VMulti.Device;
|
||||||
|
|
||||||
namespace VoiDPlugins.Library.VMulti
|
namespace VoiDPlugins.Library.VMulti
|
||||||
{
|
{
|
||||||
[PluginIgnore]
|
[PluginIgnore]
|
||||||
public abstract class ButtonHandler : IBinding
|
public class ButtonHandler
|
||||||
{
|
{
|
||||||
protected static Report Report;
|
protected static Report Report;
|
||||||
public abstract Dictionary<string, int> Bindings { get; }
|
|
||||||
|
|
||||||
[Property("Button"), PropertyValidated(nameof(ValidButtons))]
|
|
||||||
public string Button { get; set; }
|
|
||||||
public virtual string[] ValidButtons => Bindings.Keys.ToArray();
|
|
||||||
|
|
||||||
public virtual void Press(IDeviceReport report)
|
|
||||||
{
|
|
||||||
EnableBit(Bindings[Button]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void Release(IDeviceReport report)
|
|
||||||
{
|
|
||||||
DisableBit(Bindings[Button]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetReport(Report report)
|
public static void SetReport(Report report)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue