From 62a997f4b3c0cb86002fc33ef1943a265b44b510 Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 2 Mar 2021 21:58:07 +0000 Subject: [PATCH] Tidied up docs and fixed several methods to be virtual --- Terminal.Gui/Views/TreeView.cs | 6 +++--- UICatalog/Scenarios/TreeUseCases.cs | 14 +++----------- docfx/articles/treeview.md | 23 ++++++----------------- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/Terminal.Gui/Views/TreeView.cs b/Terminal.Gui/Views/TreeView.cs index 4d1f7b2c7..e138b80d4 100644 --- a/Terminal.Gui/Views/TreeView.cs +++ b/Terminal.Gui/Views/TreeView.cs @@ -38,13 +38,13 @@ namespace Terminal.Gui { /// Children of the current node /// /// - public IList Children {get;set;} = new List(); + public virtual IList Children {get;set;} = new List(); /// /// Text to display in tree node for current entry /// /// - public string Text {get;set;} + public virtual string Text {get;set;} /// /// Optionally allows you to store some custom data/class here. @@ -730,7 +730,7 @@ namespace Terminal.Gui { /// Raises the event /// /// - protected void OnObjectActivated(ObjectActivatedEventArgs e) + protected virtual void OnObjectActivated(ObjectActivatedEventArgs e) { ObjectActivated?.Invoke(e); } diff --git a/UICatalog/Scenarios/TreeUseCases.cs b/UICatalog/Scenarios/TreeUseCases.cs index cd09aedc4..8891ed785 100644 --- a/UICatalog/Scenarios/TreeUseCases.cs +++ b/UICatalog/Scenarios/TreeUseCases.cs @@ -45,28 +45,20 @@ namespace UICatalog.Scenarios { // Your data class private class House : TreeNode { - // Your properties public string Address {get;set;} public List Rooms {get;set;} // ITreeNode member: + public override IList Children => Rooms.Cast().ToList(); - public IList Children => Rooms.Cast().ToList(); - - public override string ToString () - { - return Address; - } + public override string Text { get => Address; set => Address = value; } } private class Room : TreeNode{ public string Name {get;set;} - public override string ToString () - { - return Name; - } + public override string Text{get=>Name;set{Name=value;}} } private void LoadRooms() diff --git a/docfx/articles/treeview.md b/docfx/articles/treeview.md index 1000d10ad..7954d7d26 100644 --- a/docfx/articles/treeview.md +++ b/docfx/articles/treeview.md @@ -35,35 +35,24 @@ Having to create a bunch of TreeNode objects can be a pain especially if you alr ```csharp // Your data class private class House : TreeNode { - - + // Your properties public string Address {get;set;} public List Rooms {get;set;} // ITreeNode member: + public override IList Children => Rooms.Cast().ToList(); - public IList Children => Rooms.Cast().ToList(); - - public override string ToString () - { - return Address; - } + public override string Text { get => Address; set => Address = value; } } + // Your other data class private class Room : TreeNode{ - + public string Name {get;set;} - - // Rooms have no sub objects - public IList Children => new List(); - - public override string ToString () - { - return Name; - } + public override string Text{get=>Name;set{Name=value;}} } ```