Files

294 lines
23 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
<base:BaseView x:Class="AddEditHardware.AddEditHardwareView"
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:strings="clr-namespace:AddEditHardware"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vm="clr-namespace:AddEditHardware"
xmlns:converters="clr-namespace:DTS.Common.Converters;assembly=DTS.Common"
mc:Ignorable="d"
xmlns:enums="clr-namespace:DTS.Common.Enums.Hardware;assembly=DTS.Common"
d:DesignHeight="768" d:DesignWidth="1366" x:Name="ctrlView">
<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}"/>
<converters:BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
<converters:InverseBooleanConverter x:Key="InverseBoolConverter" />
<converters:InverseBooleanToVisibilityConverter x:Key="InverseBoolVisConverter" />
<converters:EnumVisibilityConverter x:Key="EnumVisibilityConverter" />
</ResourceDictionary>
</base:BaseView.Resources>
<base:BaseView.DataContext>
<vm:AddEditHardwareViewModel />
</base:BaseView.DataContext>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
Background="{DynamicResource Brush_ApplicationContentBackground}" DataContext="{Binding Hardware, Mode=OneWay}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0" AutomationProperties.AutomationId="MainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="200"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!--0 DAS TYPE-->
<RowDefinition Height="Auto" />
<!--1 Dummy Hardware -->
<RowDefinition Height="Auto" />
<!--2 IP Address-->
<RowDefinition Height="Auto" />
<!--3 Serial Number-->
<RowDefinition Height="Auto" />
<!--4 Firmware-->
<RowDefinition Height="Auto" />
<!--5 Racksize-->
<RowDefinition Height="Auto" />
<!--6 Configuration-->
<RowDefinition Height="Auto" />
<!--7 SLICE6 TreeView -->
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- das type-->
<TextBlock Grid.Row="0" Text="{strings:TranslateExtension DAS_Type}" />
<ComboBox Grid.Row="0" Grid.Column="1" HorizontalAlignment="Stretch" MinWidth="300" MaxWidth="300"
SelectedItem="{Binding HardwareType}"
x:Name="cbHardwareTypes" SelectionChanged="cb_SelectionChanged" AutomationProperties.AutomationId="ddlDASType"
IsEnabled="{Binding IsAdd}"/>
<!-- dummy hardware -->
<TextBlock Grid.Row="1" Text="{strings:TranslateExtension DummyHardware}"
Visibility="{Binding ElementName=ctrlView, Path=AllowStandin,Converter={StaticResource BoolToVisConverter}}"/>
<CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding StandIn}" Checked="cb_Checked" Unchecked="cb_Unchecked" AutomationProperties.AutomationId="StandInHardwareCheckBox"
IsEnabled="{Binding IsAdd}"
Visibility="{Binding ElementName=ctrlView, Path=AllowStandin,Converter={StaticResource BoolToVisConverter}}"/>
<!-- ip address -->
<TextBlock Grid.Row="2" Text="{strings:TranslateExtension IPAddress}" Visibility="{Binding SupportsIPAddress, Converter={StaticResource BoolToVisConverter}}"/>
<TextBox Grid.Row="2" Grid.Column="1" MinWidth="300" MaxWidth="300" MaxLength="50" Visibility="{Binding SupportsIPAddress, Converter={StaticResource BoolToVisConverter}}"
TextChanged="tb_TextChanged" Text="{Binding IPAddress}" AutomationProperties.AutomationId="tbIPAddress"/>
<!-- serial number -->
<TextBlock Grid.Row="3" Text="{strings:TranslateExtension SerialNumber}" Visibility="{Binding StandIn, Converter={StaticResource InverseBoolVisConverter}}"/>
<TextBox Grid.Row="3" Grid.Column="1" MinWidth="300" MaxWidth="300" MaxLength="50" Visibility="{Binding StandIn, Converter={StaticResource InverseBoolVisConverter}}"
Text="{Binding SerialNumber}" TextChanged="tb_TextChanged" AutomationProperties.AutomationId="tbSerialNumber"
IsEnabled="{Binding IsAdd}"/>
<!-- firmware -->
<TextBlock Grid.Row="4" Text="{strings:TranslateExtension Firmware}" Visibility="{Binding StandIn, Converter={StaticResource InverseBoolVisConverter}}"/>
<TextBox Grid.Row="4" Text="{Binding FirmwareVersion}" Grid.Column="1" MinWidth="300" MaxWidth="300" MaxLength="50" Visibility="{Binding StandIn, Converter={StaticResource InverseBoolVisConverter}}"
TextChanged="tb_TextChanged" AutomationProperties.AutomationId="tbFirmware"/>
<!-- rack size -->
<TextBlock Grid.Row="5" Text="{strings:TranslateExtension RackSize}" Visibility="{Binding SupportsRackSize, Converter={StaticResource BoolToVisConverter}}" />
<ComboBox Grid.Row="5" Grid.Column="1" MinWidth="300" MaxWidth="300" Visibility="{Binding SupportsRackSize, Converter={StaticResource BoolToVisConverter}}"
SelectedItem="{Binding RackSize}" x:Name="cbRackSize" SelectionChanged="cb_SelectionChanged" AutomationProperties.AutomationId="CboBxRackSize"/>
<!-- configuration -->
<TextBlock Grid.Row="6" Grid.Column="0" Text="{strings:TranslateExtension Configuration}" Visibility="{Binding SupportsConfiguration, Converter={StaticResource BoolToVisConverter}}" />
<ComboBox Grid.Row="6" Grid.Column="1" Visibility="{Binding SupportsSLICEPROSIMConfiguration, Converter={StaticResource BoolToVisConverter}}" x:Name="cbSliceProSimConfigurations"
SelectedItem="{Binding SLICEPROSIMConfiguration}" MinWidth="300" MaxWidth="300" SelectionChanged="cb_SelectionChanged" AutomationProperties.AutomationId="ConfigurationCboBx"/>
<ComboBox Grid.Row="6" Grid.Column="1" Visibility="{Binding SupportsSLICETCConfiguration, Converter={StaticResource BoolToVisConverter}}" x:Name="cbSliceTCConfigurations"
SelectedItem="{Binding SLICETCConfiguration}" MinWidth="300" MaxWidth="300" SelectionChanged="cb_SelectionChanged" AutomationProperties.AutomationId="ConfigurationCboBx"/>
<!-- SLICE6TreeView -->
<ContentControl Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" x:Name="SLICE6TreeView" Visibility="{Binding ShowTreeView, Converter={StaticResource BoolToVisConverter}}"/>
</Grid>
<Grid Grid.Row="0" Grid.Column="1"
Width="150" Height="150" Margin="10,2,5,2"
VerticalAlignment="Top" HorizontalAlignment="Left">
<Image Stretch="Uniform" Source="{Binding DASImage}" />
</Grid>
<!-- MICRO BASE -->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Vertical" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.SLICE_Micro_Base}}" AutomationProperties.AutomationId="SLICEMicroBasePanel">
<Button Content="{strings:TranslateExtension Add}" Visibility="{Binding RackFull, Converter={StaticResource InverseBoolVisConverter}}" HorizontalAlignment="Left"
Click="btnAdd_Click" AutomationProperties.AutomationId="AddButton"/>
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image HorizontalAlignment="Left" Stretch="Fill" Width="100" Source="{Binding DASImage}" />
<ComboBox SelectedItem="{Binding SLICEBridgeType}" ItemsSource="{Binding AvailableMicroBridges}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="SLICEBridgeTypeComboBox"/>
<Button Content="{strings:TranslateExtension Remove}" Click="btnRemoveModule_Click" AutomationProperties.AutomationId="RemoveButton"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/SLICEBase_Side.png" HorizontalAlignment="Left" Stretch="Fill" Width="100"/>
</StackPanel>
<!-- NANO BASE-->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Vertical" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.SLICE_NANO_Base}}"
AutomationProperties.AutomationId="SLICENanoPanel">
<Button Content="{strings:TranslateExtension Add}" Visibility="{Binding RackFull, Converter={StaticResource InverseBoolVisConverter}}" HorizontalAlignment="Left"
Click="btnAdd_Click" AutomationProperties.AutomationId="ButtonAdd"/>
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image HorizontalAlignment="Left" Stretch="Fill" Width="100" Source="{Binding DASImage}" />
<ComboBox SelectedItem="{Binding SLICEBridgeType}" ItemsSource="{Binding AvailableNanoBridges}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="SLICEBridgeTypeComboBox" />
<Button Content="{strings:TranslateExtension Remove}" Click="btnRemoveModule_Click" AutomationProperties.AutomationId="RemoveButton"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/SLICEBase_Side.png" HorizontalAlignment="Left" Stretch="Fill" Width="100"/>
</StackPanel>
<!-- SLICE 1.5 NANO -->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Vertical" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.SLICE1_5_Nano_Base}}"
AutomationProperties.AutomationId="SLICE15NanoPanel">
<Button Content="{strings:TranslateExtension Add}" Visibility="{Binding RackFull, Converter={StaticResource InverseBoolVisConverter}}" HorizontalAlignment="Left"
Click="btnAdd_Click" AutomationProperties.AutomationId="AddButton" />
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image HorizontalAlignment="Left" Stretch="Fill" Width="100" Source="{Binding DASImage}" />
<ComboBox SelectedItem="{Binding SLICEBridgeType}" ItemsSource="{Binding AvailableNanoBridges}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="SLICEBridgeTypeComboBox"/>
<Button Content="{strings:TranslateExtension Remove}" Click="btnRemoveModule_Click" AutomationProperties.AutomationId="RemoveButton"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/SLICEBasePlus_Side.png" HorizontalAlignment="Left" Stretch="Fill" Width="100"/>
</StackPanel>
<!-- SLICE1.5 MICRO -->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Vertical" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.SLICE1_5_Micro_Base}}">
<Button Content="{strings:TranslateExtension Add}" Visibility="{Binding RackFull, Converter={StaticResource InverseBoolVisConverter}}" HorizontalAlignment="Left"
Click="btnAdd_Click" AutomationProperties.AutomationId="SLICE15MicroPanel" />
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image HorizontalAlignment="Left" Stretch="Fill" Width="100" Source="{Binding DASImage}" />
<ComboBox SelectedItem="{Binding SLICEBridgeType}" ItemsSource="{Binding AvailableMicroBridges}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="SLICEBridgeTypeComboBox"/>
<Button Content="{strings:TranslateExtension Remove}" Click="btnRemoveModule_Click" AutomationProperties.AutomationId="RemoveButton"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/SLICEBasePlus_Side.png" HorizontalAlignment="Left" Stretch="Fill" Width="100"/>
</StackPanel>
<!-- TDAS PRO -->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Horizontal" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.TDAS_Pro_Rack}}"
AutomationProperties.AutomationId="TDASPanel">
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/TDAS_Rack_FrontPlate.png" Height="400" Stretch="Fill" Width="120" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="0,15,0,0" />
<StackPanel Orientation="Horizontal" AutomationProperties.AutomationId="TDASProPanel">
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" VerticalAlignment="Top"
AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" VerticalAlignment="Top">
<ComboBox SelectedItem="{Binding ModuleType}" ItemsSource="{Binding AvailableRACKModules}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="ModuleTypeComboBox"/>
<Image Height="400" Stretch="Fill" Width="110" Source="{Binding DASImage}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</StackPanel>
<!-- LAB RACK -->
<StackPanel Grid.Row="1" Grid.ColumnSpan="3" Grid.Column="0" Orientation="Horizontal" Visibility="{Binding HardwareType, Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static enums:HardwareTypes.TDAS_LabRack}}"
AutomationProperties.AutomationId="LabRackPanel">
<Image Grid.Column="0" Source="/DataPRO;component/Assets/Hardware/LabRackFace.jpg" Height="400" Stretch="Fill" Width="320" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="0,15,0,0"/>
<StackPanel Orientation="Horizontal" AutomationProperties.AutomationId="ModulesPanel">
<ListView ItemsSource="{Binding Modules}" HorizontalAlignment="Left" VerticalAlignment="Top" Padding="0"
AutomationProperties.AutomationId="ModulesListView">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" VerticalAlignment="Top">
<ComboBox SelectedItem="{Binding ModuleType}" ItemsSource="{Binding AvailableRACKModules}" SelectionChanged="cb_SelectionChanged"
AutomationProperties.AutomationId="ModuleTypeComboBox"/>
<Image Height="400" Stretch="Fill" Width="110" Source="{Binding DASImage}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</StackPanel>
</Grid>
</ScrollViewer>
</base:BaseView>