Files

212 lines
16 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
<base:BaseView x:Class="TTSImport.EditFileView"
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:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:strings="clr-namespace:TTSImport"
xmlns:converters="clr-namespace:DTS.Common.Converters;assembly=DTS.Common"
xmlns:controls="clr-namespace:DTS.Common.Controls;assembly=DTS.Common"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1100">
<base:BaseView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/brushes.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}"/>
<converters:BooleanToBorderThicknessConverter x:Key="BooleanToBorderThickness" />
<converters:BooleanToColorConverter x:Key="BooleanToColor" />
<converters:BooleanToColorConverter x:Key="BooleanToWarningColor" WarningBrush="True" />
</ResourceDictionary>
</base:BaseView.Resources>
<Grid Background="{DynamicResource Brush_ApplicationContentBackground}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Button Content="{strings:TranslateExtension SaveFile}" IsEnabled="{Binding SaveFileEnabled}" AutomationProperties.AutomationId="SaveFileButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding SaveFileClicked}" AutomationProperties.AutomationId="SaveFileClickedCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<TextBlock Text="{strings:TranslateExtension TestName}" AutomationProperties.AutomationId="TestNameTextBlock" />
<TextBox Text="{Binding TestName, UpdateSourceTrigger=PropertyChanged, FallbackValue=NO_LABEL}" Width="500"
BorderBrush="{Binding IsTestNameValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding IsTestNameValid, Converter={StaticResource BooleanToBorderThickness}}" AutomationProperties.AutomationId="TestNameTextBox" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding TestNameLostFocus}" CommandParameter="{Binding TestName}" AutomationProperties.AutomationId="TestNameLostFocusCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right">
<TextBlock Text="{strings:TranslateExtension Search}" AutomationProperties.AutomationId="SearchTextBlock" Margin="3,0" VerticalAlignment="Center"/>
<TextBox Text="{Binding Search}" AutomationProperties.AutomationId="SearchTextBox" Width="200" TextChanged="TextBox_TextChanged"/>
</StackPanel>
</Grid>
<TextBlock Text="{Binding NumChannelsAndSensors, FallbackValue=NO_LABEL}" HorizontalAlignment="Left" AutomationProperties.AutomationId="NumChannelAndSensorsTextBlock" />
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ListView Grid.Row="0" Grid.Column="0" ScrollViewer.VerticalScrollBarVisibility="Auto"
ItemsSource="{Binding RequiredChannels}" SelectedItem="{Binding SelectedRequiredChannel}" AutomationProperties.AutomationId="RequiredChannelsListView" >
<ListView.View>
<controls:AutoSizedGridView>
<GridViewColumn Header="{strings:TranslateExtension CH}" Width="50" DisplayMemberBinding="{Binding ChannelNumber}" AutomationProperties.AutomationId="ChannelNumber" />
<GridViewColumn Header="{strings:TranslateExtension Code}" AutomationProperties.AutomationId="ChannelCode" >
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding ChannelCode, UpdateSourceTrigger=PropertyChanged}" MinWidth="180" AutomationProperties.AutomationId="ChannelCodeTextBox"
BorderBrush="{Binding IsChannelCodeValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding IsChannelCodeValid, Converter={StaticResource BooleanToBorderThickness}}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding ControlLostFocus}" CommandParameter="{Binding ChannelCode}" AutomationProperties.AutomationId="ChannelCodeLostFocusCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{strings:TranslateExtension JHyphenCode}" AutomationProperties.AutomationId="JCode" >
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding JCodeOrDescription, UpdateSourceTrigger=PropertyChanged}" MinWidth="180"
BorderBrush="{Binding IsJCodeValid, Converter={StaticResource BooleanToWarningColor}}"
BorderThickness="{Binding IsJCodeValid, Converter={StaticResource BooleanToBorderThickness}}" AutomationProperties.AutomationId="JCodeTextBox" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding ControlLostFocus}" CommandParameter="{Binding JCodeOrDescription}" AutomationProperties.AutomationId="JCodeOrDescriptionLostFocusCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{strings:TranslateExtension Range}" AutomationProperties.AutomationId="Range" >
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding ChannelRangeString}" MinWidth="120" Visibility="{Binding RangeVisible}"
BorderBrush="{Binding IsRangeValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding IsRangeValid, Converter={StaticResource BooleanToBorderThickness}}" AutomationProperties.AutomationId="RangeTextBox" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding ControlLostFocus}" CommandParameter="{Binding ChannelRangeString}" AutomationProperties.AutomationId="RangeControlLostFocusCommand"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{strings:TranslateExtension Filter}" AutomationProperties.AutomationId="Filter" >
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{Binding Filters}" MinWidth="70"
SelectedItem="{Binding FilterString, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding FilterVisible}"
BorderBrush="{Binding IsFilterValid, Converter={StaticResource BooleanToColor}}"
BorderThickness="{Binding IsFilterValid, Converter={StaticResource BooleanToBorderThickness}}"
AutomationProperties.AutomationId="FilterComboBox">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding FilterSelectionChanged}"
CommandParameter="{Binding FilterString}" AutomationProperties.AutomationId="FilterSelectionChangedCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{strings:TranslateExtension SensorSN}">
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock MinWidth="170" Text="{Binding SensorSerialNumber}" AutomationProperties.AutomationId="SensorSerialNumber"/>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</controls:AutoSizedGridView>
</ListView.View>
</ListView>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" Grid.Row="0" Grid.Column="1">
<Button Content="{strings:TranslateExtension EditFile_Replace}" IsEnabled="{Binding ReplaceEnabled}" Width="85" AutomationProperties.AutomationId="ReplaceButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding ReplaceCommand}" AutomationProperties.AutomationId="ReplaceCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button Content="{strings:TranslateExtension EditFile_AddCode}" IsEnabled="{Binding AddCodeEnabled}" Width="85" AutomationProperties.AutomationId="AddCodeButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding AddCodeCommand}" AutomationProperties.AutomationId="AddCodeCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button Content="{strings:TranslateExtension EditFile_DeleteCode}" IsEnabled="{Binding DeleteCodeEnabled}" Width="85" AutomationProperties.AutomationId="DeleteCodeButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding DeleteCodeCommand}" AutomationProperties.AutomationId="DeleteCodeCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button Content="{strings:TranslateExtension EditFile_AddSquib}" Width="85" AutomationProperties.AutomationId="AddSquibButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding AddSquibCommand}" AutomationProperties.AutomationId="AddSquibCommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button Content="{strings:TranslateExtension EditFile_ADDDI}" Width="85" AutomationProperties.AutomationId="ADDDIButton" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding ADDDICommand}" AutomationProperties.AutomationId="ADDDICommand" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
<ListView Grid.Row="0" Grid.Column="2"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ItemsSource="{Binding SystemSensors}"
SelectedItem="{Binding SelectedSystemSensor}" AutomationProperties.AutomationId="SystemSensorsListView" >
<ListView.View>
<GridView>
<GridViewColumn Header="{strings:TranslateExtension SensorSN}" Width="200">
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding SensorSerialNumber}" AutomationProperties.AutomationId="SysSensorSerialNumber" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Grid>
</base:BaseView>