This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,255 @@
<base:BaseView x:Class="HardwareList.HardwareListSelectView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
xmlns:converters="clr-namespace:DTS.Common.Converters;assembly=DTS.Common"
xmlns:converters2="clr-namespace:HardwareList.Converters"
xmlns:controls="clr-namespace:DTS.Common.Controls;assembly=DTS.Common"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:strings="clr-namespace:HardwareList"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:common="clr-namespace:DTS.Common.Behaviors;assembly=DTS.Common"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1366"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"
xmlns:controls2="clr-namespace:DTS.Common.Controls;assembly=DTS.Common">
<base:BaseView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Controls/combobox.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="ListView">
<Setter Property="ItemContainerStyle" Value="{StaticResource TTS_ListViewItemStyle}"/>
</Style>
<Style TargetType="TextBox" BasedOn="{StaticResource TTS_TextBoxStyle}"/>
<Style TargetType="TextBlock" BasedOn="{StaticResource TTS_TextBlockStyle}"/>
<Style TargetType="CheckBox" BasedOn="{StaticResource PageContentCheckBoxStyle}" />
<Style TargetType="ComboBox" BasedOn="{StaticResource TTS_ComboBoxStyle}"/>
<Style TargetType="Button" BasedOn="{StaticResource TTS_ButtonStyle}"/>
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource Gray_GridViewColumnHeaderStyle}"/>
<Style TargetType="RadioButton" BasedOn="{StaticResource FlatRadioButtonStyle}" >
<Setter Property="Height" Value="24" />
<Setter Property="Margin" Value="5" />
</Style>
<Style TargetType="{x:Type c1:C1NumericBox}"> <!-- Based on DataPRO CommonStyles -->
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Background" Value="{StaticResource Brush_FlatControlWindowBackground}" />
<Setter Property="CornerRadius" Value="0"/>
<Setter Property="MinWidth" Value="50"/>
<Setter Property="Height" Value="24" />
<Setter Property="ButtonBackground" Value="Transparent"/>
<Setter Property="Value" Value="{Binding Value, FallbackValue=1234}"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="Margin" Value="5"/>
<!--<Setter Property="MouseOverBrush" Value="{StaticResource Brush_FlatControlMouseOverBackground}"/>-->
<Setter Property="ToolTipService.ToolTip" Value="" />
<Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
<!--<EventSetter Event="ToolTipOpening" Handler="ToolTipEventHandler" />-->
<!--<Setter Property="Width" Value="30"/>-->
<Setter Property="HorizontalAlignment" Value="Left"/>
<!--<Setter Property="Margin" Value="5,2,5,2"/>-->
</Style>
<converters:BooleanToVisibilityConverter x:Key="BoolToVisibility" />
<converters:BooleanAndToVisibilityMultiConverter x:Key="BoolAndToVisibilityMulti" />
<converters:IsLessThanConverter x:Key="IsLessThanConverter" />
<converters:InverseBooleanConverter x:Key="BoolToInverse" />
<converters2:FirstUseDateConverter x:Key="FirstUseConverter" />
<converters2:StandInFieldConverter x:Key="StandInConverter" />
<converters:DSPStreamingFilterFrequencyConverter x:Key="dspConverter" />
</ResourceDictionary>
</base:BaseView.Resources>
<Grid Background="{DynamicResource Brush_ApplicationContentBackground}" x:Name="maingrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<RadioButton Content="{strings:TranslateExtension Compact}" GroupName="Buttons" IsChecked="{Binding ShowCompact}" AutomationProperties.AutomationId="HardwareListCompactRadioButton"/>
<RadioButton Content="{strings:TranslateExtension ShowModules}" GroupName="Buttons" IsChecked="{Binding ShowCompact, Converter={StaticResource BoolToInverse}}" AutomationProperties.AutomationId="HardwareListExpandedRadioButton"/>
</StackPanel>
<ListView Grid.Row="1" ItemsSource="{Binding Hardware, UpdateSourceTrigger=PropertyChanged}" AutomationProperties.AutomationId="HardwareListView" SelectedIndex="{Binding SelectedHardwareIndex, Mode=TwoWay}" GridViewColumnHeader.Click="GridViewColumnHeader_OnClick"
x:Name="LvHardware">
<i:Interaction.Behaviors>
<common:MultiSelectionBehavior SelectedItems="{Binding SelectedHardwareItems}" />
</i:Interaction.Behaviors>
<ListView.View>
<controls:AutoSizedGridView AutomationProperties.AutomationId="HardwareListGridView">
<!-- column 0 -->
<GridViewColumn AutomationProperties.AutomationId="Included">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="Included" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox IsChecked="{Binding Included}" AutomationProperties.AutomationId="IncludeChkBx" Click="Included_Click"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- column 1-->
<GridViewColumn AutomationProperties.AutomationId="SerialNumber">
<controls2:GridViewColumnHeaderSearchable Tag="SerialNumber" HeaderTitle="{strings:TranslateExtension SerialNumber}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding SerialNumberDisplay,FallbackValue='SerialNumber'}" AutomationProperties.AutomationId="SerailNumLbl"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="IPAddress">
<controls2:GridViewColumnHeaderSearchable Tag="IPAddress" HeaderTitle="{strings:TranslateExtension IPAddress}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding IPAddress,FallbackValue='IPAddress'}" AutomationProperties.AutomationId="IPAddressLbl">
</TextBlock>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="HardwareType">
<controls2:GridViewColumnHeaderSearchable Tag="HardwareType" HeaderTitle="{strings:TranslateExtension HardwareType}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding HardwareType,FallbackValue='HardwareType'}" AutomationProperties.AutomationId="HardwareTypeLbl">
</TextBlock>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ChannelCount">
<controls2:GridViewColumnHeaderSearchable Tag="ChannelCount" HeaderTitle="{strings:TranslateExtension ChannelCount}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding ChannelCount,FallbackValue='ChannelCount'}" AutomationProperties.AutomationId="ChannelCountLbl">
</TextBlock>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="Firmware">
<controls2:GridViewColumnHeaderSearchable Tag="Firmware" HeaderTitle="{strings:TranslateExtension Firmware}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding Path=DataContext,RelativeSource={RelativeSource Self}, StringFormat='d',Converter={StaticResource StandInConverter}, ConverterParameter='Firmware'}"
AutomationProperties.AutomationId="FirmwareLbl"/>
<!--<TextBlock Text="{Binding Firmware,FallbackValue='Firmware'}" AutomationProperties.AutomationId="FirmwareLbl">
</TextBlock>-->
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="MaxSampleRate">
<controls2:GridViewColumnHeaderSearchable Tag="MaxSampleRate" HeaderTitle="{strings:TranslateExtension MaxSampleRate}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding MaxSampleRate,FallbackValue='MaxSampleRate',StringFormat='N0', TargetNullValue='---'}" AutomationProperties.AutomationId="SampleRateLbl">
</TextBlock>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="TestSampleRate" Width="{Binding TestSampleRateColumnWidth}">
<controls2:GridViewColumnHeaderSearchable Tag="TestSampleRate" HeaderTitle="{strings:TranslateExtension TestSampleRate}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel>
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource BoolAndToVisibilityMulti}" ConverterParameter="HIDE">
<Binding Path="Included" />
<Binding Path="StreamInChannels" Converter="{StaticResource IsLessThanConverter}" ConverterParameter="1" />
</MultiBinding>
</StackPanel.Visibility>
<ComboBox ItemsSource="{Binding AvailableSampleRates}" SelectedIndex="{Binding SelectedSampleRateIndex}" SelectedItem ="{Binding SelectedSampleRateItem}" AutomationProperties.AutomationId="TestSampleRateLbl"
Visibility="{Binding IncludedAndNotMixedRatesAndCompactOrNotDistributor, Converter={StaticResource BoolToVisibility}}"/>
<Button Content="{strings:TranslateExtension ChainMultipleTestSampleRates}" AutomationProperties.AutomationId="ChainSampleRateMixedButton" Click="ChainSampleRateMixed_Clicked"
Visibility="{Binding IncludedAndMixedRatesAndCompact, Converter={StaticResource BoolToVisibility}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="TestAAFRateHz" Width="{Binding TestAAFRateHzColumnWidth}">
<controls2:GridViewColumnHeaderSearchable Tag="TestAAFRateHz" HeaderTitle="{strings:TranslateExtension TestAAFRateHz}" ClickHandler="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding TestAAFilterRateHz, FallbackValue='AAFilterRateHz',StringFormat='N0'}" MinWidth="100"
Visibility="{Binding Included, Converter={StaticResource BoolToVisibility}}"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="TestClockMaster" Width="{Binding TestClockMasterColumnWidth}">
<controls2:GridViewColumnHeaderSelectable Tag="TestClockMaster" HeaderTitle="{strings:TranslateExtension IsHWClockMaster}" ClickHandler="GridViewColumnHeaderCheckBox_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox IsChecked="{Binding IsClockMaster}">
<CheckBox.Visibility>
<MultiBinding Converter="{StaticResource BoolAndToVisibilityMulti}" ConverterParameter="HIDE">
<Binding Path="Included" />
<Binding Path="IsClockedDAS" />
</MultiBinding>
</CheckBox.Visibility>
</CheckBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="PTPDomain" Width="{Binding PTPDomainColumnWidth}">
<controls2:GridViewColumnHeaderSelectable Tag="PTPDomain" HeaderTitle="{strings:TranslateExtension PTPDomain}" ListviewId="{Binding ListViewId}" />
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<c1:C1NumericBox Value="{Binding PTPDomainID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" x:Name="nbPTPDomainID" Increment="1" Minimum="0" Maximum="255" >
<c1:C1NumericBox.Visibility>
<MultiBinding Converter="{StaticResource BoolAndToVisibilityMulti}" ConverterParameter="HIDE">
<Binding Path="Included" />
<Binding Path="IsClockedDAS" />
<Binding Path="IsPTPSync" />
</MultiBinding>
</c1:C1NumericBox.Visibility>
</c1:C1NumericBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- DSP streaming filter -->
<GridViewColumn AutomationProperties.AutomationId="DSPStreamingFilterColumn" x:Name="DSPStreamingColumn">
<controls2:GridViewColumnHeaderSearchable Tag="DSPStreamingFilter" HeaderTitle="{strings:TranslateExtension DSPStreamingFilterColumnHeader}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding DSPStreamingFilter,Converter={StaticResource dspConverter}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CalDate" x:Name="CalDateColumn">
<controls2:GridViewColumnHeaderSearchable Tag="CalDate" HeaderTitle="{strings:TranslateExtension CalDate}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding Path=DataContext,RelativeSource={RelativeSource Self}, StringFormat='d',Converter={StaticResource StandInConverter}, ConverterParameter='CalDate'}"
AutomationProperties.AutomationId="CalDateLbl"/>
<!--<TextBlock Text="{Binding CalDate,FallbackValue='CalDate', StringFormat='d'}" AutomationProperties.AutomationId="CalDateLbl">
</TextBlock>-->
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="FirstUseDate">
<GridViewColumn.Header>
<GridViewColumnHeader Tag="FirstUseDate" Content="{strings:TranslateExtension FirstUseDate}" Click="ListViewHeader_Click" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding Path=DataContext,RelativeSource={RelativeSource Self}, StringFormat='d',Converter={StaticResource FirstUseConverter}}"
AutomationProperties.AutomationId="FirstUseDateLbl"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CalDueDate">
<controls2:GridViewColumnHeaderSearchable Tag="CalDueDate" HeaderTitle="{strings:TranslateExtension CalDueDate}" Search="GridViewColumnHeaderSearchable_OnSearch" ClickHandler="GridViewColumnHeader_OnClick" ListviewId="{Binding ListViewId}"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding Path=DataContext,RelativeSource={RelativeSource Self}, StringFormat='d',Converter={StaticResource StandInConverter}, ConverterParameter='CalDueDate'}"
AutomationProperties.AutomationId="CalDueDateLbl">
<!--<TextBlock Text="{Binding CalDueDate,FallbackValue='CalDueDate',StringFormat='d'}" AutomationProperties.AutomationId="CalDueDateLbl">-->
</TextBlock>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</controls:AutoSizedGridView>
</ListView.View>
</ListView>
</Grid>
</base:BaseView>