ui: graph view layouting and member rendering

Added simple layouting functions (implementations for simple grid and circle layout).
Also the graph displays class members and connections (edges) to or from them "correctly" now.

fortune cookie message = Your exotic ideas will lead you to many exciting new adventures.
This commit is contained in:
Manuel Dobusch
2014-07-15 16:40:52 +02:00
parent 61cb4afd91
commit ec42ef708d
24 changed files with 839 additions and 165 deletions
@@ -1,11 +1,17 @@
#ifndef GRAPH_CONTROLLER_H
#define GRAPH_CONTROLLER_H
#include <set>
#include <vector>
#include "utility/messaging/MessageListener.h"
#include "utility/messaging/type/MessageActivateToken.h"
#include "component/controller/Controller.h"
#include "component/controller/GraphLayouter.h"
struct DummyNode;
struct DummyEdge;
class GraphView;
class GraphAccess;
@@ -20,6 +26,17 @@ public:
private:
virtual void handleMessage(MessageActivateToken* message);
GraphView* getView();
void createDummyGraph(const Id activeId, const LayoutFunction layoutFunction);
DummyNode createDummyNode(const Id nodeId);
Id findTopLevelNode(const Id nodeId);
DummyNode buildNodeTopDown(const Id nodeId);
std::vector<DummyNode> createNeighbourNodes(const Id nodeId);
std::vector<DummyNode> createNeighbourNodes(const DummyNode& node);
std::vector<DummyEdge> createEdges(const std::vector<DummyNode>& nodes);
std::set<DummyEdge> getNeighbourEdgesOfNode(const DummyNode& node);
GraphAccess* m_graphAccess;
};