* Updated GraphGridLayout documentation
* Don't use potentially misleading name "segment tree" .
Not exactly segment tree (although sometimes called that), and for the purpose of high level understanding how graph layout works doesn't matter what it is. Any data structure which provides required queries could be used.
Co-authored-by: Kārlis Seņko <karlis3p70l1ij@gmail.com>
* Add generic r2 graph.
* Add Callgraph widgets
* Add more graphviz layouts.
* Fix some edge cases in graphGridLayout that were more likely to appear in callgraphs
* Refactor the code moving some of the logic out of disassemblyGraphWidget making it more reusable
* Create adapter for converting vertical layout into horizontal
* Fix edge spacing override for edges going out of switch statement.
* Update documentation.
* Rewrite node placement and edge routing parts of graph layout code
* Document the high level structure of layout algorithm
* Tighter layout and less edge crossings
* Better worst case memory and CPU usage
* Limit how far outside image view can be moved
* Allow using main view as overview by zooming out
* Fix showBlock position calculation when zoomed out
* Rewrite block sorting and placment so that unreachable blocks are processed.
* Use DFS instead of Kahn's algorithm for toposort as it makes it easier
to deal with loops.
* Remove unused code
* Separate graph layout code from GraphView.
* Remove formatting and grid layout specific code from GraphLayout.
* Copy edge styles from from main graph view to overview.