Ver código fonte

More PosDim.cs code cleanup

Tig 1 ano atrás
pai
commit
3111a2cd2f
1 arquivos alterados com 23 adições e 40 exclusões
  1. 23 40
      Terminal.Gui/View/Layout/PosDim.cs

+ 23 - 40
Terminal.Gui/View/Layout/PosDim.cs

@@ -229,7 +229,10 @@ public class Pos
         }
 
         var newPos = new PosCombine (true, left, right);
-        SetPosCombine (left, newPos);
+        if (left is PosView view)
+        {
+            view.Target.SetNeedsLayout ();
+        }
 
         return newPos;
     }
@@ -254,7 +257,10 @@ public class Pos
         }
 
         var newPos = new PosCombine (false, left, right);
-        SetPosCombine (left, newPos);
+        if (left is PosView view)
+        {
+            view.Target.SetNeedsLayout ();
+        }
 
         return newPos;
     }
@@ -309,15 +315,6 @@ public class Pos
 
     internal virtual int Anchor (int width) { return 0; }
 
-    // BUGBUG: newPos is never used
-    private static void SetPosCombine (Pos left, PosCombine newPos)
-    {
-        if (left is PosView view)
-        {
-            view.Target.SetNeedsLayout ();
-        }
-    }
-
     internal virtual int GetLocation (int superviewDimension, Dim dim, int autosize, bool autoSize) { return Anchor (superviewDimension); }
 
     internal class PosAbsolute (int n) : Pos
@@ -451,7 +448,7 @@ public class Pos
 
         public override string ToString ()
         {
-            string side1 = side switch
+            string sideString = side switch
                            {
                                Side.X => "x",
                                Side.Y => "y",
@@ -465,20 +462,19 @@ public class Pos
                 throw new NullReferenceException (nameof (Target));
             }
 
-            return $"View(side={side1},target={Target})";
+            return $"View(side={sideString},target={Target})";
         }
 
         internal override int Anchor (int width)
         {
-            switch (side)
-            {
-                case Side.X: return Target.Frame.X;
-                case Side.Y: return Target.Frame.Y;
-                case Side.Right: return Target.Frame.Right;
-                case Side.Bottom: return Target.Frame.Bottom;
-                default:
-                    return 0;
-            }
+            return side switch
+                   {
+                       Side.X => Target.Frame.X,
+                       Side.Y => Target.Frame.Y,
+                       Side.Right => Target.Frame.Right,
+                       Side.Bottom => Target.Frame.Bottom,
+                       _ => 0
+                   };
         }
     }
 }
@@ -597,7 +593,7 @@ public class Dim
         }
 
         var newDim = new DimCombine (true, left, right);
-        SetDimCombine (left, newDim);
+        (left as DimView)?.Target.SetNeedsLayout ();
 
         return newDim;
     }
@@ -622,7 +618,7 @@ public class Dim
         }
 
         var newDim = new DimCombine (false, left, right);
-        SetDimCombine (left, newDim);
+        (left as DimView)?.Target.SetNeedsLayout ();
 
         return newDim;
     }
@@ -677,9 +673,6 @@ public class Dim
         return autoSize && autosize > newDimension ? autosize : newDimension;
     }
 
-    // BUGBUG: newPos is never used.
-    private static void SetDimCombine (Dim left, DimCombine newPos) { (left as DimView)?.Target.SetNeedsLayout (); }
-
     internal class DimAbsolute (int n) : Dim
     {
         private readonly int _n = n;
@@ -693,7 +686,6 @@ public class Dim
             // DimAbsolute.Anchor (int width) ignores width and returns n
             int newDimension = Math.Max (Anchor (0), 0);
 
-            // BUGBUG: AutoSize does two things: makes text fit AND changes the view's dimensions
             return autoSize && autosize > newDimension ? autosize : newDimension;
         }
     }
@@ -751,16 +743,7 @@ public class Dim
 
         internal override int GetDimension (int location, int dimension, int autosize, bool autoSize)
         {
-            int newDimension;
-
-            if (_remaining)
-            {
-                newDimension = Math.Max (Anchor (dimension - location), 0);
-            }
-            else
-            {
-                newDimension = Anchor (dimension);
-            }
+            int newDimension = _remaining ? Math.Max (Anchor (dimension - location), 0) : Anchor (dimension);
 
             return autoSize && autosize > newDimension ? autosize : newDimension;
         }
@@ -812,14 +795,14 @@ public class Dim
                 throw new NullReferenceException ();
             }
 
-            string side = _side switch
+            string sideString = _side switch
                           {
                               Side.Height => "Height",
                               Side.Width => "Width",
                               _ => "unknown"
                           };
 
-            return $"View({side},{Target})";
+            return $"View({sideString},{Target})";
         }
 
         internal override int Anchor (int width)