<UserControl x:Class="Compdfkit_Tools.PDFControl.AnnotationControl"
             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"
             mc:Ignorable="d"
             xmlns:cpdftools="clr-namespace:Compdfkit_Tools.PDFControl"
             xmlns:cpdfcommon="clr-namespace:Compdfkit_Tools.Common"
             Loaded="UserControl_Loaded"
             Unloaded="UserControl_Unloaded"
             d:DesignHeight="720" d:DesignWidth="1080">
    
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../../Asset/Styles/ToggleButtonStyle.xaml"></ResourceDictionary>
                <ResourceDictionary Source="../../Asset/Styles/ButtonStyle.xaml"></ResourceDictionary>
                <ResourceDictionary Source="../../Asset/Styles/ComboBoxStyle.xaml"></ResourceDictionary>
            </ResourceDictionary.MergedDictionaries>
            <RoutedUICommand x:Key="Undo" Text="Undo"></RoutedUICommand>
            <RoutedUICommand x:Key="Redo" Text="Redo"></RoutedUICommand>
            <RoutedUICommand x:Key="Highlight" Text="Highlight"></RoutedUICommand>
            <RoutedUICommand x:Key="Underline" Text="Underline"></RoutedUICommand>
            <RoutedUICommand x:Key="Strikeout" Text="Strikeout"></RoutedUICommand>
            <RoutedUICommand x:Key="Squiggly" Text="Squiggly"></RoutedUICommand>
        </ResourceDictionary>
    </UserControl.Resources>

    <UserControl.InputBindings>
        <KeyBinding Key="Z" Modifiers="Control" Command="{StaticResource Undo}"/>
        <KeyBinding Key="Y" Modifiers="Control" Command="{StaticResource Redo}"/>
        <KeyBinding Key="H" Modifiers="Control+Alt" Command="{StaticResource Highlight}"></KeyBinding>
        <KeyBinding Key="U" Modifiers="Control+Alt" Command="{StaticResource Underline}"></KeyBinding>
        <KeyBinding Key="Q" Modifiers="Control+Alt" Command="{StaticResource Squiggly}"></KeyBinding>
        <KeyBinding Key="S" Modifiers="Control+Alt" Command="{StaticResource Strikeout}"></KeyBinding>
    </UserControl.InputBindings>
    
    <UserControl.CommandBindings>
        <CommandBinding Command="{StaticResource Undo}" Executed="CommandBinding_Executed_Undo"/>
        <CommandBinding Command="{StaticResource Redo}" Executed="CommandBinding_Executed_Redo"/>
        <CommandBinding Command="{StaticResource Highlight}" Executed="CommandBinding_Executed_Highlight"></CommandBinding>
        <CommandBinding Command="{StaticResource Underline}" Executed="CommandBinding_Executed_Underline"></CommandBinding>
        <CommandBinding Command="{StaticResource Strikeout}" Executed="CommandBinding_Executed_Strikeout"></CommandBinding>
        <CommandBinding Command="{StaticResource Squiggly}" Executed="CommandBinding_Executed_Squiggly"></CommandBinding>
    </UserControl.CommandBindings>

    <Grid Name="BodyGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0"></ColumnDefinition>
            <ColumnDefinition Width="0"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
            <ColumnDefinition Width="auto"></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <Border x:Name="ToolBarContainer" Height="45" Visibility="Visible"  BorderThickness="1" BorderBrush="#1A000000" Background="#F2F3F5" Grid.ColumnSpan="4">
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <cpdftools:CPDFAnnotationBarControl x:Name="AnnotationBarControl" Loaded="AnnotationBarControl_Loaded" Unloaded="AnnotationBarControl_Unloaded" Height="44"/>
                <Line Height="40" Stroke="#D5D6D8" StrokeThickness="2" X1="0" Y1="10" X2="0" Y2="30" Margin="8,0,8,0" />
                <Button Name="UndoBtn" Style="{StaticResource LightButtonStyle}" BorderThickness="0"  Width="40" Height="40" IsEnabled="{Binding CanUndo,Mode=OneWay}"  Click="UndoButton_Click"
                                    Background="Transparent">
                    <Path x:Name="UndoPath" IsEnabled="{Binding CanUndo,Mode=OneWay}">
                        <Path.Style>
                            <Style TargetType="Path">
                                <Style.Triggers>
                                    <Trigger Property="IsEnabled" Value="False">
                                        <Setter Property="Fill" Value="LightGray"/>
                                    </Trigger>
                                    <Trigger Property="IsEnabled" Value="True">
                                        <Setter Property="Fill" Value="#43474D"/>
                                    </Trigger>
                                </Style.Triggers>
                            </Style>
                        </Path.Style>
                        <Path.Data>
                            M1.03033 3.62131L0.5 4.15164L1.03033 4.68197L4.65164 8.30328L5.7123 7.24261L3.37132 4.90164H10.0607C11.5794 4.90164 12.8107 6.13285 12.8107 
                                7.65164C12.8107 9.17042 11.5794 10.4016 10.0607 10.4016H2.56066V11.9016H10.0607C12.4079 11.9016 14.3107 9.99885 14.3107 7.65164C14.3107 
                                5.30443 12.4079 3.40164 10.0607 3.40164H3.37132L5.7123 1.06066L4.65164 0L1.03033 3.62131Z
                        </Path.Data>
                    </Path>
                    <Button.ToolTip>
                        <ToolTip Content="Undo"></ToolTip>
                    </Button.ToolTip>
                </Button>
                <Button Style="{StaticResource LightButtonStyle}" BorderThickness="0" Width="40" Height="40" Margin="10,0,0,0"  IsEnabled="{Binding CanRedo,Mode=OneWay}" Click="RedoButton_Click"
                                    Background="Transparent">
                    <Path IsEnabled="{Binding CanRedo,Mode=OneWay}">
                        <Path.Resources>
                            <Style TargetType="Path">
                                <Style.Triggers>
                                    <Trigger Property="IsEnabled" Value="False">
                                        <Setter Property="Fill" Value="LightGray"/>
                                    </Trigger>
                                    <Trigger Property="IsEnabled" Value="True">
                                        <Setter Property="Fill" Value="#43474D"/>
                                    </Trigger>
                                </Style.Triggers>
                            </Style>
                        </Path.Resources>
                        <Path.Data>
                            M13.7802 3.62131L14.3105 4.15164L13.7802 4.68197L10.1589 8.30328L9.09825 7.24261L11.4392 4.90164H4.74989C3.2311 4.90164 1.99989 6.13285 
                                1.99989 7.65164C1.99989 9.17042 3.2311 10.4016 4.74989 10.4016H12.2499V11.9016H4.74989C2.40268 11.9016 0.499887 9.99885 0.499887 
                                7.65164C0.499887 5.30443 2.40268 3.40164 4.74989 3.40164H11.4392L9.09825 1.06066L10.1589 0L13.7802 3.62131Z
                        </Path.Data>
                    </Path>
                    <Button.ToolTip>
                        <ToolTip Content="Redo"></ToolTip>
                    </Button.ToolTip>
                </Button>
            </StackPanel>
        </Border>
        <Border Grid.Row="1" Visibility="Collapsed" Name="BotaContainer">
        </Border>
        <GridSplitter Grid.Row="1" Name="Splitter" Grid.Column="1" Width="15" ResizeBehavior="PreviousAndNext" Visibility="Collapsed">
            <GridSplitter.Template>
                <ControlTemplate TargetType="{x:Type GridSplitter}">
                    <Border BorderThickness="{TemplateBinding Border.BorderThickness}"
                        BorderBrush="{TemplateBinding Border.BorderBrush}"
                        Background="{TemplateBinding Panel.Background}" >
                        <Path Fill="Gray" VerticalAlignment="Center">
                            <Path.Data>
                                M15 3.75H1V2.25H15V3.75ZM15 8.75H1V7.25H15V8.75ZM1 13.75H15V12.25H1V13.75Z
                            </Path.Data>
                        </Path>
                    </Border>
                </ControlTemplate>
            </GridSplitter.Template>
        </GridSplitter>
        <Border x:Name="PDFGrid" Background="#CECECE" Grid.Row="1" Grid.Column="2"></Border>
        <Border Grid.Column="3" Name="PropertyContainer" Grid.Row="1" Visibility="Collapsed" ></Border>
        <cpdfcommon:PageNumberControl  Grid.Column="2" Grid.Row="1" x:Name="FloatPageTool" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,20"></cpdfcommon:PageNumberControl>

    </Grid>
</UserControl>