aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml.cs
blob: 776a922cacc6786d3631dbc8107d517ace73d85f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
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;

namespace Tango.MachineStudio.MachineDesigner.Views
{
    /// <summary>
    /// Interaction logic for MachinesView.xaml
    /// </summary>
    public partial class MachinesView : UserControl
    {
        public MachinesView()
        {
            InitializeComponent();
        }
    }
}
iteral.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
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;
        }
        
    }
}