From 23f2f846718fdeb434fc0b5745423e3e41dc247d Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Thu, 21 May 2020 19:04:47 -0600 Subject: [PATCH] showing Pos.Bottom issue --- UICatalog/Scenarios/ComputedLayout.cs | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/UICatalog/Scenarios/ComputedLayout.cs b/UICatalog/Scenarios/ComputedLayout.cs index 77f3d514b..d66194f22 100644 --- a/UICatalog/Scenarios/ComputedLayout.cs +++ b/UICatalog/Scenarios/ComputedLayout.cs @@ -98,6 +98,36 @@ namespace UICatalog { Y = Pos.At(10) }; Win.Add (absoluteButton); + + // Centering multiple controls horizontally. + // This is intentionally convoluted to illustrate potential bugs. + var bottomLabel = new Label ("This should be the last line (Bug #xxx).") { + TextAlignment = Terminal.Gui.TextAlignment.Centered, + ColorScheme = Colors.TopLevel, + Width = Dim.Fill (), + X = Pos.Center (), + Y = Pos.Bottom (Win) - 3 // BUGBUG: -1 should be just above border; but it has to be -3 + }; + + var centerButton = new Button ("Center") { + X = Pos.Center (), + Y = Pos.Top(bottomLabel) - 1 + }; + var leftButton = new Button ("Left") { + Y = Pos.Top (bottomLabel) - 1 + }; + var rightButton = new Button ("Right") { + Y = Pos.Top (bottomLabel) - 1 + }; + + leftButton.X = Pos.Left (centerButton) - leftButton.Frame.Width - 5; + rightButton.X = Pos.Right (centerButton) + 5; + + Win.Add (bottomLabel); + Win.Add (leftButton); + Win.Add (centerButton); + Win.Add (rightButton); + } public override void Run ()