/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System; using VisionCommon; using VisionAligner; using System.Threading.Tasks; namespace VisionUI.Aligner { /// 얼라인 로그 뷰 AlignLogView.xaml BehindCode public partial class AlignLogView : UserControl { private AlignInfo _AlignInfo; private AlignRecipe _AlignRecipe; /// /// 생성자 /// /// 얼라인 정보 public AlignLogView(AlignInfo alignInfo) { _AlignInfo = alignInfo; _AlignRecipe = VisionRecipeManager.GetAlignRecipe(_AlignInfo); InitializeComponent(); } public AlignInfo GetAlignInfo() { return _AlignInfo; } private void listView_KeyDown(object sender, KeyEventArgs e) { var listView = (sender as ListView); if (sender != listView) { return; } if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.C) { CopySelectedValuesToClipboard(listView); } } private void CopySelectedValuesToClipboard(ListView listView) { var builder = new StringBuilder(); Clipboard.SetText(builder.ToString()); } private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { bool isVisible = (bool)e.NewValue; if (isVisible == true) { UpdateVisionRecipes(); if ((DataContext as AlignLogViewModel).SelectedDate != DateTime.Now.Date) { (DataContext as AlignLogViewModel).SelectedDate = DateTime.Now.Date; } } } private void UpdateVisionRecipes() { _AlignRecipe = VisionRecipeManager.GetAlignRecipe(_AlignInfo); } public void LoadOverlayImages(DateTime dateTime) { //ProcChartViewWindow.Instance.LoadOverlayImages(_SubSysInfo, dateTime); } private async void dataGridAlignResultItems_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { var dataGrid = sender as DataGrid; var alignResultItem = e.AddedItems[0] as AlignResultItem; //if (ProcChartViewWindow.Instance.IsLoaded) { // await Task.Run(() => { // ProcChartViewWindow.Instance.ShowOverlayImage(alignResultItem.Time); // }); // ProcChartViewWindow.Instance.ChangeAlignDeltaAnnotationX(dataGrid.SelectedIndex + 1); //} } } private void btnProcChartOpen_Click(object sender, RoutedEventArgs e) { //ProcChartViewWindow.Instance.LoadOverlayImages(_SubSysInfo, (DataContext as AlignLogViewModel).SelectedDate); //ProcChartViewWindow.Instance.Owner = Application.Current.MainWindow; //ProcChartViewWindow.Instance.Show(); //ProcChartViewWindow.Instance.Activate(); } } }