logic: Clicking on group in inheritance graph expands it

This commit is contained in:
Eberhard Graether
2018-04-05 21:38:58 +02:00
parent 8f754be165
commit e1a7141352
9 changed files with 115 additions and 102 deletions
@@ -6,7 +6,6 @@
#include "component/view/GraphViewStyle.h"
#include "data/graph/Edge.h"
#include "data/graph/token_component/TokenComponentAggregation.h"
#include "data/graph/token_component/TokenComponentEdgeIds.h"
#include "data/graph/token_component/TokenComponentInheritanceChain.h"
#include "qt/graphics/QtLineItemAngled.h"
#include "qt/graphics/QtLineItemBezier.h"
@@ -250,24 +249,23 @@ void QtGraphEdge::setIsFocused(bool isFocused)
void QtGraphEdge::onClick()
{
if (isTrailEdge())
{
TokenComponentEdgeIds* componentEdgeIds = getData()->getComponent<TokenComponentEdgeIds>();
std::vector<Id> ids = { getData()->getId() };
Edge::EdgeType type = (getData() ? getData()->getType() : Edge::EDGE_AGGREGATION);
if (!getData() || m_owner->isGroupNode() || m_target->isGroupNode())
{
QtGraphNode* node =
((m_direction == TokenComponentAggregation::DIRECTION_BACKWARD) == (type != Edge::EDGE_INHERITANCE))
? m_owner : m_target;
MessageGraphNodeBundleSplit(node->getTokenId()).dispatch();
}
else if (isTrailEdge())
{
MessageActivateTrailEdge(
componentEdgeIds ? componentEdgeIds->edgeIds : ids,
{ getData()->getId() },
getData()->getType(),
getData()->getFrom()->getNameHierarchy(),
getData()->getTo()->getNameHierarchy()
).dispatch();
return;
}
if (!getData())
{
QtGraphNode* node = (m_direction == TokenComponentAggregation::DIRECTION_BACKWARD ? m_owner : m_target);
MessageGraphNodeBundleSplit(node->getTokenId()).dispatch();
}
else
{