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; + } +}