From f55d72c5a536ba78040dcb39869e4a76802c3dd4 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Tue, 19 Sep 2017 14:20:48 +0300 Subject: [PATCH] expand all / collapse all - fix #448 --- src/dlangui/widgets/tree.d | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/dlangui/widgets/tree.d b/src/dlangui/widgets/tree.d index 2cae1a6d..66b1d8ea 100644 --- a/src/dlangui/widgets/tree.d +++ b/src/dlangui/widgets/tree.d @@ -185,6 +185,24 @@ class TreeItem { void collapse() { _expanded = false; } + /// expand this node and all children + void expandAll() { + foreach(c; _children) { + if (!c._expanded && c.canCollapse) //? + c.expandAll(); + } + if (!expanded) + toggleExpand(this); + } + /// expand this node and all children + void collapseAll() { + foreach(c; _children) { + if (c._expanded && c.canCollapse) + c.collapseAll(); + } + if (expanded) + toggleExpand(this); + } @property TreeItem selectedItem() { return root.selectedItem();