From 374eadd526056f4b9eaac9695113f1a6d4c05800 Mon Sep 17 00:00:00 2001 From: Schedel Pascal Date: Mon, 1 Jul 2024 13:17:12 +0200 Subject: [PATCH] check if feature enabled --- .../Extensions.cs | 4 ++-- Pilz.Plugins.Advanced/Extensions.cs | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 Pilz.Plugins.Advanced/Extensions.cs diff --git a/Pilz.Plugins.Advanced.UI.Telerik/Extensions.cs b/Pilz.Plugins.Advanced.UI.Telerik/Extensions.cs index c3b0644..8476354 100644 --- a/Pilz.Plugins.Advanced.UI.Telerik/Extensions.cs +++ b/Pilz.Plugins.Advanced.UI.Telerik/Extensions.cs @@ -124,7 +124,7 @@ public static class Extensions private static void RadMenuItem_RMMethod_Click(object? sender, EventArgs e) { - if (sender is RadMenuItem item) + if (sender is RadMenuItem item && item.Enabled) { if (item.Tag is RadPluginModule radmodule) radmodule.ShowUI(); @@ -135,7 +135,7 @@ public static class Extensions private static void RadMenuItem_RMFunction_Click(object? sender, EventArgs e) { - if (sender is RadMenuItem item && item.Tag is PluginFunction function) + if (sender is RadMenuItem item && item.Tag is PluginFunction function && function.Enabled) function.Execute(); } } \ No newline at end of file diff --git a/Pilz.Plugins.Advanced/Extensions.cs b/Pilz.Plugins.Advanced/Extensions.cs new file mode 100644 index 0000000..4db066a --- /dev/null +++ b/Pilz.Plugins.Advanced/Extensions.cs @@ -0,0 +1,24 @@ +namespace Pilz.Plugins.Advanced; + +public static class Extensions +{ + public static T? Execute(this PluginFunction @this, params object?[]? @params) + { + return @this.Enabled ? @this.Execute(@params) : default; + } + + public static object? Execute(this PluginFunction @this, params object?[]? @params) + { + return @this.Enabled ? @this.Execute(@params) : default; + } + + public static T? Execute(this PluginFunction @this, PluginFunctionSimpleParamter? @params) + { + return @this.Enabled ? @this.Execute(@params) : default; + } + + public static object? Execute(this PluginFunction @this, PluginFunctionParameter? @params) + { + return @this.Enabled ? @this.Execute(@params) : default; + } +}