From 64042132ed90385fcfbdbe4e4aef964d2b153044 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 16 Dec 2020 19:25:27 +0000 Subject: [PATCH] Fixed collapse scrolling and color for expand/collapse --- Terminal.Gui/Views/TreeView.cs | 3 ++- UICatalog/Scenarios/TreeViewFileSystem.cs | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Terminal.Gui/Views/TreeView.cs b/Terminal.Gui/Views/TreeView.cs index 5c9e57bcb..70ad88e63 100644 --- a/Terminal.Gui/Views/TreeView.cs +++ b/Terminal.Gui/Views/TreeView.cs @@ -591,6 +591,7 @@ namespace Terminal.Gui { var parent = GetParent(SelectedObject); if(parent != null){ SelectedObject = parent; + AdjustSelection(0); SetNeedsDisplay(); } } @@ -624,7 +625,7 @@ namespace Terminal.Gui { /// /// If nothing is currently selected the first root is selected. If the selected object is no longer in the tree the first object is selected /// - private void AdjustSelection (int offset) + public void AdjustSelection (int offset) { if(SelectedObject == null){ SelectedObject = roots.Keys.FirstOrDefault(); diff --git a/UICatalog/Scenarios/TreeViewFileSystem.cs b/UICatalog/Scenarios/TreeViewFileSystem.cs index 2fa807ed2..a9ba12fac 100644 --- a/UICatalog/Scenarios/TreeViewFileSystem.cs +++ b/UICatalog/Scenarios/TreeViewFileSystem.cs @@ -28,6 +28,8 @@ namespace UICatalog.Scenarios { private MenuItem miArrowSymbols; private MenuItem miNoSymbols; private MenuItem miColoredSymbols; + private Terminal.Gui.Attribute green; + private Terminal.Gui.Attribute red; public override void Setup () { @@ -91,6 +93,9 @@ namespace UICatalog.Scenarios { SetupNodeTree(); Win.Add(treeViewNodes); + + green = Application.Driver.MakeAttribute (Color.Green, Color.Blue); + red = Application.Driver.MakeAttribute (Color.Red, Color.Blue); } private void SetupNodeTree () @@ -145,22 +150,23 @@ namespace UICatalog.Scenarios { } private void ShowColoredExpandableSymbols() { - ShowColoredExpandableSymbols(treeViewNodes); + miColoredSymbols.Checked = !miColoredSymbols.Checked; + ShowColoredExpandableSymbols(treeViewFiles); + ShowColoredExpandableSymbols(treeViewNodes); } private void ShowColoredExpandableSymbols (ITreeView treeView) { - miColoredSymbols.Checked = !miColoredSymbols.Checked; // Toggle Green expand symbols if(miColoredSymbols.Checked) - treeView.Style.ExpandableSymbolColor = new Terminal.Gui.Attribute(Color.Green,Win.ColorScheme.Normal.Background); + treeView.Style.ExpandableSymbolColor = green; else treeView.Style.ExpandableSymbolColor = null; //clear it // Toggle Red collapse symbols if(miColoredSymbols.Checked) - treeView.Style.CollapseableSymbolColor = new Terminal.Gui.Attribute(Color.Red,Win.ColorScheme.Normal.Background); + treeView.Style.CollapseableSymbolColor = red; else treeView.Style.CollapseableSymbolColor = null; //clear it