19

Does anyone happen to know if there is a Firemonkey version of the popular VirtualTreeView in preparation? Also, has anybody collected some experiences with porting custom controls to Firemonkey and can estimate how much work it would be to port the virtual tree view to Firemonkey? We need this control and switching to Firemonkey is only an option if we can get this control to work.

Thanks!

Stijn Sanders
  • 35,982
  • 11
  • 45
  • 67
jpfollenius
  • 16,456
  • 10
  • 90
  • 156
  • I am sure most of the major component suite developers are in the process of rewriting much of their products for FireMonkey. Have you contacted the VirtualTreeView folks directly? Link: http://www.soft-gems.net/index.php?option=com_contact&Itemid=3 – Jerry Gagnon Sep 15 '11 at 17:50
  • On the other hand, I expect that many commercial developers are evaluating the market before spending lots of $$$. For the opensource projects, some are probably actively developing for FM, others may be taking a wait-and-see. I expect that many, if not most, open-source libraries are in need of a FireMonkey champion to pick up the ball and make a FM version. – Chris Thornton Sep 15 '11 at 19:36
  • I wouldn't hold my breath. They did port it to Delphi.NET but I don't think it will be that easy to port it to FireMonkey. (Am I the only one that feels silly typing about monkeys on fire?) – Leonardo Herrera Sep 16 '11 at 14:01
  • 1
    But what's the alternative then? Are there any virtual grids / tree views already available for Firemonkey? – jpfollenius Sep 16 '11 at 20:49

4 Answers4

6

As far as I understand the FireMonkey is so different from the VCL that it would require major rewrite, basically rewriting the control from scratch... had a quick look into google code's SVN, doesn't look like someone has started the port to FM but there is (VCL) packages for XE2.

ain
  • 22,394
  • 3
  • 54
  • 74
  • 2
    It would indeed be a major rewrite, probably from scratch. FireMonkey is very different. FireMonkey doesn't use monolitich components, it uses a more or less complex set of layers that each can have their own layout, color, gradient, orientation, etc. The component code just manipulates these layers, addressing them by name. A virtual treeview could be done using a TListBox with several different nested components. As (most) components don't have window handle, that is not the enormous waste of resources it may look like. – Rudy Velthuis Sep 16 '11 at 20:57
  • 1
    Thanks, I accepted this since it seems to be the common opinion - even if it's not very satisfying. – jpfollenius Sep 19 '11 at 12:13
4

Alternatives...

FireMonkey does has its own treeview known as FMX.TreeView. Embarcadero documentation about it is quite minimal. It is very primitive compared to VirtualTreeview, but for now it may be all that's available.

If you are using VirtualTreeview as a grid, then you might have to resort to Firemonkey's TGrid or TStringGrid or TDBGrid. The grid implementation is fairly basic. But apparently TDBGrid isn't too bad. Arnaud Bouchez has some screenshots of some Firemonkey Controls and says the TDBGrid content is virtual and gives an example with the screenshot.

It is quite likely 3rd party component builders, e.g. TMS (TAdvStringGrid), Woll2Woll (InfoPower), Berg (NextGrid5), etc., will come out with something. If it looks like VirtualTreeview will not get ported to FireMonkey, there will be an opportunity for one of them to produce an acceptable alternative.

Community
  • 1
  • 1
lkessler
  • 19,819
  • 36
  • 132
  • 203
  • Thanks for your answer! Unfortunately the FMX.TreeView misses the most important characteristic of VirtualTreeView... it is not virtual. The grid seems to support virtual mode using `OnGetValue` events, but it contains severe display bugs (http://stackoverflow.com/questions/7486218/firemonkey-scrollbox-bug) – jpfollenius Sep 22 '11 at 06:01
1

I know that this question have the answer.

But the answer was correct at some point in time.

Now i have minimal port of VirtualTree to Firemonkey. Look at my fork on github https://github.com/livius2/Virtual-TreeView

I work hard on it for how much free time allows. You can imagine how hard it was to start, as VCL and FMX are really different things.

Livius
  • 958
  • 1
  • 6
  • 19
0

There is a virtual treeview from TMS for FMX. Supports Android.

user30478
  • 347
  • 1
  • 3
  • 13