<UserControl x:Class="CyberX8_MainPages.Views.MetalSHHomePageView"
             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:local="clr-namespace:CyberX8_MainPages.Views"
             xmlns:prism="http://prismlibrary.com/" 
             xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"
             xmlns:UserControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
             xmlns:ctrls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
             xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core" 
             prism:ViewModelLocator.AutoWireViewModel="True"
             mc:Ignorable="d" x:Name="self"
             d:DesignHeight="800" d:DesignWidth="1850">
    <UserControl.Resources>
        <converters:BoolToColor x:Key="boolToColor"/>
        <converters:RecipeIconConverter x:Key="recipeIconConverter"/>
        <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>
        <Style x:Key="TextBlockStyle" TargetType="TextBlock">
            <Style.Setters>
                <Setter Property="Text" Value="UnClamped"/>
            </Style.Setters>
            <Style.Triggers>
                <DataTrigger Binding="{Binding ClampStatus}" Value="True">
                    <Setter Property="Text" Value="Clamped"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>

    </UserControl.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="5"/>
            <RowDefinition Height="190"/>
            <RowDefinition Height="250"/>
            <RowDefinition Height="355"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="610"></ColumnDefinition>
            <ColumnDefinition Width="400"></ColumnDefinition>
            <ColumnDefinition Width="610"></ColumnDefinition>
            <ColumnDefinition Width="230"></ColumnDefinition>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid Grid.Row="1" Grid.Column="0">
            <UserControls:SrdOverviewInformationPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" 
                   ModuleTitle="{Binding Module}"
                   RecipeContentValue="{Binding CurrentRecipe}"
                   TimeRemainingValue="{Binding TimeRemaining}"
                   TotalTimeValue="{Binding TotalTime}"
                   StateValue="{Binding State}" IsEnabled="{Binding IsEnabled}"
                   OperatingModeValue="{Binding MetalPersistent.OperatingMode}"
                   RecipeModeValue="{Binding MetalPersistent.RecipeOperatingMode}"/>
        </Grid>
        <Grid Grid.Row="1" Grid.Column="1">
            <UserControls:WaferHolderPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" 
                ModuleName="{Binding Module}" IsEnabled="{Binding IsEnabled}"
                SeqRecipeValue="{Binding SeqRecipe}"
                WaferHolderInfo="{Binding WaferHolderInfo}"
              />
        </Grid>
        <Grid Grid.Row="1" Grid.Column="2" Grid.RowSpan="2">
            <UserControls:RecipeControlMetal HorizontalAlignment="Center" Margin="10,0,0,0" VerticalAlignment="Center"
                ModuleName="{Binding Module}" IsEnabled="{Binding IsEnabled}"             
                ModuleTitle="{Binding RecipeModuleName}"
                RecipeType="{Binding RecipeType}"
                SelectedRecipeNode="{Binding SelectedRecipeNode,Mode=TwoWay}"
                CurrentOperationMode="{Binding MetalPersistent.OperatingMode}"
                AchievedCycleTimes="{Binding AchievedRunRecipeCycle}"
                RecipeModeValue ="{Binding MetalPersistent.RecipeOperatingMode}"
                                />

        </Grid>
        <Grid Grid.Row="1" Grid.Column="3">
            <Grid.RowDefinitions>
                <RowDefinition Height="50"></RowDefinition>
                <RowDefinition Height="120"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0">
                <Label Content="{Binding Module}"  FontSize="30" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center"></Label>
            </Grid>
            <Grid Grid.Row="1">
                <Button IsEnabled="{Binding IsAutoEnabled}" Style="{StaticResource SysBtnStyle}" Height="30" Width="120" VerticalAlignment="Top" HorizontalAlignment="Center" Content="Initialize" Command="{Binding InitializeCommand}" />
            </Grid>
        </Grid>
        <Grid Grid.Row="1" Grid.Column="3" Grid.RowSpan="2">
            <Label Content="Operating Mode"  FontSize="15" FontWeight="Bold" Margin="20,90,20,0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Center"></Label>
            <UserControls:OperatingModeControl HorizontalAlignment="Center" Margin="20,0,20,45" VerticalAlignment="Center" 
                        ModuleName="{Binding Module}"
                        OperationModeValue="{Binding MetalPersistent.OperatingMode}"
                      />
        </Grid>

        <Grid Grid.Row="2" Grid.Column="3">
            <Label Margin="20,0,20,70" Content="Recipe Mode" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
            <UserControls:RecipeModeControl HorizontalAlignment="Center"  VerticalAlignment="Top" 
                        ModuleName="{Binding Module}" Width="188" Margin="0,108,0,0" IsEnabled="{Binding IsAutoEnabled}"
                        RecipeModeValue="{Binding MetalPersistent.RecipeOperatingMode}"/>
        </Grid>

        <Grid Grid.Row="2" Grid.Column="0" Grid.RowSpan="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="0.7*"/>
                <RowDefinition Height="1*"/>
                <RowDefinition Height="0.4*"/>
                <RowDefinition Height="1*"/>
                <RowDefinition Height="10"/>
            </Grid.RowDefinitions>

            <Grid>
                <UserControls:PlatingPowerSupplyControl HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,0,0,0" Width="400" IsEnabled="{Binding IsEnabled}"
                                    SideAForwardCurrent="{Binding SideAPowerSupplierData.Current}" SideAForwardVoltage="{Binding SideAPowerSupplierData.Voltage}" 
                                    SideBForwardCurrent="{Binding SideBPowerSupplierData.Current}" SideBForwardVoltage="{Binding SideBPowerSupplierData.Voltage}" 
                                    SideAReverseCurrent="{Binding SideAReverseCurrent}" SideAReverseVoltage="{Binding SideAReverseVoltage}" 
                                    SideBReverseCurrent="{Binding SideBReverseCurrent}" SideBReverseVoltage="{Binding SideBReverseVoltage}" 
                                    />
            </Grid>

            <Grid Grid.Row="1">
                <UserControls:BurnInControl HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,0,0,0" Width="400" Height="170"
                                        Required="{Binding Required}" Requested="{Binding Requested}" IsEnabled="{Binding IsEnabled}"                                           
                />
            </Grid>
            <Grid Grid.Row="2" Width="410" HorizontalAlignment="Left">
                <UserControls:MetalWaferSizeControl IsEnabled="{Binding IsEnabled}" MetalWaferSize="{Binding MetalPersistent.MetalWaferSize}" ModuleName="{Binding Module}"/>
            </Grid>
            <GroupBox Header="Pump Settings" FontWeight="Bold" FontSize="15" Grid.Row="3" Margin="10 20 400 80" Visibility="{Binding IsRegulatePump,Converter={StaticResource BoolToVisibility2}}">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="30"></RowDefinition>
                        <RowDefinition Height="35"></RowDefinition>
                    </Grid.RowDefinitions>
                    <Grid Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Label FontSize="14" FontWeight="Bold">Pump Speed(RPM)</Label>
                    </Grid>
                    <Control:NumbericTextBox Grid.Row="1"  Margin="10,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15" FontWeight="Bold" Height="30" Width="130"
               Value="{Binding Path=PumpSpeed,Mode=TwoWay}" TextboxName="PumpSpeed" KeyOperation="{Binding PumpSpeedCommand}"
               />
                </Grid>
            </GroupBox>

        </Grid>
        <Grid Grid.Row="2" Grid.Column="3" Margin="0,0,0,30" Grid.RowSpan="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="32*"/>
                <RowDefinition Height="83*"/>
            </Grid.RowDefinitions>
            <UserControls:WHClampControl HorizontalAlignment="Center" VerticalAlignment="Top" IsEnabled="{Binding IsEnabled}"
                                     ModuleName="{Binding Module}" IsButtonEnabled="False" ClampStatus="{Binding ClampStatus}" Margin="0,68,0,0" Grid.Row="1"
                                     />
        </Grid>
        <!--MetalCMUI动画-->
        <Grid Grid.Row="2"  Grid.Column="1" Grid.ColumnSpan="2" Grid.RowSpan="2">
            <UserControls:MetalSHUIControl HorizontalAlignment="Left"  VerticalAlignment="Bottom" Margin="-180,0,0,28"
                                           ModuleName="{Binding Module}" IsError="{Binding IsErrorState}" IsEnabled="{Binding IsEnabled}"
                                           IsClampValveOpen="{Binding MetalData.WaferHolderClamp}" IsCellCirculationValveOn="{Binding MetalData.Circulation}" 
                                           IsCellPumpOn="{Binding MetalData.CellPump}" MetalData="{Binding MetalData}" IsWaferHolder="{Binding IsWaferHolder}"/>
        </Grid>

        <Grid Grid.Row="3" Grid.Column="2">
            <Canvas Margin="0,0,150,150" VerticalAlignment="Bottom" HorizontalAlignment="Right">
                <UserControls:PumpSpeedControl Visibility="Collapsed"  Width="320"/>
            </Canvas>
        </Grid>
    </Grid>
</UserControl>