This change adds the class GraphViewStyle that holds all values for defining the style of Nodes and Edges in the Graph.
The GraphViewStyleImpl interface and the QtGraphViewStyleImpl implementation are used to request Qt specific metrics,
like the charwidth of used fonts.
This change includes the following fixes:
* aggregation number always in the middle between nodes
* darker color for aggregation edge
* split off QGraphicsLineItem implementations from QtGraphEdge
* fixed some colors in color scheme
fortune cookie message = Sorge dich nicht! Du wirst bekommen was du brauchst.
This change adds animated transitions to the QtGraphView using sequential and parallel animations. First vanishing nodes
and all edges get faded out, then the remaining nodes are moved and resized, lastly new nodes and all edges are faded in.
fortune cookie message = Sorge dich nicht! Du wirst bekommen, was du brauchst.
* 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.
Implemented graph layouting, hybrid approach using spectral and force based layouting
fortune cookie message = Giving credit where it's due ensures loyalty to you.
This change adds the creation of aggregation edges to the StorageGraph, which save the connection counts between
children in their parents. Aggregation edges are displayed using a straight line, that is thicker than more connections
it represents with the connection count in the middle.
This change moves nested layouting of the Graph to GraphController. The DummyNodes get the correct size assigned, as
well as a visible flag. Mouse interaction with the Graph is now handled via the GraphController, which makes it
easier to undo them or reuse the changed state after graph updates.
This change styles the nodes in the QtGraphView. Since Stylesheets can't be applied to QGraphicsItems, the style
implementation was done in the source files. The containers for public/protected/private nodes are now subclassed from
QtGraphNode as QtGraphNodeAccess, including a helper class QtAccessArrow for indicating the opened/colapsed state.
* fitting boxes to name length
* highlighting active edges and nodes
* hover for edges and nodes
* single click selection for edges and nodes
* edges have transparent second line for easier clicking
* sub structure class members by public/protected/private
Graph view has now toggle-able subnodes. Subnodes connected to the active node are always visible.
fortune cookie message = You will enjoy true success in whatever you do.
The graph views edges are now clickable. On click the edge and its connected nodes will be displayed.
fortune cookie message = Be prepared to accept an exciting opportunity in the future.
* removed const m_dimensions in VectorBase and replaced it with N
* changed signature of DummyNode::operator=
* fixed warning for DummyNode wrongly declared as class
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.
By now the graph displays the active node, without neighbours or anything, and clicking a node sets the active token id to the clicked nodes id.
fortune cookie message = Be prepared to accept an exciting opportunity in the future.