diff options
Diffstat (limited to 'src/libs/utils/treemodel.h')
-rw-r--r-- | src/libs/utils/treemodel.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libs/utils/treemodel.h b/src/libs/utils/treemodel.h index 8e0c4407d2..63818b27c2 100644 --- a/src/libs/utils/treemodel.h +++ b/src/libs/utils/treemodel.h @@ -54,6 +54,9 @@ public: void prependChild(TreeItem *item); void appendChild(TreeItem *item); void insertChild(int pos, TreeItem *item); + void insertOrderedChild(TreeItem *item, + const std::function<bool(const TreeItem *, const TreeItem *)> &cmp); + void removeChildAt(int pos); void removeChildren(); void sortChildren(const std::function<bool(const TreeItem *, const TreeItem *)> &cmp); @@ -135,6 +138,14 @@ public: ParentType *parent() const { return static_cast<ParentType *>(TreeItem::parent()); } + + void insertOrderedChild(ChildType *item, const std::function<bool(const ChildType *, const ChildType *)> &cmp) + { + const auto cmp0 = [cmp](const TreeItem *lhs, const TreeItem *rhs) { + return cmp(static_cast<const ChildType *>(lhs), static_cast<const ChildType *>(rhs)); + }; + TreeItem::insertOrderedChild(item, cmp0); + } }; class QTCREATOR_UTILS_EXPORT StaticTreeItem : public TreeItem |