Copyright © 2009, 2010 Arndt Roger Schneider
The Runtime Library 3.0 does not contain a listbox of its own.
rtl_mlistbox, the multi-column listbox, uses the Tk-listbox internally. These listboxes can be replace by defining another -listtype for the rtl_mlistbox. This is shown in Figure 1, “SVG generated from hugelist” in two distinct ways: the listtype for the outer rtl_mlistbox is »rtl_mlistbox« and the listtype for the inner rtl_mlistboxes is »hugelist::create«. The inner rtl_mlistboxes aggregate hugelist.
Figure 2, “Hierarchy of Cascading Listboxes ” displays the hierarchy of the former screen-shot seen in Figure 1, “SVG generated from hugelist”. Only the structure of one inner rtl_mlistbox is shown.
All that is needed for the rtl_mlistbox to use a hugelist instead of the Tk listbox is thus a simple option database entry:
Example 1. listtype via Option Database
# Replace all Tk listboxes with hugelist. option add *Rtl_mlistbox.listType {hugelist::create}
The present cascading design can be specified on the command line.
Example 2. Cascading rtl_mlistbox via Command-line
# New rtl_mlistbox window. Composite cascading rtl_mlistbox .top.cascading \ -listtype rtl_mlistbox \ -columns 3 \ -headingsanchor {w w w} \ -headings {arna bewa cuma}
Aggregation is commonly used inside the Runtime Library 3.0 and Gestalt Items 1.1.
hugelist Usage
The rtl_mlistbox as exemplified here.
The rtl_combobox via -listtype.
The gistbox via -listtype.
The rtl_gridwin for scrollbar management, via the -window property. The hugelist should be a child window of the managing rtl_gridwin.
The Runtime Library 3.0 is needed for this design examples Figure 1, “SVG generated from hugelist” and can be obtained from the same cvs server. This version is still under development and may change in the future, particular the rtl_mlistbox.