ui: Fixed namespace shown as separate node in graph when 'using namespace' edge is visible
This commit is contained in:
@@ -305,7 +305,7 @@ void GraphController::createDummyGraphForTokenIds(const std::vector<Id>& tokenId
|
|||||||
}
|
}
|
||||||
addedNodes.insert(id);
|
addedNodes.insert(id);
|
||||||
|
|
||||||
dummyNodes.push_back(createDummyNodeTopDown(parent, parent->getId()));
|
utility::append(dummyNodes, createDummyNodeTopDown(parent));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -368,16 +368,32 @@ void GraphController::createDummyGraphForTokenIdsAndSetActiveAndVisibility(
|
|||||||
setVisibility(noActive);
|
setVisibility(noActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<DummyNode> GraphController::createDummyNodeTopDown(Node* node, Id parentId)
|
std::vector<std::shared_ptr<DummyNode>> GraphController::createDummyNodeTopDown(Node* node)
|
||||||
{
|
{
|
||||||
|
std::vector<std::shared_ptr<DummyNode>> nodes;
|
||||||
|
|
||||||
std::shared_ptr<DummyNode> result = std::make_shared<DummyNode>();
|
std::shared_ptr<DummyNode> result = std::make_shared<DummyNode>();
|
||||||
result->data = node;
|
result->data = node;
|
||||||
result->tokenId = node->getId();
|
result->tokenId = node->getId();
|
||||||
result->name = node->getName();
|
result->name = node->getName();
|
||||||
result->topLevelAncestorId = parentId;
|
|
||||||
|
m_dummyGraphNodes.emplace(result->data->getId(), result);
|
||||||
|
nodes.push_back(result);
|
||||||
|
|
||||||
|
if (node->isType(Node::NODE_NAMESPACE))
|
||||||
|
{
|
||||||
|
node->forEachChildNode(
|
||||||
|
[&nodes, this](Node* child)
|
||||||
|
{
|
||||||
|
utility::append(nodes, createDummyNodeTopDown(child));
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return nodes;
|
||||||
|
}
|
||||||
|
|
||||||
node->forEachChildNode(
|
node->forEachChildNode(
|
||||||
[node, &parentId, &result, this](Node* child)
|
[node, &result, this](Node* child)
|
||||||
{
|
{
|
||||||
DummyNode* parent = nullptr;
|
DummyNode* parent = nullptr;
|
||||||
AccessKind accessKind = ACCESS_NONE;
|
AccessKind accessKind = ACCESS_NONE;
|
||||||
@@ -406,13 +422,11 @@ std::shared_ptr<DummyNode> GraphController::createDummyNodeTopDown(Node* node, I
|
|||||||
parent = accessNode.get();
|
parent = accessNode.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
parent->subNodes.push_back(createDummyNodeTopDown(child, parentId));
|
utility::append(parent->subNodes, createDummyNodeTopDown(child));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
m_dummyGraphNodes.emplace(result->data->getId(), result);
|
return nodes;
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Id> GraphController::getExpandedNodeIds() const
|
std::vector<Id> GraphController::getExpandedNodeIds() const
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ private:
|
|||||||
void createDummyGraphForTokenIds(const std::vector<Id>& tokenIds, const std::shared_ptr<Graph> graph);
|
void createDummyGraphForTokenIds(const std::vector<Id>& tokenIds, const std::shared_ptr<Graph> graph);
|
||||||
void createDummyGraphForTokenIdsAndSetActiveAndVisibility(
|
void createDummyGraphForTokenIdsAndSetActiveAndVisibility(
|
||||||
const std::vector<Id>& tokenIds, const std::shared_ptr<Graph> graph);
|
const std::vector<Id>& tokenIds, const std::shared_ptr<Graph> graph);
|
||||||
std::shared_ptr<DummyNode> createDummyNodeTopDown(Node* node, Id parentId);
|
std::vector<std::shared_ptr<DummyNode>> createDummyNodeTopDown(Node* node);
|
||||||
|
|
||||||
std::vector<Id> getExpandedNodeIds() const;
|
std::vector<Id> getExpandedNodeIds() const;
|
||||||
void setExpandedNodeIds(const std::vector<Id>& nodeIds);
|
void setExpandedNodeIds(const std::vector<Id>& nodeIds);
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ size_t HierarchyCache::getIndexOfLastVisibleParentNode(Id nodeId) const
|
|||||||
void HierarchyCache::addAllChildIdsForNodeId(Id nodeId, std::set<Id>* nodeIds, std::set<Id>* edgeIds) const
|
void HierarchyCache::addAllChildIdsForNodeId(Id nodeId, std::set<Id>* nodeIds, std::set<Id>* edgeIds) const
|
||||||
{
|
{
|
||||||
HierarchyNode* node = getNode(nodeId);
|
HierarchyNode* node = getNode(nodeId);
|
||||||
if (node)
|
if (node && node->isVisible())
|
||||||
{
|
{
|
||||||
node->addChildIdsRecursive(nodeIds, edgeIds);
|
node->addChildIdsRecursive(nodeIds, edgeIds);
|
||||||
}
|
}
|
||||||
@@ -182,7 +182,7 @@ void HierarchyCache::addAllChildIdsForNodeId(Id nodeId, std::set<Id>* nodeIds, s
|
|||||||
void HierarchyCache::addAllVisibleParentsAndChildIdsForNodeId(Id nodeId, std::set<Id>* nodeIds, std::set<Id>* edgeIds) const
|
void HierarchyCache::addAllVisibleParentsAndChildIdsForNodeId(Id nodeId, std::set<Id>* nodeIds, std::set<Id>* edgeIds) const
|
||||||
{
|
{
|
||||||
HierarchyNode* node = getNode(nodeId);
|
HierarchyNode* node = getNode(nodeId);
|
||||||
if (node)
|
if (node && node->isVisible())
|
||||||
{
|
{
|
||||||
node->addChildIds(nodeIds, edgeIds);
|
node->addChildIds(nodeIds, edgeIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
#include "qt/window/QtWindowStack.h"
|
#include "qt/window/QtWindowStack.h"
|
||||||
|
|
||||||
class QDockWidget;
|
class QDockWidget;
|
||||||
class QtSettingsWindow;
|
|
||||||
class View;
|
class View;
|
||||||
|
|
||||||
class QtViewToggle
|
class QtViewToggle
|
||||||
|
|||||||
Reference in New Issue
Block a user