<UserControl x:Class="MainShell.DeviceMaintance.View.HardwareTestView"
             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:mw="http://www.maxwell-gp.com/"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <Style x:Key="HardwareTestLabelStyle" TargetType="Label" BasedOn="{StaticResource ProcessLabelStyle}">
                <Setter Property="Width" Value="126"/>
            </Style>

            <Style x:Key="HardwareTestValueBorderStyle" TargetType="Border">
                <Setter Property="Background" Value="#F8FAFC"/>
                <Setter Property="BorderBrush" Value="{StaticResource ProcessCardBorderBrush}"/>
                <Setter Property="BorderThickness" Value="1"/>
                <Setter Property="CornerRadius" Value="4"/>
                <Setter Property="Padding" Value="12,6"/>
                <Setter Property="Margin" Value="8,0,18,0"/>
                <Setter Property="MinWidth" Value="150"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
            </Style>

            <Style x:Key="HardwareTestValueTextStyle" TargetType="TextBlock">
                <Setter Property="FontSize" Value="14"/>
                <Setter Property="Foreground" Value="{StaticResource ProcessBodyForegroundBrush}"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="TextWrapping" Value="Wrap"/>
            </Style>

            <Style x:Key="HardwareTestIntNumberBoxStyle" TargetType="{x:Type mw:IntNumberBox}" BasedOn="{StaticResource ProcessLargeIntNumberBoxStyle}">
                <Setter Property="Margin" Value="8,0,18,0"/>
            </Style>

            <Style x:Key="HardwareTestButtonStyle" TargetType="Button" BasedOn="{StaticResource TestButtonStyle}">
                <Setter Property="Width" Value="110"/>
                <Setter Property="Height" Value="32"/>
                <Setter Property="Margin" Value="8,0,0,0"/>
            </Style>

            <Style x:Key="HardwareTestStartButtonStyle" TargetType="Button" BasedOn="{StaticResource StartButtonStyle}">
                <Setter Property="Width" Value="110"/>
                <Setter Property="Height" Value="32"/>
                <Setter Property="Margin" Value="8,0,0,0"/>
            </Style>

            <Style x:Key="HardwareTestStopButtonStyle" TargetType="Button" BasedOn="{StaticResource CloseButtonStyle}">
                <Setter Property="Width" Value="110"/>
                <Setter Property="Height" Value="32"/>
                <Setter Property="Margin" Value="8,0,0,0"/>
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>

    <Grid Background="{StaticResource ProcessPageBackgroundBrush}">
        <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Margin="4" Padding="0,0,4,0">
            <StackPanel Margin="0,0,0,4">
                <GroupBox Header="{DynamicResource Diastimeter}" Style="{StaticResource ProcessWideCardGroupBoxStyle}">
                    <WrapPanel>
                        <Label Style="{StaticResource HardwareTestLabelStyle}" Content="{DynamicResource DiastimeterValue}"/>
                        <Border Style="{StaticResource HardwareTestValueBorderStyle}">
                            <TextBlock Style="{StaticResource HardwareTestValueTextStyle}" Text="{Binding Message}"/>
                        </Border>
                        <Button Style="{StaticResource HardwareTestButtonStyle}" Click="{mw:Action btnZeroClick}" Content="{DynamicResource SetZero}"/>
                        <Button Style="{StaticResource HardwareTestButtonStyle}" Click="{mw:Action btnGetCurrentValueClick}" Content="{DynamicResource GetCurrentValue}"/>
                    </WrapPanel>
                </GroupBox>

                <GroupBox Header="FFU" Style="{StaticResource ProcessWideCardGroupBoxStyle}">
                    <WrapPanel>
                        <Label Style="{StaticResource HardwareTestLabelStyle}" Content="{DynamicResource FFURotateSpeed}"/>
                        <mw:IntNumberBox Style="{StaticResource HardwareTestIntNumberBoxStyle}" Value="{Binding FFURotateSpeed}" ValueChanged="{mw:Action FFURotateSpeedChanged}"/>
                        <Button Style="{StaticResource HardwareTestStartButtonStyle}" Content="{DynamicResource Open}" Click="{mw:Action BtnOpenFFU}"/>
                        <Button Style="{StaticResource HardwareTestStopButtonStyle}" Content="{DynamicResource Close}" Click="{mw:Action BtnCloseFFU}"/>
                    </WrapPanel>
                </GroupBox>

                <WrapPanel>
                    <GroupBox Header="{DynamicResource WaferScaner}" Style="{StaticResource ProcessCardGroupBoxStyle}" Width="430" Margin="0,0,18,18">
                        <WrapPanel>
                            <Button Style="{StaticResource HardwareTestButtonStyle}" Click="{mw:Action btnScanWaferBarcodeClick}" Content="{DynamicResource GetCurrentValue}"/>
                            <Border Style="{StaticResource HardwareTestValueBorderStyle}" MinWidth="180" Margin="8,0,0,0">
                                <TextBlock Style="{StaticResource HardwareTestValueTextStyle}" Text="{Binding WaferBarcode}"/>
                            </Border>
                        </WrapPanel>
                    </GroupBox>

                    <GroupBox Header="{DynamicResource GlassScaner}" Style="{StaticResource ProcessCardGroupBoxStyle}" Width="430" Margin="0,0,0,18">
                        <WrapPanel>
                            <Button Style="{StaticResource HardwareTestButtonStyle}" Click="{mw:Action btnScanGlassBarcodeClick}" Content="{DynamicResource GetCurrentValue}"/>
                            <Border Style="{StaticResource HardwareTestValueBorderStyle}" MinWidth="180" Margin="8,0,0,0">
                                <TextBlock Style="{StaticResource HardwareTestValueTextStyle}" Text="{Binding GlassBarcode}"/>
                            </Border>
                        </WrapPanel>
                    </GroupBox>
                </WrapPanel>
            </StackPanel>
        </ScrollViewer>
    </Grid>
</UserControl>
