Originally shared by David Berneda

Originally shared by David Berneda
TeeBI new Visualizer control in action. Just one line of code to set the Data to visualize, with automatic layout discovery and a lot of options to customize both by code or visually.
What if the Delphi RTL object tree data was passed to it (pulled from RTTI)? Would it handle it automatically? There are ~4000 objects.
ReplyDeleteThe tree (at left bottom) is a map of the main layout, which has been created from a data table fields (at left top). Do you mean a 4k nodes that each node contains "data"? If this can be somewhat translated to TeeBI data format, no problem. It detects groups, sorts them choosing the most suitable group to be the "root" and it creates charts or grids "on demand", ie when the user clicks or selects a node, its children nodes are "displayed" as charts or grids or lists, etc. Not all nodes/data fields are created at once.
ReplyDeleteEli M That's an interesting idea... are you thinking of something like the charts that used to ship with Delphi?
ReplyDeletehttps://theroadtodelphi.wordpress.com/2010/10/04/fun-with-delphi-rtti-building-a-treeview-with-all-your-classes/
ReplyDeleteDifferent kind of data, but with TeeTree this huge tree is perfectly possible, with per-node font and colors, individual node positioning, etc. (Adding nodes is 100x faster than vcl or fmx Treeview, but painting them probably similar speed)
ReplyDeleteDavid Berneda Producing a class map would be a great demo for the control.
ReplyDeleteEli M David Millington I've made a small test, using both TTree and VCL TTreeView. Something wrong happens with VCL TTreeView because the same code takes 56 seconds on my machine to fill the tree, versus just 0.75 seconds with TTree. The test has a unit using many other units to achieve having aprox 2200 classes (tree nodes).
ReplyDeleteLink to test sources (you need TeeTree to compile):
https://drive.google.com/file/d/0BymV3q6di65nTEIyR3dQcVhTMDA/view?usp=sharing
That speed difference is a nice advertisement for TeeTree too then :) (I haven't looked at the source yet, but you did use BeginUpdate / EndUpdate on TTreeView?)
ReplyDeleteYes, identical code as posted by Rodrigo Ruz. I guess Treeview is slow not that much adding nodes (it is), but also when iterating the nodes to search for rtti parents.
ReplyDelete