Jelajahi Sumber

ScansPanel now a DockPanel

Kenric Nugteren 2 tahun lalu
induk
melakukan
b33de5a3ec

+ 17 - 0
prs.desktop/MainWindow.xaml

@@ -1124,6 +1124,23 @@
                                     <local:DigitalFormsDock x:Name="DigitalForms" />
                                 </Border>
                             </LayoutAnchorable>
+                            
+                            <LayoutAnchorable
+                                x:Name="ScansDock"
+                                Title="Scans"
+                                ContentId="scans"
+                                CanClose="False"
+                                CanFloat="False"
+                                CanHide="False"
+                                CanAutoHide="True"
+                                CanDockAsTabbedDocument="False"
+                                AutoHideWidth="500"
+                                FloatingWidth="500"
+                                IsActiveChanged="DockPanel_OnIsActiveChanged">
+                                <Border BorderThickness="0.75" BorderBrush="Gray">
+                                    <local:ScanPanel x:Name="Scans" />
+                                </Border>
+                            </LayoutAnchorable>
 
                         </LayoutAnchorGroup>
                     </LayoutAnchorSide>

+ 1 - 0
prs.desktop/MainWindow.xaml.cs

@@ -1009,6 +1009,7 @@ namespace PRSDesktop
                         SetupDock<CanViewDeliveryDock>(DeliveryDock, Deliveries);
                         SetupDock<CanViewProductDock>(ProductLookupDock, ProductLookup);
                         SetupDock<CanViewDigitalFormsDock>(DigitalFormsDock, DigitalForms);
+                        SetupDock<CanViewDataEntryPanel>(ScansDock, Scans);
 
                         _ribbon.InvalidateArrange();
                     }

+ 2 - 1
prs.desktop/Panels/DataEntry/ScanPanel.xaml

@@ -7,7 +7,8 @@
              xmlns:dynamic="clr-namespace:InABox.DynamicGrid;assembly=InABox.DynamicGrid"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800">
-    <dynamic:DynamicTabControl x:Name="TabControl" SelectionChanged="TabControl_SelectionChanged">
+    <dynamic:DynamicTabControl x:Name="TabControl" SelectionChanged="TabControl_SelectionChanged"
+                               TabStripPlacement="Bottom">
         <dynamic:DynamicTabItem Header="Scans"
                                 AllowDrop="True"
                                 PreviewDragOver="DynamicTabItem_DragOver"

+ 7 - 6
prs.desktop/Panels/DataEntry/ScanPanel.xaml.cs

@@ -75,7 +75,7 @@ namespace PRSDesktop
     /// <summary>
     /// Interaction logic for ScanPanel.xaml
     /// </summary>
-    public partial class ScanPanel : UserControl, ICorePanel
+    public partial class ScanPanel : UserControl, ICorePanel, IDockPanel
     {
         private List<Scan> SelectedScans = new();
         private Type? appliesTo;
@@ -127,17 +127,18 @@ namespace PRSDesktop
             }
         }
 
-        private List<byte[]> RenderTextFile(string textData)
+        private static List<byte[]> RenderTextFile(string textData)
         {
             var pdfDocument = new PdfDocument();
             var page = pdfDocument.Pages.Add();
-            var graphics = page.Graphics;
 
             var font = new PdfStandardFont(PdfFontFamily.Courier, 14);
             var textElement = new PdfTextElement(textData, font);
-            var layoutFormat = new PdfLayoutFormat();
-            layoutFormat.Layout = PdfLayoutType.Paginate;
-            layoutFormat.Break = PdfLayoutBreakType.FitPage;
+            var layoutFormat = new PdfLayoutFormat
+            {
+                Layout = PdfLayoutType.Paginate,
+                Break = PdfLayoutBreakType.FitPage
+            };
 
             textElement.Draw(page, new RectangleF(0, 0, page.GetClientSize().Width, page.GetClientSize().Height), layoutFormat);