2026-01-26 14:51:28 +09:00

81 lines
2.7 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Aurora.Api;
using System;
using System.Windows;
using System.Windows.Controls;
using VisionCommon;
namespace MilUI {
/// <summary>
/// Interaction logic for MultiLineParamSettingView.xaml
/// </summary>
public partial class MultiLineParamSettingView : UserControl, IDisposable {
private Logger _Logger = new Logger(typeof(MultiLineParamSettingView).Name);
private PatternAgentBase _patternAgent;
private PatternInfo _patternInfo;
private CameraDisplay _cameraDisplay;
private FovInfo _fovInfo;
public MultiLineParamSettingView(
PatternAgentBase patternAgent, PatternInfo subPatternInfo, CameraDisplay cameraDisplay, FovInfo fovInfo) {
_patternAgent = patternAgent;
_patternInfo = subPatternInfo;
_cameraDisplay = cameraDisplay;
_fovInfo = fovInfo;
InitializeComponent();
SetEventHandler();
}
private void SetEventHandler() {
sliderRoiAngle.SliderChangedEvent += SliderChangedEventHandler;
cbEnabled.Checked += CbEnabled_Checked;
cbEnabled.Unchecked += CbEnabled_Unchecked;
}
public bool IsChecked() {
return (bool)cbEnabled.IsChecked;
}
private void CbEnabled_Checked(object sender, System.Windows.RoutedEventArgs e) {
(DataContext as MultiLineParamSettingViewModel).ShowFindROI();
}
private void CbEnabled_Unchecked(object sender, System.Windows.RoutedEventArgs e) {
(DataContext as MultiLineParamSettingViewModel).HideFindROI();
}
public void SliderChangedEventHandler(object sender, EventArgs e) {
(DataContext as MultiLineParamSettingViewModel).UpdateAngleOfFindRoi(sliderRoiAngle.KeyValue);
}
public void Dispose() {
ClearEventHandler();
(DataContext as MultiLineParamSettingViewModel).Dispose();
}
private void ClearEventHandler() {
try {
sliderRoiAngle.SliderChangedEvent -= SliderChangedEventHandler;
cbEnabled.Checked -= CbEnabled_Checked;
cbEnabled.Unchecked -= CbEnabled_Unchecked;
}
catch (Exception e) {
_Logger.FuncE(e.Message);
}
}
private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) {
bool isVisible = (bool)e.NewValue;
if (isVisible == true) {
//(DataContext as MultiLineParamSettingViewModel).Clear();
}
}
}
}