diff --git a/bin/app/data/color_schemes/bad_rainbow.xml b/bin/app/data/color_schemes/bad_rainbow.xml index f782c5b7..740ac1c1 100644 --- a/bin/app/data/color_schemes/bad_rainbow.xml +++ b/bin/app/data/color_schemes/bad_rainbow.xml @@ -294,9 +294,9 @@ global_variable - + type - + #873E3E diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml index c51ca5ed..c5053034 100644 --- a/bin/app/data/color_schemes/dark.xml +++ b/bin/app/data/color_schemes/dark.xml @@ -283,9 +283,9 @@ global_variable> - + type - + #78282D diff --git a/bin/app/user/projects/tutorial/src/graph_tutorial_3.h b/bin/app/user/projects/tutorial/src/graph_tutorial_3.h index a3159bc4..d25ac0cf 100644 --- a/bin/app/user/projects/tutorial/src/graph_tutorial_3.h +++ b/bin/app/user/projects/tutorial/src/graph_tutorial_3.h @@ -8,28 +8,37 @@ class ProducerOfTheLastMember { public: - void go() - { - ClassWithHiddenMembers::this_last_member = 42; - } - - void on() + void in() { ClassWithHiddenMembers::this_last_member++; } + //------------------------------------------------------------------------------ // -// 6 - FOCUSING EDGES -// Even though Coati doesn't allow to activate an edge, you can still focus on -// edges. This doesn't change the currently active symbol (which would cause -// Coati to hide everything but the edge). Instead Coati just highlights the -// relation's location in the code and scrolls you there, so you don't lose -// context. -// Try to activate an edge that comes from the "ConsumerOfTheLastMember" class. -// Which one you pick doesn't really matter for this tutorial. +// 7 - THAT'S IT +// You completed the tutorial on the graph view. There is still more to learn +// but I guess you will figure it out on your own. One last thing: If you see +// an element with a hatched background please call us. It's a runaway! +// Just kidding. Those are elements that are used within your code, but have no +// definition anywhere in your source folder (like the "int" symbol on the +// right hand side of the graph). So if you click them, Coati will display +// all the relations for the element, but the code view won't show a +// definition. If you want to learn more about Coati, go back to the central +// hub. It is called in the function below but you can also try to get there +// using only the graph. // //------------------------------------------------------------------------------ - void reading() + +private: + void the() + { + if (ClassWithHiddenMembers::this_last_member <= 0); + { + the_central_hub(); + } + } + + void codeview() { ClassWithHiddenMembers::this_last_member *= 2; } diff --git a/bin/app/user/projects/tutorial/src/graph_tutorial_4.h b/bin/app/user/projects/tutorial/src/graph_tutorial_4.h index 9d3f880b..284a2d22 100644 --- a/bin/app/user/projects/tutorial/src/graph_tutorial_4.h +++ b/bin/app/user/projects/tutorial/src/graph_tutorial_4.h @@ -9,37 +9,28 @@ class ConsumerOfTheLastMember { public: - void in() + void go() + { + ClassWithHiddenMembers::this_last_member = 42; + } + + void on() { ClassWithHiddenMembers::this_last_member--; } - //------------------------------------------------------------------------------ // -// 7 - THAT'S IT -// You completed the tutorial on the graph view. There is still more to learn -// but I guess you will figure it out on your own. One last thing: If you see -// an element with a hatched background please call us. It's a runaway! -// Just kidding. Those are elements that are used within your code, but have no -// definition anywhere in your source folder (like the "int" symbol on the -// right hand side of the graph). So if you click them, Coati will display -// all the relations for the element, but the code view won't show a -// definition. If you want to learn more about Coati, go back to the central -// hub. It is called in the function below but you can also try to get there -// using only the graph. +// 6 - FOCUSING EDGES +// Even though Coati doesn't allow to activate an edge, you can still focus on +// edges. This doesn't change the currently active symbol (which would cause +// Coati to hide everything but the edge). Instead Coati just highlights the +// relation's location in the code and scrolls you there, so you don't lose +// context. +// Try to activate an edge that comes from the "ProducerOfTheLastMember" class. +// Which one you pick doesn't really matter for this tutorial. // //------------------------------------------------------------------------------ - -private: - void the() - { - if (ClassWithHiddenMembers::this_last_member <= 0); - { - the_central_hub(); - } - } - - void codeview() + void reading() { ClassWithHiddenMembers::this_last_member /= 2; } diff --git a/src/lib/component/controller/GraphController.cpp b/src/lib/component/controller/GraphController.cpp index 9eb166e2..1dfc3c98 100644 --- a/src/lib/component/controller/GraphController.cpp +++ b/src/lib/component/controller/GraphController.cpp @@ -1332,6 +1332,7 @@ void GraphController::addExpandToggleNode(DummyNode* node) const expandNode->visible = true; expandNode->expanded = node->expanded; + bool hasVisibleSubNode = false; for (size_t i = 0; i < node->subNodes.size(); i++) { DummyNode* subNode = node->subNodes[i].get(); @@ -1343,16 +1344,25 @@ void GraphController::addExpandToggleNode(DummyNode* node) const continue; } + if (subNode->isQualifierNode()) + { + continue; + } + for (std::shared_ptr subSubNode : subNode->subNodes) { if (!subSubNode->visible) { expandNode->invisibleSubNodeCount++; } + else + { + hasVisibleSubNode = true; + } } } - if (expandNode->isExpanded() || expandNode->invisibleSubNodeCount) + if ((expandNode->isExpanded() && hasVisibleSubNode) || expandNode->invisibleSubNodeCount) { node->subNodes.push_back(expandNode); } diff --git a/src/lib/project/Project.cpp b/src/lib/project/Project.cpp index 55635fc6..b401d0d5 100644 --- a/src/lib/project/Project.cpp +++ b/src/lib/project/Project.cpp @@ -225,16 +225,16 @@ void Project::load() if (canLoad) { - m_storage->setMode(SqliteStorage::STORAGE_MODE_READ); - m_storage->buildCaches(); - m_storageAccessProxy->setSubject(m_storage.get()); - m_sourceGroups = SourceGroupFactory::getInstance()->createSourceGroups(m_settings->getAllSourceGroupSettings()); if (!m_sourceGroups.empty()) { NameHierarchy::setDelimiter(getSymbolNameDelimiterForLanguage(m_sourceGroups.front()->getLanguage())); } + m_storage->setMode(SqliteStorage::STORAGE_MODE_READ); + m_storage->buildCaches(); + m_storageAccessProxy->setSubject(m_storage.get()); + MessageFinishedParsing().dispatch(); MessageStatus("Finished Loading", false, false).dispatch(); } diff --git a/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp b/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp index fad20217..dced3b0d 100644 --- a/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp +++ b/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp @@ -172,11 +172,6 @@ void QtProjectWizzardContentPreferences::populate(QGridLayout* layout, int& row) m_mavenPath->setFileFilter("Maven command (mvn.cmd)"); m_mavenPath->setPlaceholderText("/bin/mvn.cmd"); } - else if (QSysInfo::macVersion() != QSysInfo::MV_None) - { - // todo: add filter here - // todo: add placeholder here - } else { m_mavenPath->setFileFilter("Maven command (mvn)");