westor <[EMAIL PROTECTED]> writes:

> One of the first things I cheked out with qooxdoo was a tree which opened
> with data, delivered at runtime by backend script. I modified the
> treefullcontrol example in the demo.
> Really, it works fine, but for a bunch of entries its slow.
> Now - with 0.6.6 - I noticed the treevirtual classes. Why are three kinds of
> similar looking class structures available? Is treevirtual the class you
> would suggest du do things? What are the advantages or disadvantages of
> these classes?

The three tree implementations have been done at different times, each
improving on the previous implementation.  I implemented all but the original
Tree class.  TreeFullControl added a lot of capability to the original tree
implementation and I originally had implemented those capabilities as an
improvement on Tree (as part of the same class) but I was fairly unknown to
the qooxdoo team at that time, and the speed of TreeFullControl vs Tree with
only the Tree column (equivalent usage) was unknown, so it was requested that
I make it an independent class.  At this point, it would be reasonable to
combine those two into a single class if/when someone gets a chance.

It was long known that adding many items to a tree (with the traditional two
implementations) was really, really slow.  Rendering all of those objects is
slow on Firefox, and incredibly slow on IE.  The "right" way to implement a
tree is to render only the portions of it that are actually visible at any one
time (thus the term "virtual").  This is, of course, true with other more
advanced gui elements such as a table, and Til's fabulously adaptable Table
implementation laid the foundation for me to finally implement a virtual tree.
TreeVirtual is brand new, and still under development.  Although the interface
may still change, it is beginning to stabilize.  Usage, both in my own
applications, in the Samba Web Administration Tool, and by a few other daring
individuals who have chosen to use it in its early development state, is
demonstrating that it is both useful and could still use some additional
features and improvements.  I continue to work on it.  Depending on when 0.7
is released, it may or may not stabilize enough by that time to remove the
EXPERIMENTAL tag from it.

> Looks like treevirtaul is much faster, can I do anything with this class,
> waht I was able to to with the other one?

Yes, for anything larger than really small trees, TreeVirtual is *much*
faster.  You can do nearly everything with TreeVirtual that you can do with
Tree and TreeFullControl.  The big missing feature in TreeVirtual is drag 'n'
drop, but when I requested suggestions for what people wanted with that, I got
no replies, so I guess no one really cares.  There are likely some other
features of the other trees that don't exist in TreeVirtual that I'm not
thinking of right now, but for most practical purposes, yes it supports
generally what the others do.

You're welcome to use TreeVirtual, but do be aware that the interface may
still change in non-backward-compatible ways that will require at least minor
changes to your code.

Cheers,

Derrell

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to