diff --git a/Pilz.Plugins.Advanced/PluginModule.cs b/Pilz.Plugins.Advanced/PluginModule.cs index d51043e..57eb772 100644 --- a/Pilz.Plugins.Advanced/PluginModule.cs +++ b/Pilz.Plugins.Advanced/PluginModule.cs @@ -8,6 +8,13 @@ namespace Pilz.Plugins.Advanced { public abstract class PluginModule : PluginFeature { + public delegate void PluginModuleUIEventHandler(PluginModule module, PluginModuleUI ui); + + /// + /// Fires when a instance has been created. + /// + public static event PluginModuleUIEventHandler? OnUICreated; + public bool Visible { get; set; } = true; public bool AllowEmbedding { get; set; } = true; @@ -26,7 +33,9 @@ namespace Pilz.Plugins.Advanced public virtual PluginModuleUI CreateUI() { - return CreateNewUI(); + var ui = CreateNewUI(); + OnUICreated?.Invoke(this, ui); + return ui; } protected abstract PluginModuleUI CreateNewUI();