ui: Show call graphs, inheritance trees and include trees for active symbol (issue 249 337)

* Added TrailLayouter with Sugiyama dependency layouting
* Layouter supports horizontal and vertical layouts
* Added basic ui to graph view for showing incoming and outgoing paths
* Added depth slider, with infinity at maximum
* Disable trail ui when not available
* Added trail messages to undo stack and only use last one when undoing
* Added QtGraphLineBezier for trail graphs and refactored other line types
* Disabled edge activation for trail layouts, shown only visually
* Highlight all connected edges when hovering a node in trail layout
* Use different color when highlighting call edges for better contrast
* Fixed BucketLayouter issue when edge does not leave node
* Increased click area for angled edges

bug id = 249 337

fortune cookie message = Answer just what the heart prompts to you.
This commit is contained in:
Eberhard Graether
2017-04-24 01:14:53 +02:00
parent 01bd0efefb
commit f0b7dcdcdd
40 changed files with 1892 additions and 487 deletions
@@ -0,0 +1,32 @@
#ifndef MESSAGE_ACTIVATE_TRAIL_H
#define MESSAGE_ACTIVATE_TRAIL_H
#include "utility/messaging/Message.h"
#include "utility/types.h"
class MessageActivateTrail
: public Message<MessageActivateTrail>
{
public:
MessageActivateTrail(Id originId, Id targetId, Edge::EdgeTypeMask trailType, size_t depth, bool horizontalLayout)
: originId(originId)
, targetId(targetId)
, trailType(trailType)
, depth(depth)
, horizontalLayout(horizontalLayout)
{
}
static const std::string getStaticType()
{
return "MessageActivateTrail";
}
const Id originId;
const Id targetId;
const Edge::EdgeTypeMask trailType;
const size_t depth;
const bool horizontalLayout;
};
#endif // MESSAGE_ACTIVATE_TRAIL_H