<UserControl x:Class="CyberX8_MainPages.Views.MetalCMHomePageView"
             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"           
             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"/>

        <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}" IsEnabled="{Binding IsEnabled}"
                       RecipeContentValue="{Binding CurrentRecipe}"
                       TimeRemainingValue="{Binding TimeRemaining}"
                       TotalTimeValue="{Binding TotalTime}"
                       StateValue="{Binding State}"
                       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 Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsAutoEnabled}" 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="1*"/>
                <RowDefinition Height="0.4*"/>
                <RowDefinition Height="30"/>
            </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:CellStatusControl HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,0,0,0" Width="400"
                                                AnodeAFlow="{Binding AnodeSideAFlow}" AnodeAStatus="{Binding AnodeSideAStatus }"
                                                AnodeBFlow="{Binding AnodeSideBFlow}" AnodeBStatus="{Binding AnodeSideBStatus }"
                                                CellFlow="{Binding MetalData.CellFlow}" IsEnabled="{Binding IsEnabled}"
                                                />

            </Grid>
            <Grid Grid.Row="2">
                <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="3" Width="410" HorizontalAlignment="Left">
                <UserControls:MetalWaferSizeControl IsEnabled="{Binding IsEnabled}" MetalWaferSize="{Binding MetalPersistent.MetalWaferSize}" ModuleName="{Binding Module}"/>
            </Grid>
        </Grid>
        <Grid Grid.Row="2" Grid.Column="3" Margin="0,0,0,30" Grid.RowSpan="2">
            <UserControls:WHClampControl Name="WHControl" HorizontalAlignment="Center" VerticalAlignment="Center" 
                                         ModuleName="{Binding Module}" IsButtonEnabled="True" IsEnabled="{Binding IsEnabled}"
                                         ClampStatus="{Binding ClampStatus}" />
        </Grid>
        <!--MetalCMUI动画-->
        <Grid Grid.Row="2"  Grid.Column="1" Grid.ColumnSpan="2" Grid.RowSpan="2">
            <UserControls:MetalCMUIControl HorizontalAlignment="Left"  VerticalAlignment="Bottom" Margin="-180,0,0,30" IsEnabled="{Binding IsEnabled}"
                                           IsClampValveOn="{Binding MetalData.WHClamp}" IsUnclampValveOn="{Binding MetalData.WHUnclamp}" IsCirculationValveOn="{Binding MetalData.CellFlowValve}"
                                           ModuleName="{Binding Module}" IsError="{Binding IsErrorState}" IsWaferHolder="{Binding IsWaferHolder}"/>
        </Grid>
    </Grid>
</UserControl>