Show nested groups in the dependency graph

Depending on the creation order (objectArray) some nested groups where
not shown a nested because their children where processed before the
parents.
This commit is contained in:
André Althaus
2024-09-28 00:11:28 +02:00
committed by Chris Hennes
parent 84a307788c
commit 35ac785192

View File

@@ -389,12 +389,15 @@ void Document::exportGraphviz(std::ostream& out) const
if(CSSubgraphs) {
//first build up the coordinate system subgraphs
for (auto objectIt : d->objectArray) {
// do not require an empty inlist (#0003465: Groups breaking dependency graph)
// ignore groups inside other groups, these will be processed in one of the next recursive calls.
// App::Origin now has the GeoFeatureGroupExtension but it should not move its
// group symbol outside its parent
if (!objectIt->isDerivedFrom(Origin::getClassTypeId()) &&
objectIt->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId()))
objectIt->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId()) &&
GeoFeatureGroupExtension::getGroupOfObject(objectIt) == nullptr)
{
recursiveCSSubgraphs(objectIt, nullptr);
}
}
}