logic: Fixed classes not collapsing correctly

This commit is contained in:
Eberhard Graether
2015-05-24 15:23:50 +02:00
parent 23da81136f
commit 3eac920f8d
@@ -318,18 +318,12 @@ void GraphController::setActiveAndVisibility(const std::vector<Id>& activeTokenI
void GraphController::setNodeActiveRecursive(DummyNode& node, const std::vector<Id>& activeTokenIds) const void GraphController::setNodeActiveRecursive(DummyNode& node, const std::vector<Id>& activeTokenIds) const
{ {
node.visible = false;
node.childVisible = false;
node.active = false; node.active = false;
if (node.isGraphNode()) if (node.isGraphNode())
{ {
node.active = find(activeTokenIds.begin(), activeTokenIds.end(), node.data->getId()) != activeTokenIds.end(); node.active = find(activeTokenIds.begin(), activeTokenIds.end(), node.data->getId()) != activeTokenIds.end();
} }
else if (node.isExpandToggleNode())
{
node.visible = true;
}
for (DummyNode& subNode : node.subNodes) for (DummyNode& subNode : node.subNodes)
{ {
@@ -339,6 +333,15 @@ void GraphController::setNodeActiveRecursive(DummyNode& node, const std::vector<
bool GraphController::setNodeVisibilityRecursiveBottomUp(DummyNode& node, bool aggregated) const bool GraphController::setNodeVisibilityRecursiveBottomUp(DummyNode& node, bool aggregated) const
{ {
node.visible = false;
node.childVisible = false;
if (node.isExpandToggleNode())
{
node.visible = true;
return false;
}
for (DummyNode& subNode : node.subNodes) for (DummyNode& subNode : node.subNodes)
{ {
if (setNodeVisibilityRecursiveBottomUp(subNode, aggregated | node.aggregated)) if (setNodeVisibilityRecursiveBottomUp(subNode, aggregated | node.aggregated))