瀏覽代碼

WPF - support for Staging Setout functionality

Nick-PRSDigital@bitbucket.org 1 年之前
父節點
當前提交
1f548fd035

+ 5 - 0
inabox.wpf/DynamicGrid/DynamicGrid.cs

@@ -414,6 +414,9 @@ namespace InABox.DynamicGrid
         public override event EntitySaveEvent? OnBeforeSave;
         public override event EntitySaveEvent? OnAfterSave;
 
+        public delegate void EditorLoaded(IDynamicEditorForm editor, T[] items);
+        public event EditorLoaded OnEditorLoaded;
+
         #endregion
 
         private DynamicGridCellStyleConverter<System.Windows.Media.Brush?> CellBackgroundConverter;
@@ -2674,6 +2677,7 @@ namespace InABox.DynamicGrid
             OnBeforeSave?.Invoke(editor, items);
         }
 
+
         public override bool EditItems(T[] items, Func<Type, CoreTable>? PageDataHandler = null, bool PreloadPages = false)
         {
             DynamicEditorForm editor;
@@ -2683,6 +2687,7 @@ namespace InABox.DynamicGrid
                 editor.SetValue(Panel.ZIndexProperty, 999);
 
                 InitialiseEditorForm(editor, items, PageDataHandler, PreloadPages);
+                OnEditorLoaded?.Invoke(editor, items);
             }
 
             return editor.ShowDialog() == true;

+ 11 - 6
inabox.wpf/DynamicGrid/PDF/DocumentApprovalControl.xaml

@@ -3,7 +3,6 @@
              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:local="clr-namespace:InABox.DynamicGrid"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800">
     <Grid>
@@ -16,11 +15,17 @@
         </ScrollViewer>
 
         <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0.5">
-            <StackPanel Orientation="Horizontal"  HorizontalAlignment="Right">
-                <Button Grid.Column="0" Content="Mark Up" HorizontalAlignment="Right" Height="35" Padding="20, 5, 20, 5" Margin="5" x:Name="markUpButton" Click="MarkUpButton_Click"/>
-                <Button Grid.Column="1" Content="Approve" HorizontalAlignment="Right" Height="35" Padding="20, 5, 20, 5" Margin="5" x:Name="approveButton" Click="ApproveButton_Click"/>
-                <Button Grid.Column="2" Content="Reject" HorizontalAlignment="Right" Height="35" Padding="20, 5, 20, 5" Margin="5, 5, 15, 5" x:Name="rejectButton" Click="RejectButton_Click"/>
-            </StackPanel>
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="auto"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="Mark Up" HorizontalAlignment="Left" Height="35" Padding="20, 5, 20, 5" Margin="5" x:Name="markUpButton" Click="MarkUpButton_Click" IsEnabled="False"/>
+                <StackPanel Grid.Column="1" Orientation="Horizontal"  HorizontalAlignment="Right">
+                    <Button Grid.Column="1" Content="Approve" HorizontalAlignment="Right" Height="35" Padding="20, 5, 20, 5" Margin="5" x:Name="approveButton" Click="ApproveButton_Click"/>
+                    <Button Grid.Column="2" Content="Reject" HorizontalAlignment="Right" Height="35" Padding="20, 5, 20, 5" Margin="5, 5, 15, 5" x:Name="rejectButton" Click="RejectButton_Click" IsEnabled="False"/>
+                </StackPanel>
+            </Grid>
         </Border>
     </Grid>
 </UserControl>

+ 10 - 6
inabox.wpf/DynamicGrid/PDF/DocumentApprovalControl.xaml.cs

@@ -24,6 +24,9 @@ namespace InABox.Wpf
     /// </summary>
     public partial class DocumentApprovalControl : UserControl, IDocumentEditor
     {
+        public delegate void MarkupSelected(IEntityDocument document);
+        public event MarkupSelected OnMarkupSelected;
+
         public delegate void MarkupComplete(IEntityDocument document);
         public event MarkupComplete OnMarkupComplete;
 
@@ -49,8 +52,9 @@ namespace InABox.Wpf
                 if (_mode == ControlMode.Markup)
                 {
                     markUpButton.Content = "Mark Up";
-                    approveButton.IsEnabled = true;
-                    rejectButton.IsEnabled = true;
+                    markUpButton.IsEnabled = Document != null;
+                    approveButton.IsEnabled = Document != null;
+                    rejectButton.IsEnabled = Document != null;
                 }
                 else if (_mode == ControlMode.Complete)
                 {
@@ -61,9 +65,9 @@ namespace InABox.Wpf
             }
         }
 
-        public void SetupButtons(bool markeupVisible = true, bool approveVisible = true, bool rejectVisible = true)
+        public void SetupButtons(bool markupVisible = true, bool approveVisible = true, bool rejectVisible = true)
         { 
-            markUpButton.Visibility = markeupVisible? Visibility.Visible : Visibility.Collapsed;
+            markUpButton.Visibility = markupVisible? Visibility.Visible : Visibility.Collapsed;
             approveButton.Visibility = approveVisible? Visibility.Visible : Visibility.Collapsed;
             rejectButton.Visibility = rejectVisible? Visibility.Visible : Visibility.Collapsed;
         }
@@ -108,8 +112,8 @@ namespace InABox.Wpf
             if (Mode == ControlMode.Markup)
             {
                 Mode = ControlMode.Complete;
-                MessageBox.Show("This will now launch the configured mark up program - please save and overwrite the original file when done, and press complete to refresh");
-                //launch shell command
+                MessageBox.Show("IMPORTANT - please save and overwrite the original file in the setouts folder when done, and press complete to refresh");
+                OnMarkupSelected?.Invoke(_document);
             }
             else
             {