using Hawkeye.VisionBuilder.UI.Sources.Emulation; using Inspectron.Settings; using Inspectron.Settings.Windows.Configuration; using Lindt.Colorballs.Duo.Utils; using Ninject; using Ninject.Extensions.ChildKernel; using OpenCvSharp; using System.Collections.ObjectModel; using System.ComponentModel; using System.Threading; using VisionBuilder.UI.Common; using VisionBuilder.UI.Common.Commands; using VisionBuilder.UI.Common.RecipeProcessing; using VisionBuilder.UI.Common.ViewModel; using VisionBuilder.UI.Common.ViewModel.Classes; using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; using VisionBuilder.UI.Console; using VisionBuilder.UI.IOCommander; using VisionBuilder.UI.Recipes.HawkeyeRecipe; using VisionBuilder.UI.Ringbuffer; using VisionBuilder.UI.Statistics; using VisionBuilder.UI.Windows.Settings; namespace VisionBuilder.UI.Windows.Test { internal static class Program { private const string CAMERA1 = "Camera 1"; /// /// The main entry point for the application. /// [STAThread] static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); // In your application startup code InspectronSettings settings = new InspectronSettings("..\\Config"); var mainKernel = Common.VisionBuilder.CreateMainKernel(settings); mainKernel .UseIOCommander([CAMERA1]) .UseIOCommanderWindowsDebug() .UseConsole() .UseWindowsServices(); // CAMERA 1 // ChildKernel kernelCamera1 = new ChildKernel(mainKernel); // MODULES // kernelCamera1 .RegisterCamera(CAMERA1) .UseStatistics(CAMERA1) .UseRingbuffer(CAMERA1) .UseHawkeyeRecipes(CAMERA1) .UseCameraIOCommander(CAMERA1) ; // LOAD SETTINGS // mainKernel.RegisterSettings(); kernelCamera1.RegisterSettings(); settings.LoadSettings(); // Create camera and bind it // Must be done after settings are loaded kernelCamera1.UseCamera(); mainKernel.InitializeModules(); kernelCamera1.InitializeModules(); var mainWindowVm = mainKernel.Get(); mainWindowVm.SingleCameraVms = [ kernelCamera1.Get() ]; settings.LoadSettings(); Application.Run(new Form1(mainWindowVm)); } } }