<UserControl x:Class="CyberX8_MainPages.Views.RdsRecipeView"
             xmlns:UserControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"  
             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:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"  
             xmlns:converters="clr-namespace:CyberX8_MainPages.Converters"
             xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" 
             xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
             prism:ViewModelLocator.AutoWireViewModel="True"
             mc:Ignorable="d" 
             d:DesignHeight="800" d:DesignWidth="1800" Loaded="UserControl_Loaded">
    <UserControl.Resources>
        <converters:BoolReverseConverter x:Key="boolReverseConverter"/>
        <converters:BoolVisibilityConverter x:Key="boolVisibilityConverter"/>
    </UserControl.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="100"></RowDefinition>
            <RowDefinition Height="210"></RowDefinition>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50"></ColumnDefinition>
            <ColumnDefinition Width="400"></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <UserControls:RecipeFileLoadControl Grid.Row="1" Grid.RowSpan="2" Grid.Column="1" Title="Rds Recipe" RecipeNodes="{Binding RecipeNodes}" OperationCommand="{Binding OperationCommand}"
                                            RecipeLocation="{Binding CurrentNode.RecipeLocation}" EditEnable="{Binding EditEnable}" CreateEnable="{Binding CreateEnable}" RecipeFileName="{Binding CurrentNode.FileName}"
                                            CreateCommand="{Binding CreateCommand}" EditCommand="{Binding EditCommand}"/>
        <Grid Grid.Row="1" Grid.Column="2" Margin="10 0 0 0">
            <Grid.RowDefinitions>
                <RowDefinition Height="70"></RowDefinition>
                <RowDefinition Height="70"></RowDefinition>
                <RowDefinition Height="70"></RowDefinition>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="220"></ColumnDefinition>
                <ColumnDefinition Width="220"></ColumnDefinition>
                <ColumnDefinition Width="220"></ColumnDefinition>
                <ColumnDefinition Width="220"></ColumnDefinition>
                <ColumnDefinition Width="220"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <GroupBox Header="PPID" Grid.Row="0" Grid.ColumnSpan="3">
                <TextBlock Text="{Binding Recipe.Ppid}" FontSize="20" VerticalAlignment="Center" TextAlignment="Center">
                </TextBlock>
            </GroupBox>
            <Grid Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" Margin="10 0 0 0 ">
                <Grid.RowDefinitions>
                    <RowDefinition Height="70"></RowDefinition>
                </Grid.RowDefinitions>
                <Grid Grid.Row="0" IsEnabled="{Binding Enable}">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Button Grid.Column="0" Style="{StaticResource SysBtnStyle}"  Content="Save" Height="35" Width="100" Command="{Binding SaveRecipeCommand}"></Button>
                    <Button Grid.Column="1" Style="{StaticResource SysBtnStyle}"  Content="SaveAs" Height="35" Width="100" Command="{Binding SaveAsRecipeCommand}"></Button>
                </Grid>

            </Grid>
            <GroupBox Header="Description" Grid.Row="1" Grid.ColumnSpan="3">
                <TextBlock Text="{Binding Recipe.Description}" FontSize="18" VerticalAlignment="Center" TextAlignment="Center">
                </TextBlock>
            </GroupBox>

            <GroupBox Header="Author" Grid.Row="2" Grid.Column="0">
                <Label Content="{Binding Recipe.Author}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
                                                    HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
            </GroupBox>
            <GroupBox Header="CreateDate" Grid.Row="2" Grid.Column="1">
                <Label Content="{Binding Recipe.CreateDate}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
                                                    HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
            </GroupBox>
            <GroupBox Header="SaveDate" Grid.Row="2" Grid.Column="2">
                <Label Content="{Binding Recipe.SaveDate}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
                                                    HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
            </GroupBox>
        </Grid>

        <Grid Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"></RowDefinition>
                    <RowDefinition Height="Auto"></RowDefinition>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"></ColumnDefinition>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <GroupBox Header="Chem Replen" Grid.Row="0" Grid.Column="0" Padding="10" Margin="10 0 10 10" >
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="220"></ColumnDefinition>
                            <ColumnDefinition Width="10"></ColumnDefinition>
                        </Grid.ColumnDefinitions>
                        <GroupBox Header="Enable" Grid.Column="0" Grid.Row="0" IsEnabled="{Binding Enable}">
                            <Grid>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                                                       Command ="{Binding ChemReplenEnableFalseCommand}"  IsChecked="{Binding Recipe.ReplenEnable,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,15,40,0"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                                                        Command ="{Binding ChemReplenEnableTrueCommand}"  IsChecked="{Binding Recipe.ReplenEnable,Mode=TwoWay}" Margin="40,15,0,0" ></RadioButton>
                            </Grid>
                        </GroupBox>
                        <GroupBox Header="Current Based" Grid.Column="0" Grid.Row="1" IsEnabled="{Binding Enable}">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="73*"/>
                                    <ColumnDefinition Width="135*"/>
                                </Grid.ColumnDefinitions>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                                                       Command="{Binding CurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.ReplenCurrentBased,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,16,40,2" Grid.Column="1"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                                                       Command="{Binding CurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.ReplenCurrentBased,Mode=TwoWay}" Margin="40,16,0,2" Grid.ColumnSpan="2" ></RadioButton>
                            </Grid>
                        </GroupBox>

                        <UserControls:GroupTextBoxControl Grid.Column="0" Grid.Row="2" Title="Current Based Rate" Unit="mL/Ah" MinValue="0" MaxValue="9000" IntValue="{Binding Recipe.ReplenCurrentBasedRate,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[ReplenCurrentBasedRate],Mode=TwoWay}" Width="220"/>
                        <GroupBox Header="Time Based" Grid.Column="0" Grid.Row="3" IsEnabled="{Binding Enable}">
                            <Grid>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                                                       Command="{Binding TimeBasedFalseCommand}"  IsChecked="{Binding Recipe.ReplenTimeBased,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,15,40,0"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                                                        Command="{Binding TimeBasedTrueCommand}"  IsChecked="{Binding Recipe.ReplenTimeBased,Mode=TwoWay}" Margin="40,15,0,0" ></RadioButton>
                            </Grid>
                        </GroupBox>
                        <UserControls:GroupTextBoxControl Grid.Column="0" Grid.Row="4" Title="Time Based Rate" Unit="mL/Day" MinValue="0" MaxValue="9000" IntValue="{Binding Recipe.ReplenTimeBasedRate,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[ReplenTimeBasedRate],Mode=TwoWay}" Width="220"/>
                        <UserControls:GroupTextBoxControl Grid.Column="0" Grid.Row="5" Title="ReplenNoCircFactor"  MinValue="0" MaxValue="1" IntValue="{Binding Recipe.ReplenNoCircFactor,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[ReplenNoCircFactor],Mode=TwoWay}" Width="220"/>
                    </Grid>
                </GroupBox>

                <GroupBox  Header="AutoDose" Grid.Row="0" Grid.Column="1" Margin="135 0 0 10" Padding="10">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                            <RowDefinition Height="75"></RowDefinition>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="220"></ColumnDefinition>
                        </Grid.ColumnDefinitions>
                        <GroupBox Header="AutoDoseEnable" Grid.Column="0" Grid.Row="0" IsEnabled="{Binding Enable}">
                            <Grid>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                                                         Command="{Binding AutoCrossDoseFalseCommand}" IsChecked="{Binding Recipe.AutoDoseEnable,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,15,40,0"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                                                         Command="{Binding AutoCrossDoseTrueCommand}" IsChecked="{Binding Recipe.AutoDoseEnable,Mode=TwoWay}" Margin="40,15,0,0" ></RadioButton>
                            </Grid>
                        </GroupBox>
                        <GroupBox Header="Auto Time Based" Grid.Column="0" Grid.Row="1" IsEnabled="{Binding Enable}">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="73*"/>
                                    <ColumnDefinition Width="135*"/>
                                </Grid.ColumnDefinitions>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                               Command="{Binding AutoTimeBasedFalseCommand}"  IsChecked="{Binding Recipe.AutoTimeBased,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,16,40,2" Grid.Column="1"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                               Command="{Binding AutoTimeBasedTrueCommand}"  IsChecked="{Binding Recipe.AutoTimeBased,Mode=TwoWay}" Margin="40,16,0,2" Grid.ColumnSpan="2" ></RadioButton>
                            </Grid>
                        </GroupBox>
                        <GroupBox Grid.Row="2" Header="AutoDoseIdleStartTime" IsEnabled="{Binding Enable}">
                            <Grid>
                                <Rectangle Fill="Transparent" Stroke="Transparent" StrokeThickness="1" HorizontalAlignment="Left" 
                           VerticalAlignment="Top" Width="435" Height="36" Margin="10,0,0,0"/>
                                <Control:NumbericTextBox Value="{Binding Recipe.AutoDoseIdleStartTime,Mode=TwoWay}" Height="30" VerticalAlignment="Top"  Margin="18,3,30,0" Width="200"/>
                                <Label Content="hr" HorizontalAlignment="Right" VerticalAlignment="Top" Height="30" Width="30" Margin="0,3,0,0"></Label>
                            </Grid>
                        </GroupBox>
                        <GroupBox Header="Auto Current Based" Grid.Column="0" Grid.Row="3" IsEnabled="{Binding Enable}">
                            <Grid>
                                <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" 
                               Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.AutoCurrentBased,Converter={StaticResource boolReverseConverter},Mode=TwoWay}" Margin="0,15,40,0"></RadioButton>
                                <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" 
                                Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.AutoCurrentBased,Mode=TwoWay}" Margin="40,15,0,0" ></RadioButton>
                            </Grid>
                        </GroupBox>
                        <GroupBox Grid.Row="4" Header="AutoDoseFrequency" IsEnabled="{Binding Enable}">
                            <Grid>
                                <Rectangle Fill="Transparent" Stroke="Transparent" StrokeThickness="1" HorizontalAlignment="Left" 
                           VerticalAlignment="Top" Width="435" Height="36" Margin="10,0,0,0"/>
                                <Control:NumbericTextBox Value="{Binding Recipe.AutoDoseFrequency,Mode=TwoWay}" Height="30" VerticalAlignment="Top"  Margin="18,3,30,0" Width="200"/>
                                <Label Content="Ah" HorizontalAlignment="Right" VerticalAlignment="Top" Height="30" Width="30" Margin="0,3,0,0"></Label>
                            </Grid>
                        </GroupBox>
                        
                        <!--<UserControls:GroupDigitalBoxControl Grid.Column="0" Grid.Row="1" Title="AutoDoseIdleStartTime" Unit="hr" MinValue="0" MaxValue="10" DigitalValue="{Binding Recipe.AutoDoseIdleStartTime,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[AutoDoseIdleStartTime],Mode=TwoWay}" Width="220"/>
                        <UserControls:GroupDigitalBoxControl Grid.Column="0" Grid.Row="2" Title="AutoDoseFrequency" Unit="Ah" MinValue="0" MaxValue="10" DigitalValue="{Binding Recipe.AutoDoseFrequency,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[AutoDoseFrequency],Mode=TwoWay}" Width="220"/>-->
                    </Grid>

                </GroupBox>

            </Grid>
        </Grid>
    </Grid>
</UserControl>