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
|
const QList<Node *> FolderNode::nodes() const
|
||||||
{
|
{
|
||||||
return Utils::toRawPointer<QList>(m_nodes);
|
return Utils::toRawPointer<QList>(m_nodes);
|
||||||
|
|||||||
@@ -216,6 +216,7 @@ public:
|
|||||||
const std::function<void(FolderNode *)> &folderTask = {},
|
const std::function<void(FolderNode *)> &folderTask = {},
|
||||||
const std::function<bool(const FolderNode *)> &folderFilterTask = {}) const;
|
const std::function<bool(const FolderNode *)> &folderFilterTask = {}) const;
|
||||||
void forEachGenericNode(const std::function<void(Node *)> &genericTask) 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;
|
const QList<Node *> nodes() const;
|
||||||
QList<FileNode *> fileNodes() const;
|
QList<FileNode *> fileNodes() const;
|
||||||
FileNode *fileNode(const Utils::FileName &file) const;
|
FileNode *fileNode(const Utils::FileName &file) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user