io commander

This commit is contained in:
meelstorm
2025-07-19 15:57:59 +02:00
parent 40d74d6da6
commit cd70088d9a
46 changed files with 2198 additions and 28 deletions

View File

@@ -33,6 +33,7 @@
btnExit = new MaterialSkin.Controls.MaterialRaisedButton();
materialDivider1 = new MaterialSkin.Controls.MaterialDivider();
singleCameraControl1 = new VisionBuilder.UI.Windows.Components.SingleCameraControl();
btnTestMode = new MaterialSkin.Controls.MaterialRaisedButton();
SuspendLayout();
//
// btnMinimize
@@ -43,7 +44,7 @@
btnMinimize.DrawBorder = true;
btnMinimize.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
btnMinimize.Icon = null;
btnMinimize.Location = new Point(784, 984);
btnMinimize.Location = new Point(960, 984);
btnMinimize.MouseState = MaterialSkin.MouseState.HOVER;
btnMinimize.Name = "btnMinimize";
btnMinimize.Primary = false;
@@ -61,7 +62,7 @@
btnSettings.DrawBorder = true;
btnSettings.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
btnSettings.Icon = null;
btnSettings.Location = new Point(552, 984);
btnSettings.Location = new Point(728, 984);
btnSettings.MouseState = MaterialSkin.MouseState.HOVER;
btnSettings.Name = "btnSettings";
btnSettings.Primary = false;
@@ -79,7 +80,7 @@
btnExit.DrawBorder = true;
btnExit.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
btnExit.Icon = null;
btnExit.Location = new Point(1016, 984);
btnExit.Location = new Point(1192, 984);
btnExit.MouseState = MaterialSkin.MouseState.HOVER;
btnExit.Name = "btnExit";
btnExit.Primary = false;
@@ -108,11 +109,30 @@
singleCameraControl1.Size = new Size(1904, 912);
singleCameraControl1.TabIndex = 10;
//
// btnTestMode
//
btnTestMode.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
btnTestMode.AutoSizeMode = AutoSizeMode.GrowAndShrink;
btnTestMode.Depth = 0;
btnTestMode.DrawBorder = true;
btnTestMode.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold);
btnTestMode.Icon = null;
btnTestMode.Location = new Point(496, 984);
btnTestMode.MouseState = MaterialSkin.MouseState.HOVER;
btnTestMode.Name = "btnTestMode";
btnTestMode.Primary = false;
btnTestMode.Size = new Size(224, 64);
btnTestMode.TabIndex = 11;
btnTestMode.Text = "Test mode";
btnTestMode.UseVisualStyleBackColor = true;
btnTestMode.Click += btnTestMode_Click;
//
// Form1
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(1920, 1080);
Controls.Add(btnTestMode);
Controls.Add(singleCameraControl1);
Controls.Add(materialDivider1);
Controls.Add(btnMinimize);
@@ -131,5 +151,6 @@
private MaterialSkin.Controls.MaterialRaisedButton btnExit;
private MaterialSkin.Controls.MaterialDivider materialDivider1;
private Components.SingleCameraControl singleCameraControl1;
private MaterialSkin.Controls.MaterialRaisedButton btnTestMode;
}
}

View File

@@ -1,3 +1,4 @@
using MaterialSkin;
using MaterialSkin.Controls;
using VisionBuilder.UI.Common.ViewModel;
@@ -13,10 +14,35 @@ namespace VisionBuilder.UI.Windows.Test
MaterialSkin.MaterialSkinManager.ConfigureForInspectron();
InitializeComponent();
singleCameraControl1.SetViewModel(mainWindowVm.SingleCameraVms[0]);
Load += Form1_Load;
_mainWindowVm.PropertyChanged += _mainWindowVm_PropertyChanged;
}
private void _mainWindowVm_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(_mainWindowVm.TestMode))
{
if (_mainWindowVm.TestMode)
{
MaterialSkinManager.Instance.ColorScheme = new ColorScheme(Primary.Green800, Primary.Green800,
Primary.Green400, Accent.Green200, TextShade.WHITE);
}
else
{
MaterialSkinManager.ConfigureForInspectron();
}
Refresh();
}
}
private void Form1_Load(object sender, EventArgs e)
{
_mainWindowVm.OnProgramStarted();
}
private void btnExit_Click(object sender, EventArgs e)
{
_mainWindowVm.OnProgramClosed();
Environment.Exit(0);
}
@@ -29,5 +55,10 @@ namespace VisionBuilder.UI.Windows.Test
{
_mainWindowVm.SettingsCommand.Execute(null);
}
private void btnTestMode_Click(object sender, EventArgs e)
{
_mainWindowVm.ToggleTestModeCommand.Execute(null);
}
}
}

View File

@@ -1,11 +1,3 @@
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;
@@ -13,11 +5,21 @@ 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
{
@@ -33,16 +35,20 @@ namespace VisionBuilder.UI.Windows.Test
// 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");
// 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);
mainKernel.UseWindowsServices();
// MODULES //
kernelCamera1
@@ -50,10 +56,14 @@ namespace VisionBuilder.UI.Windows.Test
.UseStatistics(CAMERA1)
.UseRingbuffer(CAMERA1)
.UseHawkeyeRecipes(CAMERA1)
.UseConsole();
.UseCameraIOCommander(CAMERA1)
;
// LOAD SETTINGS //
mainKernel.RegisterSettings();
kernelCamera1.RegisterSettings();
settings.LoadSettings();
@@ -62,7 +72,7 @@ namespace VisionBuilder.UI.Windows.Test
kernelCamera1.UseCamera();
mainKernel.InitializeModules();
kernelCamera1.InitializeModules();
var mainWindowVm = mainKernel.Get<MainWindowVM>();

View File

@@ -21,6 +21,8 @@
<ProjectReference Include="..\VisionBuilder.UI.Camera\VisionBuilder.UI.Camera.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Common\VisionBuilder.UI.Common.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Console\VisionBuilder.UI.Console.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.IOCommander.Windows\VisionBuilder.UI.IOCommander.Windows.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.IOCommander\VisionBuilder.UI.IOCommander.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Recipes.HawkeyeRecipe\VisionBuilder.UI.Recipes.HawkeyeRecipe.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Ringbuffer\VisionBuilder.UI.Ringbuffer.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Statistics\VisionBuilder.UI.Statistics.csproj" />