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

92 lines
3.2 KiB
C#

/*
* 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 {
/// <summary>얼라인 로그 뷰 AlignLogView.xaml BehindCode</summary>
public partial class AlignLogView : UserControl {
private AlignInfo _AlignInfo;
private AlignRecipe _AlignRecipe;
/// <summary>
/// 생성자
/// </summary>
/// <param name="alignInfo">얼라인 정보</param>
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();
}
}
}