aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/treemodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/treemodel.h')
-rw-r--r--src/libs/utils/treemodel.h11
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