diff --git a/.gitmodules b/.gitmodules index 294504b3..e69de29b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "samples/advanced/QuickQanava"] - path = samples/advanced/QuickQanava - url = git@github.com:cneben/QuickQanava.git diff --git a/samples/advanced/QuickQanava b/samples/advanced/QuickQanava deleted file mode 160000 index 0264f6ad..00000000 --- a/samples/advanced/QuickQanava +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0264f6adae314c5eca5293e9e9974465b3fae23f diff --git a/src/qanGraph.cpp b/src/qanGraph.cpp index 2cb8933a..843c751d 100644 --- a/src/qanGraph.cpp +++ b/src/qanGraph.cpp @@ -2021,8 +2021,8 @@ std::vector Graph::collectAncestors(const qan::Node& node) c { // ALGORITHM: // 0. Collect node neighbour. - // 1. Collect ancestors of neighbours. - // 2. Remove original neighbour from ancestors. + // 1. Collect ancestors of neighbors. + // 2. Remove original neighbors from ancestors. const auto collectAncestorsDfs_rec = [](const qan::Node* visited, std::vector& parents, diff --git a/src/qanGroup.cpp b/src/qanGroup.cpp index ceb7b68b..85278964 100644 --- a/src/qanGroup.cpp +++ b/src/qanGroup.cpp @@ -60,7 +60,7 @@ const qan::Graph* Group::getGraph() const noexcept { return qan::Node::get_gra std::unordered_set Group::collectAdjacentEdges() const { - std::unordered_set edges = collectAdjacentEdges0(); + std::unordered_set edges = qan::Node::collectAdjacentEdges(); if (is_group()) { for (const auto groupNode: qAsConst(group_nodes())) { if (groupNode != nullptr) { @@ -72,7 +72,7 @@ std::unordered_set Group::collectAdjacentEdges() const } else { auto qanNode = qobject_cast(groupNode); if (qanNode != nullptr) { - auto nodeEdges = qanNode->collectAdjacentEdges0(); + auto nodeEdges = qanNode->collectAdjacentEdges(); edges.insert(nodeEdges.begin(), nodeEdges.end()); } } diff --git a/src/qanGroup.h b/src/qanGroup.h index 7f31077a..50bae795 100644 --- a/src/qanGroup.h +++ b/src/qanGroup.h @@ -84,7 +84,7 @@ class Group : public qan::Node /*! \brief Collect this group adjacent edges (ie adjacent edges of group and group nodes). * */ - std::unordered_set collectAdjacentEdges() const; + virtual std::unordered_set collectAdjacentEdges() const override; public: friend class qan::GroupItem; diff --git a/src/qanNode.cpp b/src/qanNode.cpp index 17211377..a7057539 100644 --- a/src/qanNode.cpp +++ b/src/qanNode.cpp @@ -137,7 +137,7 @@ QAbstractItemModel* Node::qmlGetOutEdges() const return super_t::get_out_edges().model(); } -std::unordered_set Node::collectAdjacentEdges0() const +std::unordered_set Node::collectAdjacentEdges() const { std::unordered_set edges; for (const auto in_edge: qAsConst(get_in_edges())) { diff --git a/src/qanNode.h b/src/qanNode.h index 7456f63e..f59f5f3b 100644 --- a/src/qanNode.h +++ b/src/qanNode.h @@ -151,7 +151,7 @@ class Node : public gtpo::node collectAdjacentEdges0() const; + virtual std::unordered_set collectAdjacentEdges() const; //@} //------------------------------------------------------------------------- diff --git a/src/qanNodeItem.cpp b/src/qanNodeItem.cpp index 68b51f54..cd179dd4 100644 --- a/src/qanNodeItem.cpp +++ b/src/qanNodeItem.cpp @@ -161,10 +161,15 @@ void NodeItem::collapseAncestors(bool collapsed) // 1. const auto ancestors = graph->collectAncestors(*node); + qWarning() << "-- ANCESTORS: "; + for (const auto ancestor: ancestors) + qWarning() << ancestor->getLabel(); + qWarning() << "------------"; + // 2. std::unordered_set ancestorsEdges; for (const auto ancestor: ancestors) { - const auto edges = ancestor->collectAdjacentEdges0(); + const auto edges = ancestor->collectAdjacentEdges(); std::copy(edges.begin(), edges.end(), std::inserter(ancestorsEdges, ancestorsEdges.end())); } @@ -198,7 +203,7 @@ void NodeItem::collapseChilds(bool collapsed) // 2. std::unordered_set childsEdges; for (const auto child: childs) { - const auto edges = child->collectAdjacentEdges0(); + const auto edges = child->collectAdjacentEdges(); std::copy(edges.begin(), edges.end(), std::inserter(childsEdges, childsEdges.end())); }