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();
}
}
}