93 lines
3.8 KiB
C#
93 lines
3.8 KiB
C#
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
|
|
{
|
|
/// <inheritdoc cref="IHardwareListSelectView" />
|
|
/// <summary>
|
|
/// Interaction logic for HardwareListSelectView.xaml
|
|
/// </summary>
|
|
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<GridViewColumnHeaderSearchable>((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<GridViewColumnHeaderSelectable>((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);
|
|
}
|
|
}
|
|
}
|