From ae27d8025b0ab97c9652eba5e2412cdf158350b8 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Thu, 24 Sep 2015 16:18:23 +0200 Subject: [PATCH] ui: show tooltips when hovering nodes and edges --- bin/app/data/color_schemes/bright.xml | 16 ++++++++-------- bin/app/data/color_schemes/dark.xml | 16 ++++++++-------- bin/app/data/gui/graph_view/graph_view.css | 5 +++++ bin/test/data/log/test_log.txt | 4 ++-- src/app/qt/view/QtGraphView.cpp | 3 +++ src/app/qt/view/graphElements/QtGraphEdge.cpp | 9 +++++++++ .../qt/view/graphElements/QtGraphNodeBundle.cpp | 2 ++ .../qt/view/graphElements/QtGraphNodeData.cpp | 2 ++ src/lib/data/graph/Edge.cpp | 6 +++--- src/lib/data/graph/Node.cpp | 2 +- 10 files changed, 43 insertions(+), 22 deletions(-) create mode 100644 bin/app/data/gui/graph_view/graph_view.css diff --git a/bin/app/data/color_schemes/bright.xml b/bin/app/data/color_schemes/bright.xml index a02e356d..040d33cd 100644 --- a/bin/app/data/color_schemes/bright.xml +++ b/bin/app/data/color_schemes/bright.xml @@ -148,10 +148,10 @@ #7BB5D4 #42A1D4 - + #7BB5D4 #42A1D4 - + #7BB5D4 #42A1D4 @@ -176,10 +176,10 @@ - + #878787 #878787 - + #878787 #878787 @@ -188,10 +188,10 @@ #878787 #878787 - + #878787 #878787 - + #878787 #878787 @@ -211,10 +211,10 @@ #F4BC3D - + #3190BA #3190BA - + #C1305D diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml index d3a750cd..04a2bc55 100644 --- a/bin/app/data/color_schemes/dark.xml +++ b/bin/app/data/color_schemes/dark.xml @@ -148,10 +148,10 @@ #21516B #2A6484 - + #21516B #2A6484 - + #21516B #2A6484 @@ -176,10 +176,10 @@ - + #797979 #797979 - + #797979 #797979 @@ -188,10 +188,10 @@ #797979 #797979 - + #797979 #797979 - + #797979 #797979 @@ -211,10 +211,10 @@ #9C8528 - + #2A6484 #2A6484 - + #C1305D diff --git a/bin/app/data/gui/graph_view/graph_view.css b/bin/app/data/gui/graph_view/graph_view.css new file mode 100644 index 00000000..d9698fbc --- /dev/null +++ b/bin/app/data/gui/graph_view/graph_view.css @@ -0,0 +1,5 @@ +QToolTip { + background-color: ; + color: ; + font-size: pt; +} diff --git a/bin/test/data/log/test_log.txt b/bin/test/data/log/test_log.txt index ad041933..b7b91f98 100644 --- a/bin/test/data/log/test_log.txt +++ b/bin/test/data/log/test_log.txt @@ -217,8 +217,8 @@ FileManager.cpp ERROR: No FileInfo found for file: input.cc Token.cpp ERROR: Location Id was not referenced by this Token. Node.cpp WARNING: Cannot change NodeType after it was already set from namespace to class Edge.cpp ERROR: Nodes are not plain copies. -Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined -Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined +Edge.cpp ERROR: Edge use can't go from Node undefined to Node undefined +Edge.cpp ERROR: Edge use can't go from Node undefined to Node undefined Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml ConfigManager.cpp WARNING: value Bool is not present in config. ConfigManager.cpp WARNING: value Int is not present in config. diff --git a/src/app/qt/view/QtGraphView.cpp b/src/app/qt/view/QtGraphView.cpp index 50b0d9f0..a73974cd 100644 --- a/src/app/qt/view/QtGraphView.cpp +++ b/src/app/qt/view/QtGraphView.cpp @@ -246,6 +246,9 @@ void QtGraphView::doRefreshView() utility::setWidgetBackgroundColor(QtViewWidgetWrapper::getWidgetOfView(this), backgroundColor); utility::setWidgetBackgroundColor(getView(), backgroundColor); + + std::string css = utility::getStyleSheet("data/gui/graph_view/graph_view.css"); + getView()->setStyleSheet(css.c_str()); } std::shared_ptr QtGraphView::findNodeRecursive(const std::list>& nodes, Id tokenId) diff --git a/src/app/qt/view/graphElements/QtGraphEdge.cpp b/src/app/qt/view/graphElements/QtGraphEdge.cpp index 4909fc1e..7f702674 100644 --- a/src/app/qt/view/graphElements/QtGraphEdge.cpp +++ b/src/app/qt/view/graphElements/QtGraphEdge.cpp @@ -117,6 +117,15 @@ void QtGraphEdge::updateLine() } } + if (m_data) + { + m_child->setToolTip(QString::fromStdString(m_data->getTypeString())); + } + else + { + m_child->setToolTip(QString::fromStdString(Edge::getTypeString(Edge::EDGE_AGGREGATION))); + } + this->setZValue(style.zValue); // Used to draw edges always on top of nodes. } diff --git a/src/app/qt/view/graphElements/QtGraphNodeBundle.cpp b/src/app/qt/view/graphElements/QtGraphNodeBundle.cpp index 8322dd08..a4dd55ee 100644 --- a/src/app/qt/view/graphElements/QtGraphNodeBundle.cpp +++ b/src/app/qt/view/graphElements/QtGraphNodeBundle.cpp @@ -19,6 +19,8 @@ QtGraphNodeBundle::QtGraphNodeBundle(Id tokenId, size_t nodeCount, std::string n m_circle->setNumber(nodeCount); this->setAcceptHoverEvents(true); + + this->setToolTip("bundle"); } QtGraphNodeBundle::~QtGraphNodeBundle() diff --git a/src/app/qt/view/graphElements/QtGraphNodeData.cpp b/src/app/qt/view/graphElements/QtGraphNodeData.cpp index f3432970..14070b71 100644 --- a/src/app/qt/view/graphElements/QtGraphNodeData.cpp +++ b/src/app/qt/view/graphElements/QtGraphNodeData.cpp @@ -19,6 +19,8 @@ QtGraphNodeData::QtGraphNodeData(const Node* data, bool hasParent, bool childVis { this->setName(data->getName()); } + + this->setToolTip(QString::fromStdString(data->getTypeString())); } QtGraphNodeData::~QtGraphNodeData() diff --git a/src/lib/data/graph/Edge.cpp b/src/lib/data/graph/Edge.cpp index a1bda188..33d3002a 100644 --- a/src/lib/data/graph/Edge.cpp +++ b/src/lib/data/graph/Edge.cpp @@ -185,13 +185,13 @@ std::string Edge::getTypeString(EdgeType type) case EDGE_MEMBER: return "child"; case EDGE_TYPE_OF: - return "type_use"; + return "type_of"; case EDGE_RETURN_TYPE_OF: return "return_type"; case EDGE_PARAMETER_TYPE_OF: return "parameter_type"; case EDGE_TYPE_USAGE: - return "type_usage"; + return "type_use"; case EDGE_INHERITANCE: return "inheritance"; case EDGE_OVERRIDE: @@ -199,7 +199,7 @@ std::string Edge::getTypeString(EdgeType type) case EDGE_CALL: return "call"; case EDGE_USAGE: - return "usage"; + return "use"; case EDGE_TYPEDEF_OF: return "typedef"; case EDGE_TEMPLATE_PARAMETER_OF: diff --git a/src/lib/data/graph/Node.cpp b/src/lib/data/graph/Node.cpp index cce1a625..9d884f71 100644 --- a/src/lib/data/graph/Node.cpp +++ b/src/lib/data/graph/Node.cpp @@ -28,7 +28,7 @@ std::string Node::getTypeString(NodeType type) case NODE_STRUCT: return "struct"; case NODE_GLOBAL_VARIABLE: - return "global"; + return "global_variable"; case NODE_FIELD: return "field"; case NODE_FUNCTION: