You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

563 lines
32 KiB

<?xml version="1.0" encoding="utf-8"?>
<Window x:Class="Housing.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Housing Assembly HMI"
Width="1200"
Height="800"
MinWidth="840"
MinHeight="560"
WindowStartupLocation="CenterScreen"
WindowState="Maximized"
Background="{StaticResource HmiScreenBackgroundBrush}"
UseLayoutRounding="True"
SnapsToDevicePixels="True">
<Window.Resources>
<Style x:Key="LabelStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource HmiTextBrush}"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Margin" Value="0,0,0,10"/>
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
<Style x:Key="InputBoxStyle" TargetType="TextBox">
<Setter Property="Height" Value="58"/>
<Setter Property="MinWidth" Value="160"/>
<Setter Property="Background" Value="{StaticResource HmiInputBrush}"/>
<Setter Property="Foreground" Value="{StaticResource HmiTextBrush}"/>
<Setter Property="BorderBrush" Value="#3F6178"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FontSize" Value="24"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="CaretBrush" Value="{StaticResource HmiAccentBrush}"/>
<Setter Property="SelectionBrush" Value="{StaticResource HmiAccentBlueBrush}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border x:Name="FieldChrome"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="3"
SnapsToDevicePixels="True">
<Grid>
<Rectangle Height="2"
VerticalAlignment="Top"
Fill="{StaticResource HmiAccentBrush}"
Opacity="0.42"/>
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="FieldChrome" Property="BorderBrush" Value="{StaticResource HmiAccentBrush}"/>
<Setter TargetName="FieldChrome" Property="BorderThickness" Value="2"/>
</Trigger>
<Trigger Property="IsReadOnly" Value="True">
<Setter TargetName="FieldChrome" Property="BorderBrush" Value="#426070"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="FieldChrome" Property="Opacity" Value="0.55"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="OutputBoxStyle" TargetType="TextBox">
<Setter Property="MinHeight" Value="220"/>
<Setter Property="Background" Value="{StaticResource HmiOutputBrush}"/>
<Setter Property="Foreground" Value="#E9FBFF"/>
<Setter Property="BorderBrush" Value="#2A7B93"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="FontSize" Value="42"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="CaretBrush" Value="{StaticResource HmiAccentBrush}"/>
<Setter Property="SelectionBrush" Value="{StaticResource HmiAccentBlueBrush}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="14"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border x:Name="OutputChrome"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="4"
SnapsToDevicePixels="True">
<Grid>
<Rectangle Height="4"
VerticalAlignment="Top"
Fill="{StaticResource HmiAccentBrush}"
Opacity="0.68"/>
<Rectangle Height="1"
VerticalAlignment="Bottom"
Fill="#6FAFC0"
Opacity="0.3"/>
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="OutputChrome" Property="BorderBrush" Value="{StaticResource HmiAccentBrush}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="OutputChrome" Property="Opacity" Value="0.55"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="RangeBoxStyle" TargetType="TextBox">
<Setter Property="Width" Value="76"/>
<Setter Property="Height" Value="34"/>
<Setter Property="Background" Value="{StaticResource HmiInputBrush}"/>
<Setter Property="Foreground" Value="{StaticResource HmiTextBrush}"/>
<Setter Property="BorderBrush" Value="#49687B"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="CaretBrush" Value="{StaticResource HmiAccentBrush}"/>
<Setter Property="SelectionBrush" Value="{StaticResource HmiAccentBlueBrush}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Margin" Value="6,0,0,10"/>
<Setter Property="Padding" Value="4,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border x:Name="RangeChrome"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="2">
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="RangeChrome" Property="BorderBrush" Value="{StaticResource HmiAccentBrush}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="RangeChrome" Property="Opacity" Value="0.55"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="LogoutButtonStyle" TargetType="Button">
<Setter Property="Height" Value="36"/>
<Setter Property="MinWidth" Value="98"/>
<Setter Property="Padding" Value="14,0"/>
<Setter Property="Background" Value="#3A1A1D"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="BorderBrush" Value="{StaticResource HmiDangerBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="ButtonChrome"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="3">
<Grid>
<Rectangle Height="2"
VerticalAlignment="Top"
Fill="#FF8A8A"
Opacity="0.65"/>
<ContentPresenter RecognizesAccessKey="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ButtonChrome" Property="Background" Value="#5A2428"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ButtonChrome" Property="Background" Value="#1C0B0D"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="ButtonChrome" Property="Opacity" Value="0.45"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PanelFrameStyle" TargetType="Border">
<Setter Property="Background" Value="{StaticResource HmiPanelBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource HmiPanelBorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
</Style>
<Style x:Key="FieldPanelStyle" TargetType="Border">
<Setter Property="Background" Value="#111B24"/>
<Setter Property="BorderBrush" Value="#30475A"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="18"/>
</Style>
<Style x:Key="PanelHeaderTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource HmiAccentBrush}"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style x:Key="SmallStatusTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource HmiMutedTextBrush}"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Window.Resources>
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
Background="{StaticResource HmiScreenBackgroundBrush}">
<Grid MinHeight="620" Margin="24">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="18"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="18"/>
<RowDefinition Height="*"/>
<RowDefinition Height="18"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
Style="{StaticResource PanelFrameStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
Background="{StaticResource HmiPanelHeaderBrush}"
BorderBrush="{StaticResource HmiPanelInnerBorderBrush}"
BorderThickness="0,0,0,1"
Padding="22,16">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="HOUSING ASSEMBLY HMI"
Foreground="{StaticResource HmiTextBrush}"
FontSize="30"
FontWeight="Bold"
VerticalAlignment="Center"
TextWrapping="Wrap"/>
<TextBlock Text="Inspection control and sensor monitoring console"
Foreground="{StaticResource HmiMutedTextBrush}"
FontSize="13"
Margin="0,4,0,0"/>
</StackPanel>
<StackPanel Grid.Column="1"
Orientation="Horizontal"
VerticalAlignment="Center"
Margin="18,0,0,0">
<Border Background="#0B161F"
BorderBrush="#2E4658"
BorderThickness="1"
Padding="12,7"
Margin="0,0,10,0">
<StackPanel Orientation="Horizontal">
<Ellipse Width="12" Height="12" Fill="{StaticResource HmiRunBrush}" Stroke="#8AF0C0" StrokeThickness="1" Margin="0,0,8,0"/>
<TextBlock Text="RUN READY" Foreground="{StaticResource HmiRunBrush}" FontSize="13" FontWeight="Bold"/>
</StackPanel>
</Border>
<Border Background="#0B161F"
BorderBrush="#2E4658"
BorderThickness="1"
Padding="12,7">
<StackPanel Orientation="Horizontal">
<TextBlock Text="LOGIN ID"
Foreground="{StaticResource HmiMutedTextBrush}"
FontSize="13"
FontWeight="SemiBold"
Margin="0,0,10,0"
VerticalAlignment="Center"/>
<TextBlock x:Name="OperatorTextBlock"
Text="-"
Foreground="{StaticResource HmiTextBrush}"
FontSize="15"
FontWeight="Bold"
Margin="0,0,14,0"
VerticalAlignment="Center"/>
<Button x:Name="LogoutButton"
Content="LOGOUT"
Style="{StaticResource LogoutButtonStyle}"
Visibility="Collapsed"
Click="LogoutButton_Click"/>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</Border>
<Border Grid.Row="1"
Background="#081019"
Padding="18,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="24"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="24"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal">
<Ellipse Width="10" Height="10" Fill="{StaticResource HmiRunBrush}" Margin="0,0,8,0"/>
<TextBlock Text="PLC LINK" Style="{StaticResource SmallStatusTextStyle}"/>
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<Ellipse Width="10" Height="10" Fill="{StaticResource HmiAccentBrush}" Margin="0,0,8,0"/>
<TextBlock Text="SCAN READY" Style="{StaticResource SmallStatusTextStyle}"/>
</StackPanel>
<StackPanel Grid.Column="4" Orientation="Horizontal">
<Ellipse Width="10" Height="10" Fill="{StaticResource HmiWarningBrush}" Margin="0,0,8,0"/>
<TextBlock Text="DB STANDBY" Style="{StaticResource SmallStatusTextStyle}"/>
</StackPanel>
</Grid>
</Border>
</Grid>
</Border>
<Border Grid.Row="2"
Style="{StaticResource PanelFrameStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
Background="#101E2A"
BorderBrush="#30475A"
BorderThickness="0,0,0,1"
Padding="18,11">
<DockPanel>
<TextBlock Text="SCAN AND TRACEABILITY"
Style="{StaticResource PanelHeaderTextStyle}"/>
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Ellipse Width="10" Height="10" Fill="{StaticResource HmiAccentBrush}" Margin="0,0,8,0"/>
<TextBlock Text="BARCODE INPUT CHANNEL" Style="{StaticResource SmallStatusTextStyle}"/>
</StackPanel>
</DockPanel>
</Border>
<Grid Grid.Row="1" Margin="18">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="18"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource FieldPanelStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="PCB_BARCODE INPUT" Style="{StaticResource LabelStyle}"/>
<TextBox x:Name="BarcodeTextBox"
Grid.Row="1"
Style="{StaticResource InputBoxStyle}"
KeyDown="BarcodeTextBox_KeyDown"
TextChanged="BarcodeTextBox_TextChanged"/>
</Grid>
</Border>
<Border Grid.Column="2" Style="{StaticResource FieldPanelStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="IC_SN OUTPUT" Style="{StaticResource LabelStyle}"/>
<TextBox x:Name="IcSnOutputTextBox"
Grid.Row="1"
Style="{StaticResource InputBoxStyle}"
Background="{StaticResource HmiOutputBrush}"
IsReadOnly="True"/>
</Grid>
</Border>
</Grid>
</Grid>
</Border>
<Border Grid.Row="4"
Style="{StaticResource PanelFrameStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
Background="#101E2A"
BorderBrush="#30475A"
BorderThickness="0,0,0,1"
Padding="18,11">
<DockPanel>
<TextBlock Text="MEASUREMENT MONITORING"
Style="{StaticResource PanelHeaderTextStyle}"/>
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Ellipse Width="10" Height="10" Fill="{StaticResource HmiRunBrush}" Margin="0,0,8,0"/>
<TextBlock Text="VOLTAGE / CURRENT / RESULT" Style="{StaticResource SmallStatusTextStyle}"/>
</StackPanel>
</DockPanel>
</Border>
<Grid Grid.Row="1" Margin="18">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="18"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="18"/>
<ColumnDefinition Width="1.15*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource FieldPanelStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="PT_VOL_1 / V OUTPUT" Style="{StaticResource LabelStyle}"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBox x:Name="VMinTextBox" Style="{StaticResource RangeBoxStyle}"/>
<TextBlock Text="~"
Foreground="{StaticResource HmiMutedTextBrush}"
FontSize="18"
FontWeight="Bold"
Margin="6,0,0,10"
VerticalAlignment="Center"/>
<TextBox x:Name="VMaxTextBox" Style="{StaticResource RangeBoxStyle}"/>
</StackPanel>
</Grid>
<TextBox x:Name="VOutputTextBox"
Grid.Row="1"
Text="0.00"
Style="{StaticResource OutputBoxStyle}"/>
</Grid>
</Border>
<Border Grid.Column="2" Style="{StaticResource FieldPanelStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="PT_CURRENT_1 / A OUTPUT" Style="{StaticResource LabelStyle}"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBox x:Name="AMinTextBox" Style="{StaticResource RangeBoxStyle}"/>
<TextBlock Text="~"
Foreground="{StaticResource HmiMutedTextBrush}"
FontSize="18"
FontWeight="Bold"
Margin="6,0,0,10"
VerticalAlignment="Center"/>
<TextBox x:Name="AMaxTextBox" Style="{StaticResource RangeBoxStyle}"/>
</StackPanel>
</Grid>
<TextBox x:Name="AOutputTextBox"
Grid.Row="1"
Text="0.00"
Style="{StaticResource OutputBoxStyle}"/>
</Grid>
</Border>
<Border Grid.Column="4" Style="{StaticResource FieldPanelStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="RESULT / INSPECTION LOG" Style="{StaticResource LabelStyle}"/>
<TextBox x:Name="ResultOutputTextBox"
Grid.Row="1"
Style="{StaticResource OutputBoxStyle}"
BorderBrush="{StaticResource HmiWarningBrush}"
FontSize="22"
FontWeight="SemiBold"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Top"
TextWrapping="Wrap"
AcceptsReturn="True"
VerticalScrollBarVisibility="Auto"/>
</Grid>
</Border>
</Grid>
</Grid>
</Border>
<Border Grid.Row="6"
Background="#081019"
BorderBrush="#253849"
BorderThickness="1"
Padding="16,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="26"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="26"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="EQUIPMENT UI MODE" Style="{StaticResource SmallStatusTextStyle}"/>
<TextBlock Grid.Column="2" Text="HOUSING LINE" Style="{StaticResource SmallStatusTextStyle}"/>
<TextBlock Grid.Column="4" Text="READY FOR INSPECTION" Foreground="{StaticResource HmiRunBrush}" FontSize="12" FontWeight="Bold"/>
</Grid>
</Border>
</Grid>
</ScrollViewer>
</Window>