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 SubSysInfo _SubSysInfo; private SubSysRecipe _SubSysRecipe; /// /// 생성자 /// /// 서브시스템 정보 public AlignLogView(SubSysInfo subSysInfo) { _SubSysInfo = subSysInfo; _SubSysRecipe = VisionRecipeManager.GetSubSysRecipe(_SubSysInfo); InitializeComponent(); } 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() { _SubSysRecipe = VisionRecipeManager.GetSubSysRecipe(_SubSysInfo); } 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(); } } }