TreeModel: Make TreeModelVisitor useful

Functions that are meant to be overridden should be virtual.
Also add a convience level() function, seems to be a common need.

Change-Id: I09d452ab12f0ac29fb31de853057511418a47e7e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-02-06 21:00:56 +01:00
parent 10f36eada5
commit a4b2801fed
2 changed files with 13 additions and 3 deletions

View File

@@ -777,10 +777,13 @@ void TreeItem::setModel(TreeModel *model)
void TreeItem::walkTree(TreeItemVisitor *visitor)
{
if (visitor->preVisit(this)) {
++visitor->m_level;
visitor->visit(this);
foreach (TreeItem *item, m_children)
item->walkTree(visitor);
--visitor->m_level;
}
visitor->postVisit(this);
}
void TreeItem::walkTree(std::function<void (TreeItem *)> f)