فهرست منبع

Added ability to hide sequence buttons on dynamic grid

Kenric Nugteren 11 ماه پیش
والد
کامیت
77726d214a
1فایلهای تغییر یافته به همراه10 افزوده شده و 8 حذف شده
  1. 10 8
      inabox.wpf/DynamicGrid/DynamicGrid.cs

+ 10 - 8
inabox.wpf/DynamicGrid/DynamicGrid.cs

@@ -201,7 +201,7 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
             AddHiddenColumn(column);
         }
 
-        if (IsSequenced)
+        if (ShowSequenceButtons)
         {
             up = new DynamicRowMovementColumn(DynamicRowMovement.Up, SwapRows);
             ActionColumns.Add(up);
@@ -385,7 +385,7 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
 
     bool IDynamicGridUIComponentParent<T>.CanSort()
     {
-        return !IsSequenced;
+        return !ShowSequenceButtons;
     }
 
     T IDynamicGrid<T>.LoadItem(CoreRow row) => LoadItem(row);
@@ -420,7 +420,7 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
 
     void IDynamicGridUIComponentParent<T>.HandleKey(KeyEventArgs e)
     {
-        if (IsSequenced)
+        if (ShowSequenceButtons)
         {
             if (e.Key == Key.X && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
             {
@@ -637,6 +637,8 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
 
     private static bool IsSequenced => typeof(T).GetInterfaces().Any(x => x.Equals(typeof(ISequenceable)));
 
+    protected virtual bool ShowSequenceButtons => IsSequenced;
+
     public double RowHeight
     {
         get => UIComponent.RowHeight;
@@ -676,10 +678,10 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
         Print.Visibility = Options.Print ? Visibility.Visible : Visibility.Collapsed;
         PrintSpacer.Visibility = Options.Print ? Visibility.Visible : Visibility.Collapsed;
 
-        Cut.Visibility = IsSequenced && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
-        Copy.Visibility = IsSequenced && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
-        Paste.Visibility = IsSequenced && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
-        ClipboardSpacer.Visibility = IsSequenced && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
+        Cut.Visibility = ShowSequenceButtons && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
+        Copy.Visibility = ShowSequenceButtons && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
+        Paste.Visibility = ShowSequenceButtons && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
+        ClipboardSpacer.Visibility = ShowSequenceButtons && Options.EditRows ? Visibility.Visible : Visibility.Collapsed;
 
         Export.Visibility = Options.ExportData ? Visibility.Visible : Visibility.Collapsed;
         Import.Visibility = Options.ImportData ? Visibility.Visible : Visibility.Collapsed;
@@ -1881,7 +1883,7 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
         if (ClipBuffer == null)
             return;
 
-        if (!IsSequenced)
+        if (!ShowSequenceButtons)
             return;
 
         using (new WaitCursor())