forked from qt-creator/qt-creator
ProjectExplorer: Add a convenience function to walk project nodes
... recursively. Change-Id: I44a7e29867c26e2586d04fd8d6c16990ce047c6d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -514,6 +514,17 @@ void FolderNode::forEachGenericNode(const std::function<void(Node *)> &genericTa
|
||||
}
|
||||
}
|
||||
|
||||
void FolderNode::forEachProjectNode(const std::function<void(const ProjectNode *)> &task) const
|
||||
{
|
||||
if (const ProjectNode *projectNode = asProjectNode())
|
||||
task(projectNode);
|
||||
|
||||
for (const std::unique_ptr<Node> &n : m_nodes) {
|
||||
if (FolderNode *fn = n->asFolderNode())
|
||||
fn->forEachProjectNode(task);
|
||||
}
|
||||
}
|
||||
|
||||
const QList<Node *> FolderNode::nodes() const
|
||||
{
|
||||
return Utils::toRawPointer<QList>(m_nodes);
|
||||
|
||||
@@ -216,6 +216,7 @@ public:
|
||||
const std::function<void(FolderNode *)> &folderTask = {},
|
||||
const std::function<bool(const FolderNode *)> &folderFilterTask = {}) const;
|
||||
void forEachGenericNode(const std::function<void(Node *)> &genericTask) const;
|
||||
void forEachProjectNode(const std::function<void(const ProjectNode *)> &genericTask) const;
|
||||
const QList<Node *> nodes() const;
|
||||
QList<FileNode *> fileNodes() const;
|
||||
FileNode *fileNode(const Utils::FileName &file) const;
|
||||
|
||||
Reference in New Issue
Block a user