<UserControl x:Class="CyberX8_MainPages.Views.RinseHomePageView"
             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:UserControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
             xmlns:converters="clr-namespace:CyberX8_Themes.Converters;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 RinsePersistent.OperatingMode}"
                           RecipeModeValue="{Binding RinsePersistent.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:RecipeControl 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 RinsePersistent.OperatingMode}"
                        AchievedCycleTimes="{Binding AchievedRunRecipeCycle}"
                        RecipeModeValue ="{Binding RinsePersistent.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="2" Grid.Column="0"  Grid.RowSpan="2" Margin="0,100,0,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="40"></RowDefinition>
                <RowDefinition Height="40"></RowDefinition>
                <RowDefinition Height="40"></RowDefinition>
                <RowDefinition Height="40"></RowDefinition>
                <RowDefinition Height="40"></RowDefinition>
                <RowDefinition Height="40"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="200"></ColumnDefinition>
                <ColumnDefinition Width="400"></ColumnDefinition>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Label Grid.Row="0" IsEnabled="{Binding IsEnabled}" Grid.Column="0" Content="Water Level"  FontSize="20" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
            <Label Grid.Row="1" IsEnabled="{Binding IsEnabled}" Grid.Column="0" Content="Clamp Status"  FontSize="20" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
            <Label Grid.Row="2" IsEnabled="{Binding IsEnabled}" Grid.Column="0" Content="Resistivity"  FontSize="20" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
            <Label Grid.Row="4" IsEnabled="{Binding IsEnabled}" Grid.Column="0" Content="Status"  FontSize="20" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
            <Label Grid.Row="5" IsEnabled="{Binding IsEnabled}" Grid.Column="0" Content="State Machine"  FontSize="20" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
            <Border Background="Black"  Grid.Row="0" Grid.Column="1" Margin="5,5,200,5">
                <TextBlock Text="{Binding RinseCommonData.WaterLevel}" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
            <Border Background="Black"  Grid.Row="1" Grid.Column="1" Margin="5,5,200,5">
                <TextBlock  Text="{Binding ClampStatus}" Style="{StaticResource TextBlockStyle}" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
            <Border Background="Black"  Grid.Row="2" Grid.Column="1" Margin="5,5,200,5">
                <TextBlock Text="{Binding RinseCommonData.Resistivity, StringFormat={}{0:F2}}" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
            <Border Background="Black"  Grid.Row="2" Grid.Column="1" Margin="205,5,160,5">
                <TextBlock Text="Mo" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
            <Border Background="Black"  Grid.Row="4" Grid.Column="1" Margin="5,5,50,5">
                <TextBlock Text="{Binding Status}" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
            <Border Background="Black"  Grid.Row="5" Grid.Column="1" Margin="5,5,50,5">
                <TextBlock Text="{Binding StateMachine}" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
            </Border>
        </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 RinsePersistent.OperatingMode}"
                                      />
        </Grid>
        <Grid Grid.Row="2" Grid.Column="3">
           
        </Grid>
        <Grid Grid.Row="2" Grid.Column="3">
           
        </Grid>
        <Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="2">
            <UserControls:RinseUIControl HorizontalAlignment="Center" VerticalAlignment="Bottom" Height="450" Width="800" Margin="0,0,0,50"
                                         ModuleName="{Binding Module}" IsEnabled="{Binding IsEnabled}"
                                         InterLock="{Binding InterLock,Mode=TwoWay}" IsWaferHolder="{Binding IsWaferHolder}"
                                         RinseCommonData="{Binding RinseCommonData}"
                                         IsError="{Binding IsErrorState}"
                                         UIWaterLevel="{Binding UIWaterLevel}"
                                        />
        </Grid>

    </Grid>
</UserControl>