Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
VerifyJobInputData.xaml 10.4 KiB
Newer Older
<UserControl
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	xmlns:viewModel="clr-namespace:HashingTool.ViewModel"
	xmlns:views="clr-namespace:HashingTool.Views"
	xmlns:helper="clr-namespace:HashingTool.Helper"
	x:Class="HashingTool.Views.VerifyJobInputData"
	mc:Ignorable="d"
	d:DesignHeight="657" d:DesignWidth="534">
	<UserControl.Resources>
		<helper:CollectionConverter x:Key="CollectionConverter" />
	</UserControl.Resources>
	<UserControl.DataContext>
		<viewModel:VerifyJobInputDataViewModel />
	</UserControl.DataContext>
		<Label DockPanel.Dock="Top" Name="lblHeader" HorizontalAlignment="Center" Margin="0" VerticalAlignment="Top"
				Content="{Binding Name}" FontWeight="Bold" FontSize="18" />
		<Button DockPanel.Dock="Bottom" Name="btnBack" Content="Back" Command="{Binding ShowHomeViewCommand}"
				Margin="0,10,10,5"
				HorizontalAlignment="Right"
				Width="75" Height="22" VerticalAlignment="Bottom" />
		<ScrollViewer VerticalScrollBarVisibility="Auto">
				<Label x:Name="lblFileSelect" DockPanel.Dock="Top" Content="Job data:" HorizontalAlignment="Left" Margin="10,0,0,0"
						VerticalAlignment="Top" />
				<views:VectoXMLFileSelector Margin="10,0,10,0" DockPanel.Dock="Top" VerticalAlignment="Top"
											XMLFile="{Binding JobFile}"
											Height="80" />
				<Grid DockPanel.Dock="Top"  Margin="10,10,0,10">
					<Grid.ColumnDefinitions>
						<ColumnDefinition Width="Auto"/>
						<ColumnDefinition Width="Auto"  />
						<ColumnDefinition Width="*" />
						<ColumnDefinition Width="Auto"  />
						<ColumnDefinition Width="Auto" MinWidth="100" />
					</Grid.ColumnDefinitions>
					<Grid.RowDefinitions>
						<RowDefinition />
						<RowDefinition />
					</Grid.RowDefinitions>
					<Label Grid.Row="0" Grid.Column="0" Content="Vehicle" FontWeight="Bold" Margin="0,0,10,0" />
					<Label Grid.Row="0" Grid.Column="1" Content="VIN:" />
					<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding VehicleIdentificationNumber, Mode=OneWay}"
							Margin="10,2" IsReadOnly="True" />

					<Label Grid.Row="0" Grid.Column="3" Content="Date:" />
					<TextBox Grid.Row="0" Grid.Column="4"
							Text="{helper:CultureAwareBinding Path=JobCreationDate, Mode=OneWay, StringFormat='g'}"
							Margin="10,2" IsReadOnly="True" />
				</Grid>

				<Grid DockPanel.Dock="Top" Margin="0,0,0,0">
					<Grid.RowDefinitions>
						<RowDefinition Height="*" />
						<RowDefinition Height="Auto" />
						<RowDefinition Height="Auto" />
						<RowDefinition Height="Auto" />
						<RowDefinition Height="Auto" />
					</Grid.RowDefinitions>
					<Grid.ColumnDefinitions>
						<ColumnDefinition Width="Auto" />
						<ColumnDefinition Width="*" />
					</Grid.ColumnDefinitions>

					<Label Grid.Row="1" Grid.Column="0" Content="Canonicalization methods:" />
					<TextBox Grid.Row="1" Grid.Column="1"
							Text="{Binding CanonicalizationMethods , Converter={StaticResource CollectionConverter}, Mode=OneWay}"
							Margin="10,2" IsReadOnly="True" />
					<Label Grid.Row="2" Grid.Column="0" Content="Digest method:" />
					<TextBox Grid.Row="2" Grid.Column="1"
							Text="{Binding DigestMethod, Mode=OneWay}"
							Margin="10,2" IsReadOnly="True" />

					<Label Grid.Row="3" Grid.Column="0" Content="Digest Value computed:"
							Style="{StaticResource DigestValueLabelStyle}" />
					<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding DigestValueComputed}" Margin="10,2"
							IsReadOnly="True" Style="{StaticResource DigestValueTextboxStyle}" />
					<ContentControl Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="0,10,0,0"
									VerticalAlignment="Top" Width="50" Height="50">
						<ContentControl.LayoutTransform>
							<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
						</ContentControl.LayoutTransform>
						<ContentControl.Style>
							<Style TargetType="ContentControl">
								<Setter Property="Content" Value="" />
								<Setter Property="ToolTip" Value="" />
								<Style.Triggers>
									<DataTrigger Binding="{Binding JobDataValid}" Value="True">
										<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
										<Setter Property="ToolTip" Value="Component data validates against schema" />
									</DataTrigger>
									<DataTrigger Binding="{Binding JobDataValid}" Value="False">
										<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
										<Setter Property="ToolTip" Value="Component data does NOT validat against schema" />
									</DataTrigger>
								</Style.Triggers>
							</Style>
						</ContentControl.Style>
					</ContentControl>


					<ScrollViewer Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" VerticalScrollBarVisibility="Auto"
								Background="{x:Static SystemColors.ControlLightBrush}"
								Margin="10,0,10,10">
						<ItemsControl Margin="3" x:Name="ComponentListing" ItemsSource="{Binding Components}" MinHeight="300">
							<ItemsControl.ItemContainerStyle>
								<Style>
									<Setter Property="FrameworkElement.Margin" Value="0,2" />
								</Style>
							</ItemsControl.ItemContainerStyle>
							<ItemsControl.ItemTemplate>
								<DataTemplate>
									<Border BorderBrush="White" BorderThickness="1" CornerRadius="2">
										<Expander Margin="4" Header="{Binding}" Style="{DynamicResource HeaderStretchExpanderStyle}">
											<Expander.HeaderTemplate>
												<DataTemplate>
													<DockPanel HorizontalAlignment="Stretch">
														<ContentControl DockPanel.Dock="Right" Width="35" Height="35" Margin="0,0,10,0">
															<ContentControl.LayoutTransform>
																<ScaleTransform ScaleX=".4" ScaleY=".4" />
															</ContentControl.LayoutTransform>
															<ContentControl.Style>
																<Style TargetType="ContentControl">
																	<Setter Property="Content" Value="" />
																	<Style.Triggers>
																		<DataTrigger Binding="{Binding Valid}" Value="True">
																			<Setter Property="ContentTemplate" Value="{StaticResource Icon_OK}" />
																		</DataTrigger>
																		<DataTrigger Binding="{Binding Valid}" Value="False">
																			<Setter Property="ContentTemplate" Value="{StaticResource Icon_NOK}" />
																		</DataTrigger>
																	</Style.Triggers>
																</Style>
															</ContentControl.Style>
														</ContentControl>
														<TextBlock DockPanel.Dock="Left" Text="{Binding Component}" Margin="4,0" FontSize="16" FontWeight="Bold" />
													</DockPanel>
												</DataTemplate>
											</Expander.HeaderTemplate>
											<Expander.Content>
												<Grid Margin="0,5,0,0">
													<Grid.RowDefinitions>
														<RowDefinition />
														<RowDefinition />
														<RowDefinition />
														<RowDefinition />
														<RowDefinition />
													</Grid.RowDefinitions>
													<Grid.ColumnDefinitions>
														<ColumnDefinition Width="Auto" />
														<ColumnDefinition Width="*" />
														<ColumnDefinition Width="Auto" />
														<ColumnDefinition Width="Auto" />
													</Grid.ColumnDefinitions>

													<Label Grid.Row="0" Grid.Column="0" Content="Certification Number:" />
													<TextBox Grid.Row="0" Grid.Column="1"
															Text="{Binding CertificationNumber}"
															Margin="10,2" IsReadOnly="True" />
													<Label Grid.Row="0" Grid.Column="2" Content="Date:" />
													<TextBox Grid.Row="0" Grid.Column="3"
															Text="{helper:CultureAwareBinding Path=CertificationDate, StringFormat='g'}"
															Margin="10,2" IsReadOnly="True" />

													<Label Grid.Row="1" Grid.Column="0"  Content="Canonicalization methods:" />
													<TextBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3"
															Text="{Binding CanonicalizationMethod , Converter={StaticResource CollectionConverter}}"
															Margin="10,2" IsReadOnly="True" />

													<Label Grid.Row="2" Grid.Column="0"  Content="Digest method:" />
													<TextBox Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Text="{Binding DigestMethod}"
															Margin="10,2" IsReadOnly="True" />

													<Label Grid.Row="3" Grid.Column="0"  Content="Digest Value read:"
															Style="{StaticResource DigestValueLabelStyle}" />
													<TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3" Text="{Binding DigestValueRead}"
															Margin="10,2" IsReadOnly="True">
														<TextBox.Style>
															<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
																<Style.Triggers>
																	<DataTrigger Binding="{Binding Valid}" Value="True">
																		<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
																	</DataTrigger>
																	<DataTrigger Binding="{Binding Valid}" Value="False">
																		<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
																	</DataTrigger>
																</Style.Triggers>
															</Style>
														</TextBox.Style>
													</TextBox>

													<Label Grid.Row="4" Grid.Column="0" Content="Digest Value computed:"
															Style="{StaticResource DigestValueLabelStyle}" />
													<TextBox Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3" Text="{Binding DigestValueComputed}"
															Margin="10,2" IsReadOnly="True">
														<TextBox.Style>
															<Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}">
																<Style.Triggers>
																	<DataTrigger Binding="{Binding Valid}" Value="True">
																		<Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" />
																	</DataTrigger>
																	<DataTrigger Binding="{Binding Valid}" Value="False">
																		<Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" />
																	</DataTrigger>
																</Style.Triggers>
															</Style>
														</TextBox.Style>
													</TextBox>

												</Grid>

											</Expander.Content>
										</Expander>
									</Border>
								</DataTemplate>
							</ItemsControl.ItemTemplate>
						</ItemsControl>
					</ScrollViewer>

				</Grid>
			</DockPanel>
		</ScrollViewer>