using Ninject.Extensions.ChildKernel; using System.ComponentModel; using Ninject; using VisionBuilder.UI.Common; using VisionBuilder.UI.IOCommander.Interfaces; using VisionBuilder.UI.IOCommander.Settings; using VisionBuilder.UI.IOCommander.Windows; namespace VisionBuilder.UI.IOCommander; public static class ModuleExtensions { public static IKernel UseIOCommanderWindowsDebug(this IKernel self) { TypeDescriptor.AddAttributes(typeof(List), new TypeConverterAttribute(typeof(PinLabelListConverter))); self.Rebind().To().InSingletonScope(); self.Bind().ToConstant(new WindowsIOCommanderDebugViewSettings()); return self; } public static IKernel UseIOCommanderVirtualInput(this IKernel self) { self.Bind().To().InSingletonScope(); self.Rebind().To().InSingletonScope(); return self; } }