aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs175
1 files changed, 175 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs
new file mode 100644
index 000000000..961d7f691
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml.cs
@@ -0,0 +1,175 @@
+using LiveCharts;
+using LiveCharts.Wpf;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Tango.SharedUI.Components;
+
+namespace Tango.MachineStudio.Statistics.Views
+{
+ /// <summary>
+ /// Interaction logic for JobRunsView.xaml
+ /// </summary>
+ public partial class JobRunsView : UserControl
+ {
+ private int _lastSelectedGridItemIndex;
+ public JobRunsView()
+ {
+ InitializeComponent();
+ _lastSelectedGridItemIndex = -1;
+ }
+
+
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ selectMachineButton.IsChecked = true;
+ e.Handled = true;
+ }
+
+ private void JobRunSourcesButton_Click(object sender, RoutedEventArgs e)
+ {
+ selectJobRunSources.IsChecked = true;
+ e.Handled = true;
+ }
+ private void IsGradientButton_Click(object sender, RoutedEventArgs e)
+ {
+ selectIsGradient.IsChecked = true;
+ e.Handled = true;
+ }
+ private void JobRunStatusButton_Click(object sender, RoutedEventArgs e)
+ {
+ selectJobRunStatus.IsChecked = true;
+ e.Handled = true;
+ }
+
+ private async void TextBox_GotFocus(object sender, RoutedEventArgs e)
+ {
+ await Task.Delay(200);
+ TextBox txtBox = sender as TextBox;
+ txtBox.SelectAll();
+ }
+
+ private void TextBox_PreviewMouseUp(object sender, MouseButtonEventArgs e)
+ {
+ e.Handled = true;
+ }
+
+ private void SelectMachineButton_Click(object sender, RoutedEventArgs e)
+ {
+ selectThreadsButton.IsChecked = true;
+ e.Handled = true;
+ }
+
+ private void IsHeadCleaningButton_Click(object sender, RoutedEventArgs e)
+ {
+ isHeadCleaningToggleButton.IsChecked = true;
+ e.Handled = true;
+ }
+
+ private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ DataGrid dataGrid = sender as DataGrid;
+ _lastSelectedGridItemIndex = -1;
+ if (e.AddedItems != null && e.AddedItems.Count > 0)
+ {
+ DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromItem(e.AddedItems[0]);
+ if (row != null)
+ {
+ _lastSelectedGridItemIndex = row.GetIndex();
+ }
+ }
+ }
+
+ private void StartDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
+ {
+ DatePicker datePickerObj = sender as DatePicker;
+ if(datePickerObj != null && datePickerObj.SelectedDate != null && endDatePicker.SelectedDate != null)
+ {
+ if(datePickerObj.SelectedDate> endDatePicker.SelectedDate)
+ {
+ BindingExpression start_be = datePickerObj.GetBindingExpression(DatePicker.SelectedDateProperty);
+ ValidationError validationError = new ValidationError(StartDateExpiredRule, start_be);
+ validationError.ErrorContent = "The start time must be less than or equal to end time.";
+ Validation.MarkInvalid(start_be, validationError);
+ }
+ else if (Validation.GetHasError(endDatePicker))
+ {
+ BindingExpression end_be = endDatePicker.GetBindingExpression(DatePicker.SelectedDateProperty);
+ Validation.ClearInvalid(end_be);
+ }
+ }
+ }
+
+ private void EndDatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
+ {
+ DatePicker datePickerObj = sender as DatePicker;
+ if (datePickerObj.SelectedDate != null && startdatePicker.SelectedDate != null )
+ {
+ if(datePickerObj != null && datePickerObj.SelectedDate < startdatePicker.SelectedDate)
+ {
+ BindingExpression end_be = datePickerObj.GetBindingExpression(DatePicker.SelectedDateProperty);
+ ValidationError validationError = new ValidationError(EndDateExpiredRule, end_be);
+ validationError.ErrorContent = "The end time must be greater than or equal to the start time.";
+ Validation.MarkInvalid(end_be, validationError);
+ }
+ else if (Validation.GetHasError(startdatePicker))
+ {
+ BindingExpression start_be = startdatePicker.GetBindingExpression(DatePicker.SelectedDateProperty);
+ Validation.ClearInvalid(start_be);
+ }
+ }
+ }
+
+ private void CheckBox_PreventUndoCheck(object sender, RoutedEventArgs e)
+ {
+ if( sender is CheckBox)
+ {
+ CheckBox cb = sender as CheckBox;
+ if (cb.IsChecked == false)
+ {
+ cb.IsChecked = true;
+ e.Handled = true;
+ return;
+ }
+ }
+ e.Handled = false;
+ }
+ private void CheckBox_StayChecked(object sender, RoutedEventArgs e)
+ {
+ if (sender is CheckBox)
+ {
+ CheckBox cb = sender as CheckBox;
+ if (cb.IsChecked == false)
+ {
+ var col = cb.Tag;
+ Type type = col.GetType();
+ if (col != null && col.GetType().GetGenericTypeDefinition() == typeof(SelectedObjectCollection<>))
+ {
+ dynamic dSynchedSource = type.GetProperty("SynchedSource").GetValue(col);
+ if(dSynchedSource != null && dSynchedSource.GetType().GetGenericTypeDefinition() == typeof(ObservableCollection<>) && dSynchedSource.Count == 0)
+ {
+ cb.IsChecked = true;
+ e.Handled = true;
+ return;
+ }
+ }
+ }
+ }
+ e.Handled = false;
+ }
+
+ }
+}