logic: Fixed classes not collapsing correctly
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user