Firemonkey version of VirtualTreeView
Asked Answered
I

4

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!

Idellaidelle answered 15/9, 2011 at 15:15 Comment(4)
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: soft-gems.net/index.php?option=com_contact&Itemid=3Gwalior
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.Grouty
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?)Lubeck
But what's the alternative then? Are there any virtual grids / tree views already available for Firemonkey?Idellaidelle
T
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.

Torosian answered 15/9, 2011 at 15:42 Comment(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.Magnet
Thanks, I accepted this since it seems to be the common opinion - even if it's not very satisfying.Idellaidelle
H
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.

Hazeghi answered 22/9, 2011 at 0:2 Comment(1)
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 (https://mcmap.net/q/407725/-firemonkey-scrollbox-bug)Idellaidelle
T
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.

Tartan answered 13/11, 2018 at 14:24 Comment(0)
T
0

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

Tubbs answered 30/5, 2021 at 11:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.