using System.Collections.ObjectModel; using VisionBuilder.UI.Common; using VisionBuilder.UI.Common.Commands; using VisionBuilder.UI.Common.ViewModel; using VisionBuilder.UI.Common.ViewModel.Classes; using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; using VisionBuilder.UI.Windows.Settings; using System.Threading; 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 VisionBuilder.UI.Common.RecipeProcessing; using VisionBuilder.UI.Console; using VisionBuilder.UI.Recipes.HawkeyeRecipe; using VisionBuilder.UI.Ringbuffer; using VisionBuilder.UI.Statistics; 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(); InspectronSettings settings = new InspectronSettings("..\\Config\\AppSettings.xml"); var mainKernel = Common.VisionBuilder.CreateMainKernel(settings); // CAMERA 1 // ChildKernel kernelCamera1 = new ChildKernel(mainKernel); mainKernel.UseWindowsServices(); // MODULES // kernelCamera1 .RegisterCamera(CAMERA1) .UseStatistics(CAMERA1) .UseRingbuffer(CAMERA1) .UseHawkeyeRecipes(CAMERA1) .UseConsole(); // LOAD SETTINGS // kernelCamera1.RegisterSettings(); settings.LoadSettings(); // Create camera and bind it // Must be done after settings are loaded kernelCamera1.UseCamera(); kernelCamera1.InitializeModules(); var mainWindowVm = mainKernel.Get(); mainWindowVm.SingleCameraVms = [ kernelCamera1.Get() ]; settings.LoadSettings(); Application.Run(new Form1(mainWindowVm)); } } }