logic: Added namespaces to overview and fixed namespace activation

This commit is contained in:
Eberhard Graether
2016-02-08 03:39:08 +01:00
parent d6c03ffb02
commit 29149f313a
24 changed files with 147 additions and 52 deletions
@@ -67,10 +67,16 @@ void GraphController::handleMessage(MessageActivateTokens* message)
std::vector<Id> tokenIds = utility::concat(m_activeNodeIds, m_activeEdgeIds);
std::shared_ptr<Graph> graph = m_storageAccess->getGraphForActiveTokenIds(tokenIds);
std::shared_ptr<Graph> graph =
m_storageAccess->getGraphForActiveTokenIds(tokenIds, message->originalTokenIds.size() > 0);
createDummyGraphForTokenIds(tokenIds, graph);
if (message->originalTokenIds.size() > 0)
{
deactivateNodesRecursive(&m_dummyNodes);
}
bundleNodes();
layoutNesting();
@@ -434,6 +440,15 @@ void GraphController::setNodeVisibilityRecursiveTopDown(DummyNode& node, bool pa
}
}
void GraphController::deactivateNodesRecursive(std::vector<DummyNode>* nodes) const
{
for (DummyNode& node : *nodes)
{
node.active = false;
deactivateNodesRecursive(&node.subNodes);
}
}
void GraphController::bundleNodes()
{
bundleNodesMatching(
@@ -762,6 +777,7 @@ bool GraphController::isTypeUserNode(const DummyNode& node) const
void GraphController::bundleNodesByType()
{
BUNDLE_BY_TYPE(Node::NODE_NAMESPACE, "Namespaces");
BUNDLE_BY_TYPE(Node::NODE_CLASS, "Classes");
BUNDLE_BY_TYPE(Node::NODE_STRUCT, "Structs");
@@ -782,7 +798,6 @@ void GraphController::bundleNodesByType()
BUNDLE_BY_TYPE(Node::NODE_ENUM_CONSTANT, "Enum Constants");
BUNDLE_BY_TYPE(Node::NODE_TEMPLATE_PARAMETER_TYPE, "Template Parameter Types");
BUNDLE_BY_TYPE(Node::NODE_UNDEFINED, "Undefined Symbols");
BUNDLE_BY_TYPE(Node::NODE_NAMESPACE, "Namespaces");
for (DummyNode& node : m_dummyNodes)
{