logic: show subnamespaces as nodes instead of their children

This commit is contained in:
Eberhard Graether
2016-04-12 13:39:42 +02:00
parent b9c4bd05cd
commit b088ca6adf
3 changed files with 24 additions and 1 deletions
+21
View File
@@ -43,6 +43,14 @@ const std::vector<HierarchyCache::HierarchyNode*>& HierarchyCache::HierarchyNode
return m_children;
}
void HierarchyCache::HierarchyNode::addChildIds(std::vector<Id>* nodeIds) const
{
for (const HierarchyNode* child : m_children)
{
nodeIds->push_back(child->getNodeId());
}
}
void HierarchyCache::HierarchyNode::addChildIdsRecursive(std::vector<Id>* nodeIds, std::vector<Id>* edgeIds) const
{
for (const HierarchyNode* child : m_children)
@@ -122,6 +130,19 @@ void HierarchyCache::addAllChildIdsForNodeId(Id nodeId, std::vector<Id>* nodeIds
}
}
void HierarchyCache::addFirstChildIdsForNodeId(Id nodeId, std::vector<Id>* nodeIds) const
{
HierarchyNode* node = getNode(nodeId);
if (node)
{
node->addChildIds(nodeIds);
}
else
{
nodeIds->push_back(nodeId);
}
}
void HierarchyCache::addFirstVisibleChildIdsForNodeId(Id nodeId, std::vector<Id>* nodeIds) const
{
HierarchyNode* node = getNode(nodeId);