diff --git a/Pilz.Plugins.Advanced/Extensions.cs b/Pilz.Plugins.Advanced/Extensions.cs index 35cc64f..eda2514 100644 --- a/Pilz.Plugins.Advanced/Extensions.cs +++ b/Pilz.Plugins.Advanced/Extensions.cs @@ -14,7 +14,17 @@ namespace Pilz.Plugins.Advanced return null; } - public static RadMenuItem GetAsItem(this PluginModule module, bool addDefaultHandler = true) + public static RadMenuItem GetAsItem(this PluginModule module) + { + return GetAsItem(module, true); + } + + public static RadMenuItem GetAsItem(this PluginModule module, bool addDefaultHandler) + { + return GetAsItem(module, addDefaultHandler ? RadMenuItem_RMMethod_Click : null); + } + + public static RadMenuItem GetAsItem(this PluginModule module, EventHandler? clickHandler) { var item = new RadMenuItem { @@ -24,13 +34,23 @@ namespace Pilz.Plugins.Advanced Visibility = module.Visible ? ElementVisibility.Visible : ElementVisibility.Collapsed }; - if (addDefaultHandler) - item.Click += RadMenuItem_RMMethod_Click; + if (clickHandler is not null) + item.Click += clickHandler; return item; } - public static RadMenuItem GetAsItem(this PluginFunction function, bool addDefaultHandler = true) + public static RadMenuItem GetAsItem(this PluginFunction function) + { + return GetAsItem(function, true); + } + + public static RadMenuItem GetAsItem(this PluginFunction function, bool addDefaultHandler) + { + return GetAsItem(function, addDefaultHandler ? RadMenuItem_RMFunction_Click : null); + } + + public static RadMenuItem GetAsItem(this PluginFunction function, EventHandler? clickHandler) { var item = new RadMenuItem { @@ -40,8 +60,8 @@ namespace Pilz.Plugins.Advanced Visibility = function.Enabled ? ElementVisibility.Visible : ElementVisibility.Collapsed }; - if (addDefaultHandler) - item.Click += RadMenuItem_RMFunction_Click; + if (clickHandler is not null) + item.Click += clickHandler; return item; }