using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Media; using DTS.Common.Controls; using DTS.Common.Interface.DASFactory.Diagnostics.HardwareList; using DTS.Common.Utils; // ReSharper disable CheckNamespace namespace HardwareList { /// /// /// Interaction logic for HardwareListSelectView.xaml /// public partial class HardwareListSelectView : IHardwareListSelectView { public HardwareListSelectView() { InitializeComponent(); } public void InitializeColumns(bool bSteamingTest) { var view = (GridView)LvHardware.View; var calDateIndex = view.Columns.IndexOf(CalDateColumn); if (calDateIndex < 0) { calDateIndex = 0; } if (bSteamingTest) { AddColumn(view, DSPStreamingColumn, calDateIndex - 1); } else { RemoveColumn(view, DSPStreamingColumn); } } private void AddColumn(GridView view, GridViewColumn column, int index) { if (!view.Columns.Contains(column)) { view.Columns.Insert(index, column); } } private void RemoveColumn(GridView view, GridViewColumn column) { if (view.Columns.Contains(column)) { view.Columns.Remove(column); } } private void ListViewHeader_Click(object sender, System.Windows.RoutedEventArgs e) { var colHeader = (GridViewColumnHeader)e.OriginalSource; var viewModel = (IHardwareListViewModel)colHeader.DataContext; viewModel.Sort(colHeader.Tag, true); } private void GridViewColumnHeaderSearchable_OnSearch(object sender, RoutedEventArgs e) { var searchTerm = (string)e.OriginalSource; var columnTag = (sender as GridViewColumnHeaderSearchable)?.Tag; var viewModel = (IHardwareListViewModel)DataContext; viewModel.Filter(columnTag, searchTerm); } private void GridViewColumnHeader_OnClick(object sender, RoutedEventArgs e) { var vm = (IHardwareListViewModel)DataContext; var columnTag = (sender as GridViewColumnHeaderSearchable)?.Tag ?? Utils.FindChild((DependencyObject)e.OriginalSource, null)?.Tag ?? (e.OriginalSource as GridViewColumnHeader)?.Tag; vm?.Sort(columnTag, true); } private void GridViewColumnHeaderCheckBox_OnClick(object sender, RoutedEventArgs e) { var viewModel = (IHardwareListViewModel)DataContext; var columnTag = (sender as GridViewColumnHeaderSelectable)?.Tag ?? Utils.FindChild((DependencyObject)e.OriginalSource, null)?.Tag; viewModel?.Sort(columnTag, true); } private void Included_Click(object sender, RoutedEventArgs e) { if (!(DataContext is HardwareListViewModel vm)) { return; } if (!(sender is Control control)) { return; } if (!(control.DataContext is IHardware hardware)) { return; } if (vm.ShowCompact) { vm.IncludeChildren(hardware); } } private void ChainSampleRateMixed_Clicked(object sender, RoutedEventArgs e) { if (!(DataContext is HardwareListViewModel vm)) { return; } if (!(sender is Control control)) { return; } if (!(control.DataContext is IHardware hardware)) { return; } vm.RemoveMultipleButton(hardware); } } }