From 19822c0f18f0ea058ec19757baca4873a0d4c0ff Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Mon, 18 Sep 2023 21:35:01 +0100 Subject: [PATCH] improved tree --- TermTk/TTkWidgets/TTkModelView/tree.py | 3 ++- TermTk/TTkWidgets/TTkModelView/treewidget.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/TermTk/TTkWidgets/TTkModelView/tree.py b/TermTk/TTkWidgets/TTkModelView/tree.py index b9a1f742..5e6dfc53 100644 --- a/TermTk/TTkWidgets/TTkModelView/tree.py +++ b/TermTk/TTkWidgets/TTkModelView/tree.py @@ -33,7 +33,7 @@ class TTkTree(TTkAbstractScrollArea): 'itemActivated', 'itemChanged', 'itemClicked', 'itemExpanded', 'itemCollapsed', 'itemDoubleClicked', # Forwarded Methods 'setAlignment', 'setHeader', 'setHeaderLabels', 'setColumnSize', 'setColumnColors', 'appendItem', - 'addTopLevelItem', 'takeTopLevelItem', 'topLevelItem', 'indexOfTopLevelItem', 'selectedItems', 'clear' ) + 'addTopLevelItem', 'addTopLevelItems', 'takeTopLevelItem', 'topLevelItem', 'indexOfTopLevelItem', 'selectedItems', 'clear' ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -58,6 +58,7 @@ class TTkTree(TTkAbstractScrollArea): #self.setColumnColors = self._treeView.setColumnColors #self.appendItem = self._treeView.appendItem self.addTopLevelItem = self._treeView.addTopLevelItem + self.addTopLevelItems = self._treeView.addTopLevelItems self.takeTopLevelItem = self._treeView.takeTopLevelItem self.topLevelItem = self._treeView.topLevelItem self.indexOfTopLevelItem = self._treeView.indexOfTopLevelItem diff --git a/TermTk/TTkWidgets/TTkModelView/treewidget.py b/TermTk/TTkWidgets/TTkModelView/treewidget.py index 34b116e3..8ca0079b 100644 --- a/TermTk/TTkWidgets/TTkModelView/treewidget.py +++ b/TermTk/TTkWidgets/TTkModelView/treewidget.py @@ -126,6 +126,14 @@ class TTkTreeWidget(TTkAbstractScrollView): self.viewChanged.emit() self.update() + def addTopLevelItems(self, items): + self._rootItem.addChildren(items) + for item in items: + item.setParent(self) + self._refreshCache() + self.viewChanged.emit() + self.update() + def takeTopLevelItem(self, index): self._rootItem.takeChild(index) self._refreshCache()