summaryrefslogtreecommitdiff
path: root/platform/windows/gsview/MainWindow.xaml
diff options
context:
space:
mode:
Diffstat (limited to 'platform/windows/gsview/MainWindow.xaml')
-rw-r--r--platform/windows/gsview/MainWindow.xaml794
1 files changed, 794 insertions, 0 deletions
diff --git a/platform/windows/gsview/MainWindow.xaml b/platform/windows/gsview/MainWindow.xaml
new file mode 100644
index 00000000..10d126bb
--- /dev/null
+++ b/platform/windows/gsview/MainWindow.xaml
@@ -0,0 +1,794 @@
+<Window x:Class="gsview.MainWindow"
+ xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ Title="gsview" Height="850" Width="714" UseLayoutRounding="True"
+ KeyDown="OnKeyDownHandler" Closing="AppClosing">
+ <!-- UseLayoutRounding needed to avoid funny interpolation effects on pages -->
+
+ <Window.Resources>
+ <DataTemplate x:Key="PageTemplate">
+ <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="{Binding Height}" Width="{Binding Width}" Margin="0,0,0,0"
+ MouseLeftButtonDown="PageMouseDown" MouseMove="PageMouseMove" MouseLeftButtonUp="PageLeftClickUp" ClipToBounds="True"
+ MouseRightButtonDown="ShowContextMenu">
+ <Image Width="{Binding Width}" Height="{Binding Height}" Stretch="Fill" HorizontalAlignment="Center" Source="{Binding BitMap}">
+ <Image.BitmapEffect>
+ <DropShadowBitmapEffect Color="Black" Direction="-50"
+ ShadowDepth="40" Softness=".7" />
+ </Image.BitmapEffect>
+ </Image>
+
+ <!-- Single selection rectangle. Not a list -->
+ <Rectangle Width="{Binding Path=SelWidth}" Height="{Binding Path=SelHeight}" Stroke="{Binding Path=SelColor}">
+ <Rectangle.RenderTransform>
+ <TranslateTransform X="{Binding Path=SelX}" Y="{Binding Path=SelY}"/>
+ </Rectangle.RenderTransform>
+ </Rectangle>
+
+ <ItemsControl ItemsSource="{Binding Path=TextBox}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <Canvas/>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}">
+ <Rectangle.RenderTransform>
+ <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
+ </Rectangle.RenderTransform>
+ </Rectangle>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <ItemsControl ItemsSource="{Binding Path=SelectedLines}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <Canvas/>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}">
+ <Rectangle.RenderTransform>
+ <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
+ </Rectangle.RenderTransform>
+ </Rectangle>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <ItemsControl ItemsSource="{Binding Path=TextBlocks}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <Canvas/>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" MouseLeave="ExitTextBlock" MouseEnter="EnterTextBlock">
+ <Rectangle.RenderTransform>
+ <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
+ </Rectangle.RenderTransform>
+ </Rectangle>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ <ItemsControl ItemsSource="{Binding Path=LinkBox}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <Canvas/>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" IsEnabled="True" MouseDown="LinkClick">
+ <Rectangle.RenderTransform>
+ <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
+ </Rectangle.RenderTransform>
+ </Rectangle>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+
+ </Canvas>
+ </DataTemplate>
+
+ <DataTemplate x:Key="ThumbTemplate">
+ <Image Width="{Binding Width}" Height="{Binding Height}" Stretch="Fill" HorizontalAlignment="Center" Source="{Binding BitMap}" Margin="24,24,0,0">
+ <Image.BitmapEffect>
+ <DropShadowBitmapEffect Color="Black" Direction="-50"
+ ShadowDepth="5" Softness=".7" />
+ </Image.BitmapEffect>
+ </Image>
+ </DataTemplate>
+
+ <Style TargetType="{x:Type Button}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <ControlTemplate.Triggers>
+ <Trigger Property="IsPressed" Value="True">
+ <Setter Property="Background" Value="Black" />
+ </Trigger>
+ </ControlTemplate.Triggers>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ <!-- Customize listview to turn off selection -->
+ </Window.Resources>
+
+ <!-- The following is needed to set up all the keyboard short cuts -->
+ <Window.CommandBindings>
+ <CommandBinding Command="Open" Executed="OpenFileCommand"></CommandBinding>
+ <CommandBinding Command="SelectAll" Executed="SelectAllCommand"></CommandBinding>
+ <CommandBinding Command="Copy" Executed="CopyCommand"></CommandBinding>
+ <CommandBinding Command="Print" Executed="PrintCommand"></CommandBinding>
+ <CommandBinding Command="Help" Executed="HelpCommand"></CommandBinding>
+ <CommandBinding Command="Close" Executed="CloseCommand"></CommandBinding>
+ </Window.CommandBindings>
+ <Window.InputBindings>
+ <KeyBinding Key="O" Modifiers="Control" Command="Open"></KeyBinding>
+ <KeyBinding Key="A" Modifiers="Control" Command="SelectAll"></KeyBinding>
+ <KeyBinding Key="C" Modifiers="Control" Command="Copy"></KeyBinding>
+ <KeyBinding Key="P" Modifiers="Control" Command="Print"></KeyBinding>
+ <KeyBinding Key="W" Modifiers="Control" Command="Close"></KeyBinding>
+ <KeyBinding Key="F1" Command="Help"></KeyBinding>
+ </Window.InputBindings>
+
+ <!-- To do add in command short cuts and bindings -->
+ <DockPanel LastChildFill="True">
+ <!-- Menu item at top -->
+ <Menu IsMainMenu="True" DockPanel.Dock="Top">
+ <MenuItem Header="_File" x:Name="xaml_file">
+ <MenuItem Header="_Open..." Command="Open" InputGestureText="Ctrl+O">
+ <MenuItem.Icon>
+ <Image Source="Resources/OpenFile.png" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <MenuItem Header="Save As..." x:Name="xaml_saveas">
+ <MenuItem.Icon>
+ <Image Source="Resources/saveHS.png" />
+ </MenuItem.Icon>
+ <MenuItem Header="PDF" Click="SavePDF" x:Name="xaml_savepdf"/>
+ <MenuItem Header="Linearized PDF" Click="Linearize" x:Name="xaml_linearize_pdf"/>
+ <MenuItem Header="PDF-1.3" Click="SavePDF13" x:Name="xaml_savepdf13"/>
+ <MenuItem Header="PDF/A" x:Name="xaml_savepdfa">
+ <MenuItem Header="PDF/A-1 RGB" Click="SavePDFA1_RGB" x:Name="xaml_savepdfa1_rgb"/>
+ <MenuItem Header="PDF/A-1 CMYK" Click="SavePDFA1_CMYK" x:Name="xaml_savepdfa1_cmyk"/>
+ <MenuItem Header="PDF/A-2 RGB" Click="SavePDFA2_RGB" x:Name="xaml_savepdfa2_rgb"/>
+ <MenuItem Header="PDF/A-2 CMYK" Click="SavePDFA2_CMYK" x:Name="xaml_savepdfa2_cmyk"/>
+ </MenuItem>
+ <MenuItem Header="PDF/X-3 Gray" Click="SavePDFX3_Gray" x:Name="xaml_savepdfx3_gray"/>
+ <MenuItem Header="PDF/X-3 CMYK" Click="SavePDFX3_CMYK" x:Name="xaml_savepdfx3_cmyk"/>
+ <MenuItem Header="PCL-XL" Click="SavePCLXL" x:Name="xaml_savepclxl"/>
+ <MenuItem Header="XPS" Click="SaveXPS"/>
+ <MenuItem Header="TEXT" Click="SaveText"/>
+ <MenuItem Header="HTML" Click="SaveHTML"/>
+ <MenuItem Header="XML" Click="SaveXML"/>
+ </MenuItem>
+ <MenuItem Header="_Close" Command="Close" InputGestureText="Ctrl+W" x:Name="xaml_closefile">
+ <MenuItem.Icon>
+ <Image Source="Resources/Close.ico" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <MenuItem Header="Info" Click="ShowInfo" x:Name="xaml_showinfo">
+ <MenuItem.Icon>
+ <Image Source="Resources/info.png" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <Separator />
+ <MenuItem Header="Extract Selection..." x:Name="xaml_extractselection">
+ <MenuItem.Icon>
+ <Image Source="Resources/saveHS.png" />
+ </MenuItem.Icon>
+ <MenuItem Header="PDF" Click="ExtractPDF" x:Name="xaml_extractpdf"/>
+ <MenuItem Header="EPS" Click="ExtractEPS" x:Name="xaml_extracteps"/>
+ <MenuItem Header="PS" Click="ExtractPS" x:Name="xaml_extractps"/>
+ </MenuItem>
+ <MenuItem Header="Page Conversions..." Click="ConvertClick" x:Name="xaml_conversions">
+ </MenuItem>
+ <Separator />
+ <MenuItem Header="Print..." Command="Print" InputGestureText="Ctrl+P" x:Name="xaml_print">
+ <MenuItem.Icon>
+ <Image Source="Resources/printer.ico" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <Separator />
+ <MenuItem Header="Show Messages" Click="ShowGSMessage" x:Name="xaml_gsmessage">
+ <MenuItem.Icon>
+ <Image Source="Resources/Message.png" />
+ </MenuItem.Icon>
+ </MenuItem>
+ </MenuItem>
+ <MenuItem Header="_Edit" x:Name="xaml_edit">
+ <MenuItem Header="Extract PDF Pages" Click="ExtractPages" x:Name="xaml_Extract">
+ <MenuItem.Icon>
+ <Image Source="Resources/saveHS.png" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <Separator />
+ <MenuItem Header="Copy Page" Click="CopyPage" x:Name="xaml_copypage">
+ <MenuItem.Icon>
+ <Image Source="Resources/copy.ico" />
+ </MenuItem.Icon>
+ </MenuItem>
+ <MenuItem Header="Paste Page To" x:Name="xaml_pastpageto">
+ <MenuItem Header="BMP" Click="PastePage" Tag="BMP"/>
+ <MenuItem Header="GIF" Click="PastePage" Tag="GIF"/>
+ <MenuItem Header="JPEG" Click="PastePage" Tag="JPG"/>
+ <MenuItem Header="PNG" Click="PastePage" Tag="PNG"/>
+ <MenuItem Header="TIFF" Click="PastePage" Tag="TIF"/>
+ <MenuItem Header="WDP (HD Photo)" Click="PastePage" Tag="WDP"/>
+ </MenuItem>
+ <Separator />
+ <MenuItem Header="Select Text All" Command="SelectAll" InputGestureText="Ctrl+A" x:Name="xaml_selectalltext" />
+ <MenuItem Header="Deselect Text" x:Name="xaml_deselecttext" />
+ <MenuItem Header="Copy Text" Command="Copy" InputGestureText="Ctrl+C" x:Name="xaml_copytext" />
+ </MenuItem>
+ <MenuItem Header="_View" x:Name="xaml_view">
+ <MenuItem Header="Next Page" Click="OnForwardPageClick"/>
+ <MenuItem Header="Previous Page" Click="OnBackPageClick"/>
+ <MenuItem Header="_Find" Click="Search"/>
+ </MenuItem>
+ <MenuItem Header="_Options">
+ <MenuItem Header="Output Intents" Click="OutputIntents" />
+ <MenuItem Header="Zoom Control" IsCheckable="true" Checked="ShowFooter" Unchecked="HideFooter"/>
+ <MenuItem Header="Show Annotations" IsCheckable="True" IsChecked ="True" Checked="AnnotationOn" Unchecked="AnnotationOff"/>
+ <MenuItem Header="AntiAlias" >
+ <MenuItem x:Name="xaml_AA_High" Header="High" IsCheckable="True" IsChecked="True" Checked="OnAAChecked" />
+ <MenuItem x:Name="xaml_AA_MedHigh" Header="Medium High" IsCheckable="True" IsChecked="False" Checked="OnAAChecked"/>
+ <MenuItem x:Name="xaml_AA_Med" Header="Medium" IsCheckable="True" IsChecked="False" Checked="OnAAChecked"/>
+ <MenuItem x:Name="xaml_AA_Low" Header="Low" IsCheckable="True" IsChecked="False" Checked="OnAAChecked" />
+ <MenuItem x:Name="xaml_AA_None" Header="None" IsCheckable="True" IsChecked="False" Checked="OnAAChecked" />
+ </MenuItem>
+
+ </MenuItem>
+
+ <MenuItem Header="_Help">
+ <MenuItem Header="GSView Help" Command="Help" InputGestureText="F1"/>
+ <MenuItem Header="About" Click="OnAboutClick"/>
+ </MenuItem>
+ </Menu>
+
+ <!-- List of icons for page navigation, print, etc -->
+ <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Background="WhiteSmoke">
+ <Button x:Name="xaml_open" Width="20" Height="20" Click="OpenFile" Background="Transparent" BorderBrush="Transparent" Margin="10,0,0,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/folder_open.ico"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button x:Name="xaml_SavePDF" Width="20" Height="20" Click="SavePDF" Background="Transparent" BorderBrush="Transparent" Margin="10,0,0,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/FloppyDisk.ico"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button x:Name="xaml_Print" Margin="10 0 0 0" Width="20" Height="20" Click="Print" Background="Transparent" BorderBrush="Transparent">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/printer.ico"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Rectangle Width="2" Height="20" Margin="10 0 0 0">
+ <Rectangle.Fill>
+ <SolidColorBrush Color="DarkGray">
+ </SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <Button Width="20" Height="20" x:Name="xaml_BackPage" Click="OnBackPageClick" Background="Transparent" BorderBrush="Transparent" Margin="10,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/Left.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Width="20" Height="20" x:Name="xaml_ForwardPage" Click="OnForwardPageClick" Background="Transparent" BorderBrush="Transparent">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/Right.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <TextBox x:Name="xaml_currPage" Grid.Row="0" Width="25" Height="20" VerticalScrollBarVisibility="Hidden"
+ HorizontalScrollBarVisibility="Hidden" TextAlignment="Center" Margin="10,2,0,2" PreviewKeyDown="PageEnterClicked"/>
+ <TextBlock Margin="5,0,0,0" Height="20" Text="/ 0" x:Name="xaml_TotalPages">
+ <TextBlock.FontSize>12</TextBlock.FontSize>
+ </TextBlock>
+ <Rectangle Width="2" Height="20" Margin="10 0 0 0">
+ <Rectangle.Fill>
+ <SolidColorBrush Color="DarkGray">
+ </SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+
+ <Button Margin="10 0 0 0" Width="20" Height="20" Click="ZoomIn" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_zoomIn">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/zoom_in.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Margin="10 0 0 0" x:Name="xaml_zoomOut" Width="20" Height="20" Click="ZoomOut" Background="Transparent" BorderBrush="Transparent">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/zoom_out.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <TextBox Grid.Row="0" Grid.Column="2" Width="30" Height="20" VerticalScrollBarVisibility="Hidden"
+ HorizontalScrollBarVisibility="Hidden" TextAlignment="Left" x:Name="xaml_Zoomsize"
+ Text="{Binding Mode=TwoWay, ElementName=xaml_ZoomSlider,Path=Value, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0"
+ PreviewKeyDown="ZoomEnterClicked"/>
+ <TextBlock Margin="5,0,0,0" Height="20" Text="%">
+ <TextBlock.FontSize>12</TextBlock.FontSize>
+ </TextBlock>
+
+ <Button Margin="10 0 0 0" Width="20" Height="20" Click="ActualSize" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ActualSize">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/ActualSize48.png"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+
+ <Button Margin="10 0 0 0" Width="20" Height="20" Click="ContScrollFill" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ContScrollFill">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/ContScrollFill48.png"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+
+ <Button Margin="10 0 0 0" Width="20" Height="20" Click="ExpandFill" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ExpandFill">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/ExpandFill48.png"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+
+
+ <Rectangle Width="2" Height="20" Margin="10 0 0 0">
+ <Rectangle.Fill>
+ <SolidColorBrush Color="DarkGray">
+ </SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <Button Margin="10 0 0 0" x:Name="xaml_Thumbs" Width="20" Height="20" Click="ToggleThumbs" Background="Transparent" BorderBrush="Transparent">
+ <Button.ToolTip>
+ <TextBlock Text="Thumbnails"/>
+ </Button.ToolTip>
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/thumbnail.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Margin="10 0 0 0" x:Name="xaml_Contents" Width="20" Height="20" Click="ToggleContents" Background="Transparent" BorderBrush="Transparent">
+ <Button.ToolTip>
+ <TextBlock Text="Contents"/>
+ </Button.ToolTip>
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/contents.ico"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Margin="10 0 0 0" x:Name="xaml_Search" Width="20" Height="20" Click="Search" Background="Transparent" BorderBrush="Transparent">
+ <Button.ToolTip>
+ <TextBlock Text="Search"/>
+ </Button.ToolTip>
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Width="20" Height="20">
+ <Rectangle.Fill>
+ <ImageBrush ImageSource="Resources/search.png"/>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Margin="10 0 0 0" x:Name="xaml_Links" Width="20" Height="20" Click="LinksToggle" Background="Transparent" BorderBrush="Transparent">
+ <Button.ToolTip>
+ <TextBlock Text="Hyperlinks"/>
+ </Button.ToolTip>
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/hyperlink.png"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ </StackPanel>
+
+ <!-- Search control -->
+ <Grid x:Name="xaml_SearchControl" Background="WhiteSmoke" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <TextBlock Grid.Row="0" Grid.Column="0" Margin="5,5,0,5"><Bold>Search:</Bold></TextBlock>
+ <TextBox x:Name="xaml_SearchText" Grid.Row="0" Grid.Column="1" Width="100" Height="20" VerticalScrollBarVisibility="Hidden"
+ HorizontalScrollBarVisibility="Hidden" TextAlignment="Center" Margin="5,5,0,5"/>
+ <Button Grid.Row="0" Grid.Column="2" Width="20" Height="20" Click="OnSearchBackClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/Left.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ <Button Grid.Row="0" Grid.Column="3" Width="20" Height="20" Click="OnSearchForwardClick" Background="Transparent" BorderBrush="Transparent">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Ellipse>
+ <Ellipse.Fill >
+ <ImageBrush ImageSource="Resources/Right.ico"/>
+ </Ellipse.Fill>
+ </Ellipse>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ </Button>
+ </Grid>
+
+ <!-- Footer control Currently just zoom slider in here but we may add more -->
+ <Grid x:Name="xaml_FooterControl" Background="WhiteSmoke" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <TextBlock Grid.Row="0" Grid.Column="0" Margin="5,0,0,0"><Bold>Zoom:</Bold></TextBlock>
+ <Slider x:Name="xaml_ZoomSlider" Grid.Row="0" Grid.Column="1" Margin="10, 0, 0, 0"
+ Width="150" Orientation="Horizontal" HorizontalAlignment="Center"
+ Value="100" Minimum="25" Maximum="400"
+ SmallChange="1" LargeChange="1"
+ TickPlacement="None" TickFrequency="1" IsSnapToTickEnabled="True"/>
+ </Grid>
+
+ <!-- The progress bar that runs while the thumbnails are rendered -->
+ <Grid x:Name="xaml_ProgressGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_ThumbProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch" />
+ <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Creating Thumbs</Bold></TextBlock>
+ <!-- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelThumb" Click="CancelLoadClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button> -->
+ </Grid>
+
+ <!-- The progress bar that runs during text search -->
+ <Grid x:Name="xaml_SearchGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_SearchProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch" />
+ <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Searching</Bold></TextBlock>
+ <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelSearch" Click="CancelSearchClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button>
+ </Grid>
+
+ <!-- The progress bar that runs during copy all text to clipboard -->
+ <Grid x:Name="xaml_CopyTextGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_CopyTextProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch" />
+ <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Printing</Bold></TextBlock>
+ <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelCopyText" Click="CancelCopyText" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button>
+ </Grid>
+
+ <!-- The progress bar that runs during printing -->
+ <Grid x:Name="xaml_PrintGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_PrintProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch" />
+ <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Printing</Bold></TextBlock>
+ <!-- Asyc Cancel crashes in windows 8 for this xps creation -->
+ <!-- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelPrint" Click="CancelPrintClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button> -->
+ </Grid>
+
+ <!-- The progress bar that runs during MuPDF page by page conversion to file-->
+ <Grid x:Name="xaml_MuPDFGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_MuPDFProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch"/>
+ <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>MuPDF Converting Document</Bold></TextBlock>
+ <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelMuPDF" Click="CancelMuPDFClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button>
+ </Grid>
+
+ <!-- The progress bar that runs during GS distilling -->
+ <Grid x:Name="xaml_DistillGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <ProgressBar x:Name="xaml_DistillProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
+ Maximum="100" Height="20" HorizontalAlignment="Stretch"/>
+ <TextBlock x:Name="xaml_DistillName" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Distilling</Bold></TextBlock>
+ <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelDistill" Click="CancelDistillClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
+ <Button.Template>
+ <ControlTemplate TargetType="{x:Type Button}">
+ <Grid>
+ <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
+ <Rectangle.Fill >
+ <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
+ </Rectangle.Fill>
+ </Rectangle>
+ <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+ </Grid>
+ </ControlTemplate>
+ </Button.Template>
+ <TextBlock><Bold>Cancel</Bold></TextBlock>
+ </Button>
+ </Grid>
+
+ <!-- Thumb viewer/selector -->
+ <Grid x:Name="xaml_ThumbGrid" Width="100" Background="DarkGray" DockPanel.Dock="Left" Visibility="Collapsed">
+ <ListView x:Name="xaml_ThumbList" HorizontalAlignment="Stretch"
+ ItemTemplate="{StaticResource ThumbTemplate}"
+ ScrollViewer.CanContentScroll="False"
+ Background="DarkGray"
+ PreviewMouseLeftButtonUp="ThumbSelected">
+ </ListView>
+ </Grid>
+
+ <!-- Contents viewer/selector. -->
+ <Grid x:Name="xaml_ContentGrid" Width="250" Background="DarkGray" DockPanel.Dock="Left" Visibility="Collapsed">
+ <ListView x:Name="xaml_ContentList" HorizontalAlignment="Stretch"
+ ScrollViewer.CanContentScroll="False" PreviewMouseLeftButtonUp="ContentSelected"
+ Background="DarkGray" >
+ <ListView.ItemTemplate>
+ <DataTemplate>
+ <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
+ <TextBlock TextWrapping="Wrap" Text="{Binding StringMargin}" FontFamily="Segoe UI" FontSize="11" />
+ </StackPanel>
+ </DataTemplate>
+ </ListView.ItemTemplate>
+ </ListView>
+ </Grid>
+
+ <Grid x:Name="xaml_OpenProgressGrid" HorizontalAlignment="Stretch" Background="DarkGray" DockPanel.Dock="Bottom" Visibility="Collapsed">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <TextBlock x:Name ="xaml_openfilestatus" Text="Opening File" Grid.Row="0" Grid.Column="0" Margin="0,0,0,10" HorizontalAlignment="Center"></TextBlock>
+ <ProgressBar Grid.Row="1" Grid.Column="0" x:Name="xaml_OpenProgress" Minimum="0"
+ Maximum="100" Height="20" Margin="100,0,100,200" HorizontalAlignment="Stretch" IsIndeterminate="True" />
+ </Grid>
+
+ <!-- The stock scroll bar that comes with the ListView scrollviewer does is not well behaved when
+ the page sizes change. So we have our own here that we will set up -->
+ <ScrollBar x:Name="xaml_VerticalScroll" Orientation="Vertical" Grid.Row="0" Grid.Column="1" DockPanel.Dock="Right"
+ Width ="5" Height="Auto" Margin="0,0,0,0" Background="WhiteSmoke" Visibility="Collapsed"
+ Scroll="VerticalScroll"/>
+
+ <!-- Pages are last child fill. This goes in the center of our dock panel ScrollViewer.CanContentScroll False allows continuous scrolling-->
+ <!-- <Grid x:Name="xaml_PageGrid" HorizontalAlignment="Stretch" Background="DarkGray" DockPanel.Dock="Left" AllowDrop="True"> -->
+ <ListView x:Name="xaml_PageList" HorizontalAlignment="Stretch"
+ ItemTemplate="{StaticResource PageTemplate}"
+ ScrollViewer.CanContentScroll="False"
+ Background="DarkGray"
+ ScrollViewer.ScrollChanged="ListViewScrollChanged"
+ MouseDoubleClick="PageDoubleClick" IsHitTestVisible="True"
+ SelectionMode="Single"
+ PreviewMouseLeftButtonDown="ListPreviewMouseLeftButtonDown"
+ PreviewMouseLeftButtonUp="ListPreviewLeftButtonUp"
+ MouseLeave="ListMouseLeave"
+ PreviewMouseMove="ListPreviewMouseMove"
+ ScrollViewer.HorizontalScrollBarVisibility="Auto"
+ ScrollViewer.VerticalScrollBarVisibility="Hidden"
+ ScrollViewer.IsDeferredScrollingEnabled ="False" DockPanel.Dock="Left" AllowDrop="True"
+ >
+ <!-- This keeps the pages in the center of the panel -->
+
+ <ListView.ItemContainerStyle>
+
+ <Style TargetType="ListViewItem">
+ <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
+ <EventSetter Event="RequestBringIntoView" Handler="AvoidScrollIntoView"/>
+ </Style>
+ </ListView.ItemContainerStyle>
+ </ListView>
+ <!-- </Grid> -->
+ </DockPanel>
+</Window>