mirror of
https://github.com/vale981/VoiDPlugins
synced 2025-03-04 16:51: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")]
|
||||
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))]
|
||||
public string ScriptIndex { set; get; }
|
||||
|
|
|
@ -14,11 +14,11 @@ namespace VoiDPlugins.Filter
|
|||
internal static bool IsActive { set; get; }
|
||||
internal static bool SetPosition { set; get; }
|
||||
|
||||
public static string[] ValidModes => new[] { "Toggle", "Hold" };
|
||||
|
||||
[Property("Mode"), PropertyValidated(nameof(ValidModes))]
|
||||
public string Mode { set; get; }
|
||||
|
||||
public string[] ValidModes => new[] { "Toggle", "Hold" };
|
||||
|
||||
public void Press(IDeviceReport report)
|
||||
{
|
||||
if (Mode == "Toggle")
|
||||
|
|
|
@ -1,19 +1,34 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using OpenTabletDriver.Plugin;
|
||||
using OpenTabletDriver.Plugin.Attributes;
|
||||
using OpenTabletDriver.Plugin.Tablet;
|
||||
using VoiDPlugins.Library.VMulti;
|
||||
|
||||
namespace VoiDPlugins.OutputMode
|
||||
{
|
||||
[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 },
|
||||
{ "Right", 2 },
|
||||
{ "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 OpenTabletDriver.Plugin;
|
||||
using OpenTabletDriver.Plugin.Attributes;
|
||||
using OpenTabletDriver.Plugin.Tablet;
|
||||
using VoiDPlugins.Library.VMulti;
|
||||
|
@ -8,11 +8,9 @@ using VoiDPlugins.Library.VMulti.Device;
|
|||
namespace VoiDPlugins.OutputMode
|
||||
{
|
||||
[PluginName("Windows Ink")]
|
||||
public class WinInkButtonHandler : ButtonHandler
|
||||
public class WinInkButtonHandler : ButtonHandler, IBinding
|
||||
{
|
||||
public override Dictionary<string, int> Bindings => null;
|
||||
|
||||
public override string[] ValidButtons { get; } = new string[]
|
||||
public static string[] ValidButtons { get; } = new string[]
|
||||
{
|
||||
"Pen Tip",
|
||||
"Pen Button",
|
||||
|
@ -20,6 +18,9 @@ namespace VoiDPlugins.OutputMode
|
|||
"Eraser (Hold)"
|
||||
};
|
||||
|
||||
[Property("Button"), PropertyValidated(nameof(ValidButtons))]
|
||||
public string Button { get; set; }
|
||||
|
||||
private enum ButtonBits : int
|
||||
{
|
||||
Press = 1,
|
||||
|
@ -33,7 +34,7 @@ namespace VoiDPlugins.OutputMode
|
|||
private static HidStream Device;
|
||||
private static new DigitizerInputReport Report;
|
||||
|
||||
public override void Press(IDeviceReport report)
|
||||
public void Press(IDeviceReport report)
|
||||
{
|
||||
switch (Button)
|
||||
{
|
||||
|
@ -70,7 +71,7 @@ namespace VoiDPlugins.OutputMode
|
|||
}
|
||||
}
|
||||
|
||||
public override void Release(IDeviceReport report)
|
||||
public void Release(IDeviceReport report)
|
||||
{
|
||||
switch (Button)
|
||||
{
|
||||
|
|
|
@ -1,31 +1,12 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using OpenTabletDriver.Plugin;
|
||||
using OpenTabletDriver.Plugin.Attributes;
|
||||
using OpenTabletDriver.Plugin.Tablet;
|
||||
using VoiDPlugins.Library.VMulti.Device;
|
||||
|
||||
namespace VoiDPlugins.Library.VMulti
|
||||
{
|
||||
[PluginIgnore]
|
||||
public abstract class ButtonHandler : IBinding
|
||||
public class ButtonHandler
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue