logic: only show edges connected to active node

* split active and visible setting for DummyNodes
* set and check visible on DummyEdges
* include fix for Mac in MatrixDynamicBase
* fix for disappearing style and crashes in GraphView
* cleaned up DummyNode

fortune cookie message = Du stehst kurz davor etwas Neues zu unternehmen.
This commit is contained in:
Eberhard Graether
2015-02-03 16:48:32 +01:00
parent bdcca6dbad
commit 33aff14813
5 changed files with 54 additions and 83 deletions
@@ -58,25 +58,8 @@ public:
, autoExpanded(false)
, invisibleSubNodeCount(0)
, visible(false)
{
}
DummyNode(const Node* data)
: data(data)
, accessType(TokenComponentAccess::ACCESS_NONE)
{
}
DummyNode(TokenComponentAccess::AccessType accessType)
: data(nullptr)
, accessType(accessType)
, active(false)
, connected(false)
, aggregated(false)
, expanded(false)
, autoExpanded(false)
, invisibleSubNodeCount(0)
, visible(false)
, topLevelAncestorId(0)
, tokenId(0)
{
}
@@ -85,45 +68,6 @@ public:
return expanded || autoExpanded;
}
bool operator==(const DummyNode& other) const
{
if (data->getId() == other.data->getId()
&& data->getName() == other.data->getName())
{
return true;
}
return false;
}
bool operator!=(const DummyNode& other) const
{
return !(*this == other);
}
bool operator<(const DummyNode& other) const
{
if (data->getId() < other.data->getId())
{
return true;
}
return false;
}
bool operator>(const DummyNode& other) const
{
return !(*this < other);
}
DummyNode& operator=(const DummyNode& other)
{
data = other.data;
subNodes = other.subNodes;
position = other.position;
topLevelAncestorId = other.topLevelAncestorId;
tokenId = other.tokenId;
return *this;
}
const Node* data;
TokenComponentAccess::AccessType accessType;
@@ -139,10 +83,10 @@ public:
size_t invisibleSubNodeCount;
bool visible;
Id topLevelAncestorId;
Id tokenId;
std::vector<DummyNode> subNodes;
};