<Window x:Class="PatchGenerator.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:PatchGenerator"
        mc:Ignorable="d"
        Title="Patch Generator" Height="450" Width="800"
        WindowStartupLocation="CenterScreen">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="AUTO"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="AUTO"/>
            <RowDefinition Height="AUTO"/>
            <RowDefinition Height="200"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="AUTO"/>
        </Grid.RowDefinitions>

        <DockPanel Grid.ColumnSpan="2" Margin="10 10 10 5"
                    LastChildFill="True">
            <Label Content="Output Folder Name"
                   />
            <TextBox x:Name="FileNameBox"
                     TextChanged="FileNameBox_TextChanged"
                 />
        </DockPanel>
        
        <ProgressBar x:Name="GenProgressBar" 
                     Grid.Row="1" Grid.ColumnSpan="2"
                     Height="20" Margin="10 5 10 10"
                     Foreground="MediumPurple"
                     />

        <Label x:Name="GenProgressMessageLabel"
               FontSize="15" FontWeight="SemiBold"
               Grid.Row="1" Grid.ColumnSpan="2" Margin="0 0 10 5"
               HorizontalAlignment="Right" VerticalAlignment="Center" 
               />

        <Label x:Name="GenProgressInfoLabel"
               FontSize="15" FontWeight="SemiBold"
               Grid.Row="1" Grid.ColumnSpan="2" Margin="10 0 0 5"
               HorizontalAlignment="Left" VerticalAlignment="Center"
               />

        <Label x:Name="CompareLabel" 
               Grid.Row="2" Margin="10 10 5 10"
               Drop="CompareLabel_Drop"
               AllowDrop="True"
               HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
               HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
               Content="Drag and drop COMPARE folder here"
               BorderBrush="Gainsboro" BorderThickness="2"
               />
        
        <Label x:Name="TargetLabel" 
               Grid.Column="1" Grid.Row="2" Margin="5 10 10 10"
               Drop="TargetLabel_Drop"
               AllowDrop="True"
               HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
               HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
               Content="Drag and drop TARGET folder here"
               BorderBrush="Gainsboro" BorderThickness="2"
               />

        <TextBlock x:Name="AdditionalInfoBlock"
                   Grid.Row="3" Grid.RowSpan="2" Margin="10"
                   VerticalAlignment="Bottom"
                   TextWrapping="Wrap"
                   />

        <Button x:Name="GenButton" 
                Grid.Column="1" Grid.Row="4" 
                MinHeight="40" Margin="10"
                Content="Generate Patches"
                Click="GenButton_Click"
                />

        <CheckBox x:Name="AutoZip_checkBox" Grid.Row="3" Grid.Column="1" VerticalAlignment="Bottom"
                  Margin="10"
                  ToolTip="This will compress the patch files after they are generated using 7z format."
                  Content="Auto Zip After Patches are Generated"
                  IsChecked="{Binding Path=AutoZip, 
                              RelativeSource={
                              RelativeSource AncestorType=Window,
                              Mode=FindAncestor}}"
                  />
    </Grid>
</Window>
