logic: Show inheritance edges between parents of active symbol and other visible symbols (issue #167)

* add inheritance edges between parents of active symbol and other visible symbols
* add dashed inheritance edges when symbols are no direct decendants
* inheritance edges are also respected in layouting, putting base/derived classes in the correct top/bottom spot now

bug id = 167
This commit is contained in:
Eberhard Graether
2017-07-16 18:40:59 +02:00
parent 9a36d48d1e
commit 9d0b86ad98
19 changed files with 261 additions and 17 deletions
@@ -0,0 +1,23 @@
#ifndef TOKEN_COMPONENT_INHERITANCE_CHAIN_H
#define TOKEN_COMPONENT_INHERITANCE_CHAIN_H
#include "data/graph/token_component/TokenComponent.h"
class TokenComponentInheritanceChain
: public TokenComponent
{
public:
TokenComponentInheritanceChain(const std::vector<Id>& inheritanceEdgeIds)
: inheritanceEdgeIds(inheritanceEdgeIds)
{
}
virtual std::shared_ptr<TokenComponent> copy() const
{
return std::make_shared<TokenComponentInheritanceChain>(*this);
}
const std::vector<Id> inheritanceEdgeIds;
};
#endif // TOKEN_COMPONENT_INHERITANCE_CHAIN_H