Add test for marking event Handled and demo how to do custom drawing

This commit is contained in:
tznind
2023-07-23 17:47:18 +01:00
committed by Tig
parent 101db86bfa
commit 4dbf2f4cfd

View File

@@ -1123,6 +1123,47 @@ oot two
Assert.Equal ("root two", eventArgs [2].Model.Text);
}
[Fact, AutoInitShutdown]
public void TestTreeView_DrawLineEvent_Handled ()
{
var tv = new TreeView { Width = 20, Height = 10 };
tv.DrawLine += (s, e) => {
if(e.Model.Text.Equals("leaf 1")) {
e.Handled = true;
for (int i = 0; i < 10; i++) {
e.Tree.AddRune (i,e.Y,new System.Text.Rune('F'));
}
}
};
var n1 = new TreeNode ("root one");
var n1_1 = new TreeNode ("leaf 1");
var n1_2 = new TreeNode ("leaf 2");
n1.Children.Add (n1_1);
n1.Children.Add (n1_2);
var n2 = new TreeNode ("root two");
tv.AddObject (n1);
tv.AddObject (n2);
tv.Expand (n1);
tv.ColorScheme = new ColorScheme ();
tv.LayoutSubviews ();
tv.Draw ();
// Normal drawing of the tree view
TestHelpers.AssertDriverContentsAre (
@"
├-root one
FFFFFFFFFF
│ └─leaf 2
└─root two
", output);
}
[Fact, AutoInitShutdown]
public void TestTreeView_Filter ()
{