ui: redesigned graph overview and use new list layouting within overview bundles

* overview bundles imitate style of bundled node type
* removed bundle for built-in types
* show contents of overview bundle in vertical list layouted with new ListLayouter
* nodes starting with the same letter are grouped with the letter displayed above
* pressing the letter key will scroll to the group
* also use this list layouting for namespace & package contents
* renamed BucketGrid to BucketLayouter
* moved used functions of GraphPostProcessor to GraphViewStyle and removed GraphPostProcessor

fortune cookie message = Don't be afraid to take that big step
This commit is contained in:
Eberhard Graether
2017-02-02 13:29:40 +01:00
parent 993d66727d
commit 52b0cd2017
34 changed files with 577 additions and 578 deletions
@@ -6,11 +6,10 @@
#include "utility/utility.h"
#include "utility/utilityString.h"
#include "data/graph/Node.h"
#include "data/graph/token_component/TokenComponentAccess.h"
#include "data/name/NameHierarchy.h"
class Node;
// temporary data structure for (visual) graph creation process
struct DummyNode
{
@@ -68,6 +67,8 @@ public:
, bundleId(0)
, layoutBucket(0, 0)
, bundledNodeCount(0)
, bundledNodeType(Node::NODE_UNDEFINED)
, textNode(false)
{
}
@@ -83,7 +84,7 @@ public:
bool isExpandToggleNode() const
{
return !isGraphNode() && !isAccessNode() && !isBundleNode() && !isQualifierNode();
return !isGraphNode() && !isAccessNode() && !isBundleNode() && !isQualifierNode() && !isTextNode();
}
bool isBundleNode() const
@@ -96,6 +97,11 @@ public:
return qualifierName.size();
}
bool isTextNode() const
{
return textNode;
}
bool isExpanded() const
{
return expanded;
@@ -269,9 +275,13 @@ public:
// BundleNode
BundledNodesSet bundledNodes;
size_t bundledNodeCount;
Node::NodeType bundledNodeType;
// QualifierNode
NameHierarchy qualifierName;
// TextNode
bool textNode;
};
#endif // DUMMY_NODE_H