Version 19 of Virtuallist

Updated 2004-06-06 03:00:40 by lwv

ulis a(Virtual)ListBox is a Tcl megawidget that displays a virtual list.

The idea of a virtual listbox was evoked early (1995) by Greg Goodman in c.l.t:

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&frame=right&th=401f5a4fb1e3a888&seekm=3lcide%24l62%40Starbase.NeoSoft.COM#link1

I never read the thread before but his description is very close to my design.

http://perso.wanadoo.fr/maurice.ulis/tcl/Virtuallist/demo1.gif http://perso.wanadoo.fr/maurice.ulis/tcl/Virtuallist/demo3.gif http://perso.wanadoo.fr/maurice.ulis/tcl/Virtuallist/virtuallists.gif

The items are virtual and are obtained through a procedure callback when they should be displayed.

  • the list is not fixed and can vary on demand,
  • there can be more virtual items than memory can contain (until 2^30 - 1 items),
  • the items can be memorized to optimize the display,
  • the items can be invalidated to free the memory,
  • a note can be associated with each item.

doc & dowload: http://perso.wanadoo.fr/maurice.ulis/tcl/Virtuallist


See also


28 Sep, 2003 - How is it different from a (Tktable) table?

ulis: It's not a multi-columns megawidget but a widget with virtual data (given by a callback).

At the top of the page you can see:

  • the demo with computed items
  • the demo with items from the Web
  • the demo with items from a DB (3 associated virtuallists)

- Sorry, it still is not very clear.


LV It's very clear to me - and quite exciting. ulis, have you considered submitting your widgets to tklib for wider distribution?

As for the VirtualList, think of things this way. In most cases, a listbox contains a fixed set of data that you obtain up front, storing the values in at least the widget, if not additionally some sort of list variable.

However, with VirtualList, it sounds as if ulis uses callbacks, so that the data need not all be in memory - instead, it is fetched as you scroll further in the list.


Category GUI

Category Widget