/* * 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 { /// /// Interaction logic for MultiLineParamSettingView.xaml /// 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(); } } } }