rename Pilz.Plugins.Advanced to Pilz.Features

This commit is contained in:
Pilzinsel64
2025-11-06 11:49:46 +01:00
parent 8bc09d9a59
commit fb42b0675b
37 changed files with 66 additions and 50 deletions

View File

@@ -0,0 +1,38 @@
using Pilz.Features;
namespace Pilz.UI.WinForms.Features.Extensions;
public static class PluginFeatureControllerExtensions
{
public static IControlListener ApplyControlManager(this PluginFeatureController @this, string featureType, Control control)
{
return @this.ApplyControlManager(featureType, control, true, true);
}
public static IControlListener ApplyControlManager(this PluginFeatureController @this, string featureType, Control control, PluginFunctionParameter? parameter)
{
return @this.ApplyControlManager(featureType, control, true, true, parameter);
}
public static IControlListener ApplyControlManager(this PluginFeatureController @this, string featureType, Control control, bool recursive, bool autoTrack)
{
return @this.ApplyControlManager(featureType, control, recursive, autoTrack, null);
}
public static IControlListener ApplyControlManager(this PluginFeatureController @this, string featureType, Control control, bool recursive, bool autoTrack, PluginFunctionParameter? parameter)
{
var features = @this.Features.Get(featureType).OfType<ControlListenerFeature>();
if (!features.Any())
return new ControlListenerDummy([], control, recursive);
var manager = new ControlListener(features, control, recursive);
if (autoTrack)
manager.Track();
manager.Initialize(parameter);
return manager;
}
}