forked from qt-creator/qt-creator
Utils: Add some convenience functions to ListModel
allData(), setAllData(), and findIndex(<predicate>) Change-Id: I1f43e3b5c3810f219057e7e09338e06a66e1858a Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -120,6 +120,28 @@ public:
|
||||
return item ? &item->itemData : nullptr;
|
||||
}
|
||||
|
||||
QModelIndex findIndex(const std::function<bool(const ItemData &)> &pred) const
|
||||
{
|
||||
ChildType *item = findItemByData(pred);
|
||||
return item ? BaseTreeModel::indexForItem(item) : QModelIndex();
|
||||
}
|
||||
|
||||
QList<ItemData> allData() const
|
||||
{
|
||||
QList<ItemData> res;
|
||||
BaseModel::rootItem()->forFirstLevelChildren([&res](ChildType *child) {
|
||||
res.append(child->itemData);
|
||||
});
|
||||
return res;
|
||||
}
|
||||
|
||||
void setAllData(const QList<ItemData> &items)
|
||||
{
|
||||
BaseModel::rootItem()->removeChildren();
|
||||
for (const ItemData &data : items)
|
||||
appendItem(data);
|
||||
}
|
||||
|
||||
void forItems(const std::function<void(ItemData &)> &func) const
|
||||
{
|
||||
BaseModel::rootItem()->forFirstLevelChildren([func](ChildType *child) {
|
||||
|
Reference in New Issue
Block a user