2026-01-26 18:56:53 +09:00

67 lines
2.5 KiB
C#

using Aurora.Api;
using System;
using System.ComponentModel;
using System.Windows;
using VisionCommon;
namespace MilUI {
/// <summary>
/// Interaction logic for VisionImageTestWindow.xaml
/// </summary>
public partial class VisionImageTestWindow : Window {
public string WINDOW_TITLE => "Vision Image Test Window";
private FovInfo _FovInfo;
private eVisionTestType _VisionTestType;
private PatternInfo _PatternInfo;
private VisionImageTestView visionImageTestSettingView;
private object _ViewModel;
public VisionImageTestWindow(FovInfo fovInfo, eVisionTestType visionTestType, PatternInfo patternInfo = null, Object patternListViewModel = null) {
_FovInfo = fovInfo;
_VisionTestType = visionTestType;
if(patternInfo != null) {
_PatternInfo = patternInfo;
}
if(patternListViewModel != null) {
_ViewModel = patternListViewModel;
}
InitializeComponent();
SetTitle();
CreateView();
}
public void SetTitle() {
Title = WINDOW_TITLE;
}
private void CreateView() {
if(_VisionTestType == eVisionTestType.Pattern) {
visionImageTestSettingView = new VisionImageTestView(_FovInfo, _VisionTestType, _PatternInfo);
visionImageTestSettingView.DataContext = new VisionImageTestViewModel(_FovInfo, _VisionTestType, _PatternInfo);
gridVisionImageTestView.Children.Add(visionImageTestSettingView);
}
else {
visionImageTestSettingView = new VisionImageTestView(_FovInfo, _VisionTestType);
visionImageTestSettingView.DataContext = new VisionImageTestViewModel(_FovInfo, _VisionTestType);
gridVisionImageTestView.Children.Add(visionImageTestSettingView);
}
}
public void ResetPosition() {
Left = WindowUtil.GetLeftWithRatioOnMainWindow(0);
Top = WindowUtil.GetTopWithRatioOnMainWindow(0);
}
protected override void OnClosing(CancelEventArgs e) {
visionImageTestSettingView.Dispose();
if(_VisionTestType == eVisionTestType.Pattern) {
var param = new Tuple<object, int>(_ViewModel, _PatternInfo.GetPatternId());
VisionEnv.AuroraEnv.EventPublisher.Publish(
new EventMessage(string.Empty, VisionEventId.CLOSE_VISION_IMAGE_TEST, param));
}
}
}
}