From 23e65d63a7ffb9829339d45409ffc34eee39d67f Mon Sep 17 00:00:00 2001 From: Tig Kindel Date: Mon, 4 Mar 2024 12:29:10 -0700 Subject: [PATCH] Added Padding button to Adornments scenario --- UICatalog/Scenarios/Adornments.cs | 9 ++--- UnitTests/View/Adornment/AdornmentTests.cs | 45 ++++++++++++++++++++++ 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/UICatalog/Scenarios/Adornments.cs b/UICatalog/Scenarios/Adornments.cs index 0c0ca1e4d..ac21ec7ca 100644 --- a/UICatalog/Scenarios/Adornments.cs +++ b/UICatalog/Scenarios/Adornments.cs @@ -50,7 +50,7 @@ public class Adornments : Scenario }; label.Border.Thickness = new Thickness (1, 3, 1, 1); - var tf2 = new Button { X = Pos.AnchorEnd (10), Y = Pos.AnchorEnd (1), Text = "Button" }; + var btnButtonInWindow = new Button { X = Pos.AnchorEnd (10), Y = Pos.AnchorEnd (1), Text = "Button" }; var tv = new Label { @@ -70,7 +70,7 @@ public class Adornments : Scenario view.Padding.Data = "Padding"; view.Padding.Thickness = new Thickness (3); - view.Add (tf1, color, button, label, tf2, tv); + view.Add (tf1, color, button, label, btnButtonInWindow, tv); var editor = new AdornmentsEditor { @@ -85,9 +85,8 @@ public class Adornments : Scenario editor.Initialized += (s, e) => { editor.ViewToEdit = view; }; - //view.Margin.ColorScheme = new ColorScheme (Colors.ColorSchemes ["Dialog"]); - //view.Border.ColorScheme = new ColorScheme (Colors.ColorSchemes ["Error"]); - //view.Padding.ColorScheme = new ColorScheme (Colors.ColorSchemes ["Menu"]); + var btnButtonInPadding = new Button { X = Pos.Center(), Y = 0, Text = "Button in Padding" }; + view.Padding.Add (btnButtonInPadding); Application.Run (editor); Application.Shutdown (); diff --git a/UnitTests/View/Adornment/AdornmentTests.cs b/UnitTests/View/Adornment/AdornmentTests.cs index 6b2d5765b..6049bced0 100644 --- a/UnitTests/View/Adornment/AdornmentTests.cs +++ b/UnitTests/View/Adornment/AdornmentTests.cs @@ -289,4 +289,49 @@ public class AdornmentTests adornment.Thickness = new Thickness (1, 2, 3, 4); Assert.True (raised); } + + [Fact] + public void Adornment_WithSubView_FindDeepestView_Finds () + { + var view = new View () { + Width = 10, + Height = 10 + + }; + view.Padding.Thickness = new Thickness (1); + + var subView = new View () { + X = 0, + Y =0, + Width = 1, + Height = 1 + }; + view.Padding.Add (subView); + + Assert.Equal (subView, View.FindDeepestView (view, 0, 0)); + } + + [Fact] + public void Adornment_WithNonVisibleSubView_FindDeepestView_Finds_Adornment () + { + var view = new View () + { + Width = 10, + Height = 10 + + }; + view.Padding.Thickness = new Thickness (1); + + var subView = new View () + { + X = 0, + Y = 0, + Width = 1, + Height = 1, + Visible = false + }; + view.Padding.Add (subView); + + Assert.Equal (view.Padding, View.FindDeepestView (view, 0, 0)); + } }