<UserControl x:Class="ComPDFKit.Controls.PDFControl.ContentEditControl"
             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:cpdfcommon="clr-namespace:ComPDFKit.Controls.Common"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800"
             Loaded="UserControl_Loaded"
             Unloaded="UserControl_UnLoaded">
    <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>
            <cpdfcommon:ToolBarResourceConverter x:Key="ToolBarResourceConverter"></cpdfcommon:ToolBarResourceConverter>
            <cpdfcommon:CommonResourceConverter x:Key="CommonResourceConverter" />
        </ResourceDictionary>
    </UserControl.Resources>

    <UserControl.InputBindings>
        <KeyBinding Key="Z" Modifiers="Control" Command="{StaticResource Undo}"/>
        <KeyBinding Key="Y" Modifiers="Control" Command="{StaticResource Redo}"/>
    </UserControl.InputBindings>

    <UserControl.CommandBindings>
        <CommandBinding Command="{StaticResource Undo}" Executed="CommandBinding_Executed_Undo"/>
        <CommandBinding Command="{StaticResource Redo}" Executed="CommandBinding_Executed_Redo"/>
    </UserControl.CommandBindings>

    <Grid x:Name="BodyGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </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">
                <ToggleButton Style="{StaticResource ToggleButtonStyle}" Name="PDFTextEditButton" BorderThickness="0" Padding="10,5,10,5" Click="PDFTextEditButton_Click" Width="99" Height="40">
                    <StackPanel Orientation="Horizontal">
                        <Path Fill="#273C62" VerticalAlignment="Center">
                            <Path.Data>
                                M1.25 0H0.5V0.75V13.25V14H1.25H17.75H18.5V13.25V7H17V12.5H2V1.5H12.5V0H1.25ZM11.5 5V2.5H3.5V5H5V4H6.75V10H6V11.5H9V10H8.25V4H10V5H11.5ZM15.75 
                                3.75H13.5V2.25H15.75V0H17.25V2.25H19.5V3.75H17.25V6H15.75V3.75Z
                            </Path.Data>
                        </Path>
                        <TextBlock  Text="{Binding Converter={StaticResource ToolBarResourceConverter},ConverterParameter=Button_Text}" 
                            FontSize="12" VerticalAlignment="Center" Margin="8,0,0,0"></TextBlock>
                    </StackPanel>
                    <ToggleButton.ToolTip>
                        <ToolTip Content="{Binding Converter={StaticResource ToolBarResourceConverter},ConverterParameter=Button_Text}" ></ToolTip>
                    </ToggleButton.ToolTip>
                </ToggleButton>

                <ToggleButton Style="{StaticResource ToggleButtonStyle}" Name="PDFImageEditButton" BorderThickness="0" Padding="10,5,10,5" Margin="10,0,0,0" Click="PDFImageEditButton_Click">
                    <StackPanel Orientation="Horizontal">
                        <Path Fill="#273C62" VerticalAlignment="Center">
                            <Path.Data>
                                M1.5 0H0.75V0.75V13.25V14H1.5H18H18.75V13.25V7H17.25V12.5H17.2147L11.8718 7.81776L9.56428 10.25L5.29496 6.75L2.25 9.95948V1.5H12.75V0H1.5ZM13.5 5.25C13.5 
                                            6.07843 12.8284 6.75 12 6.75C11.1716 6.75 10.5 6.07843 10.5 5.25C10.5 4.42157 11.1716 3.75 12 3.75C12.8284 3.75 13.5 4.42157 13.5 5.25ZM15.75 
                                            3.75H13.5V2.25H15.75V0H17.25V2.25H19.5V3.75H17.25V6H15.75V3.75Z
                            </Path.Data>
                        </Path>
                        <TextBlock  Text="{Binding Converter={StaticResource ToolBarResourceConverter},ConverterParameter=Button_Image}" 
                                    FontSize="12" VerticalAlignment="Center" Margin="8,0,0,0"></TextBlock>
                    </StackPanel>
                    <ToggleButton.ToolTip>
                        <ToolTip Content="{Binding Converter={StaticResource ToolBarResourceConverter},ConverterParameter=Button_Image}" ></ToolTip>
                    </ToggleButton.ToolTip>
                </ToggleButton>

                <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="UndoBtn_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="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Tooltip_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="RedoBtn_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="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Tooltip_Redo}"></ToolTip>
                    </Button.ToolTip>
                </Button>

            </StackPanel>
        </Border>
        <Border Grid.Row="1" Visibility="Collapsed" x: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>