Darrel, your answer is great. I thing that similar answers should be directly added to documentation ;-)
2008/7/29 Derrell Lipman <[EMAIL PROTECTED]>: > On Tue, Jul 29, 2008 at 3:52 PM, Guilherme Aiolfi <[EMAIL PROTECTED]> wrote: >> >> Hi, > > Hi! > >> >> I'm keep doing some tests, now with tables. > > Great. The message subject indicates that you're using 0.8 but I believe > from your questions that that's not actually the case. Please confirm that > you're actually using 0.7.x (either a release or the legacy_0_7_x branch in > svn). Fabian is *just now* finishing up porting Table to 0.8, so it's > highly unlikely that it's yet stable enough to be testing with. And I don't > believe that Progressive has yet been ported to 0.8 at all. >> >> First, I would like to know the difference between Virtual Table and >> Progressive Table. ohh, and a simple Table using a Remote model. > > qx.ui.table.* is a very powerful widget. It is "virtual" in that the table > data can be of any length (e.g. hundreds of thousands of rows or more) yet > only the rows which are actually being viewed are rendered. As the user > scrolls up or down, the rendered rows are removed and the newly visible rows > are rendered in their place. Rendering a large amount of data is a very, > very slow operation, so being able to render only the visible rows has HUGE > benefits. You'll sometimes hear qx.ui.table.* referred to as simply "Table" > and sometimes as "Virtual Table". Those terms reference the same widget in > qooxdoo. > > The data supplied to (and displayed by) the Table widget can be entirely > resident in memory at the browser or can be fetched from a "backend" (web > server) as it is needed to be displayed (and some can be pre-fetched too). > The data model you choose determines where and how the data is retrieved > from. qx.ui.table.model.Simple provides a simple (duh!) model in which all > of the table data resides in memory at the browser; i.e. the whole data set > is resident as an array of arrays in the Simple data model. Alternatively, > qx.ui.table.model.Remote allows the data to be fetched from the backend as > it is needed. qx.ui.table.model.Remote is an abstract class that you can > extend by providing the actual communication to your backend. > > As powerful as the Table widget is, there are some drawbacks to the virtual > aspects of it. One big one is that it is very difficult to implement > scrolling in a virtual widget when the rows are not the same height. For > that reason, to date, Table has required that the row height be a constant > for any particular table. (I don't know if Fabian is working to remove this > restriction in the 0.8 port.) For those times that you'd really like to > have variable row height, qx.ui.Progressive provides a table renderer that > lets you do that. Progressive is a nice general-purpose widget that can do > things progressively. The examples show how it can be used to progressively > build your gui so that the user sees it progressively being built, i.e. > instead of just waiting for a while until the whole gui has been built up > and then it gets displayed, loading with Progressive allows individual or > groups of widgets to be rendered as they are ready even though the entire > gui has not yet been built. Another renderer available with Progressive is > the table renderer. It allows you to have a fairly large table get does > ultimately get rendered in its entirety to the browser, but does so > progressively so that the user can begin to work with the page and the data > that has already been rendered even though more table data is still being > rendered. > > If the (few) limitations of Table don't effect what you're trying to do, > it's likely that qx.ui.table.* is the preferable widget to use for table > rendering. If you need variable row height, then consider Progressive's > table renderer, and consider Progressive whenever you would like for the > user to see a sequence of things happening rather than waiting for all of > them to complete before seeing anything on the screen. > >> >> Second, can I use cell editors with a remote model? is there an example? > > The examples would be the same as with the Simple model, as the cell editor > communication is with the model. If you implement the methods by the > abstract Remote model class, you should have use of cell editors with no > other work. >> >> and, the last question: >> >> ERROR: >> >> args.callee.base is undefined >> base()([qx.event.type.Event[ic] $$hash=ic _type=disappear], >> undefined)Object.js (linha 128) >> _onDisappear()()Scroller.js (linha 653) >> _dispatchEvent()(qx.event.type.Event[7q] $$hash=7q _type=disappear >> _target=div)EventHandler.js (linha 230) >> dispatchEvent()(div, qx.event.type.Event[7q] $$hash=7q _type=disappear >> _target=div, "disappear")Direct.js (linha 100) >> wrappedFunction()Interface.js (linha 352) > > It's quite difficult to have any idea what's going on here because (a) you > sent a backtrace from a "build" version, not a "source" version; and (b) you > didn't send enough code to locate the problem. The best thing to do when > asking for help of this type is to build a very small test application based > on the skeleton, that shows the bug. Post that application and someone will > likely be able to point out the errors of your way. > > Cheers, > > Derrell > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel