Runtime Library version 1.0 was written in 1998.
The Runtime Library contains composite windows, referred too as templates. Many templates are based on Tk’s canvas window. such as »rtl_tree«, »rtl_scrollwin«, »rtl_tabset«. Using TkPath was introduced in version 2.0.
»rtlysizer« and »rtlxsizer« do directly manipulate column or row inside a region managed by a »grid« geometry manager. Thus allowing for user customizable designs. In fact the internal structure for this resize windows is so simple, that it does not warrant to be implemented as template.
»rtl_mlistbox« and »rtl_combobox«, listbox based templates. Both templates allow it to replace the internal listbox, with another window class. adhering to the »listbox« interface. This can be either »hugelist«, »listbox«, »rtl_mlistbox« (even inside rtl_mlistbox), »tablelist«, and to some extend also »rtl_tree«.
»rtl_gridwin«, »rtl_scrollwin« and »rtl_tabset« are containers. They provide automatically scrollbar management, scroll able or mutli-page dialogs.
The Runtime Library works in tandem with Gestalt Items and is based on the Tk window set. There is no direct dependency to the Gestalt Items and Gstripes. A specific package inside of Gestalt Items: »gstripesrtl« injects Gstripes into the Runtime Library.
Similar to Gstripes, there is no direct dependency on TkPath. TkPath is used on an if-present base. Both TkPath versions 0.2.4..0.2.8 and 0.3 and higher are supported.
The Runtime Library also provides the »template« model implemented by the Jeszra code generation. This model is fully document in the Runtime Library Manual (PDF).
Runtime Library Palette
The rtl_gridwin is a container window, which includes scrollbars. A client window is accepted via y the »window« property. The scrollbars are then attached to this client window.
The rtl_gridwin, especially when striped, follows closely the AQUA® style for managed windows. It visually integrates the scrollbars with the managed window.
rtl_tabset is a tabset container. The »Tabset« item works in conjunction with the »Tab« item. A Tab represents a page inside of a tabset.
rtl_tabset is implemented using Tk canvas and if possible TkPath which allows for a visual sophisticated window. The rtl_Rtl_tabset can be converted to Scalable Vector Graphics.
The tab appearance is fully customizable, not only for colour, font, image and text, but also its shape can be freely defined. Either for the entire tabset and for each individual tab.
rtl_tabsets are used in Jeszra; In the Inspector and the preferences.
The predefined tab item of a »rtl_tabset«.
This tab item allows for colour, font, image and text customization.
rtl_scrollwin provide the ability to scroll a dialog.
A rtl_scrollwin is used inside the Inspector.
The resize elements inside the Runtime Library.
This items manipulate the »minsize« value of their containing grid-cell (column or row).
rtlysizer and rtlxsizer can be moved inside a grid, they determine on-demand what row, column to alter.
The Runtime Library tree. The hierarchy view inside of Jeszra is implemented through rtl_tree.
rtl_tree supports on-demand data acquasition. A sophisticated Graphical User Interface, internal Drag'n'Drop, nodes and leafs of varying size. An item may freely exceed the alloted space.
The rtl_mlistbox, does not implement a listbox, instead it reuses other listboxes internally and combines them into a multi-column listbox. The listbox type can be set through the static property »listType«.
The Tk listbox is being used as the default value of »listtype«. Hugelist, tablelist and even rtl_mlistbox are accepted by rtl_mlistbox. The recommended listbox is Hugelist 1.4 for performance reasons and a better AQUA® integration.
rtl_mlistbox can be used for cascading listbox designs, of abitrar depth.
rtl_combobox is a simple combobox implementation.
As with rtl_mlistbox, the listbox type is customizable through the »listtype« property, here even rtl_tree is accepted.
The striped variant of rtl_combobox allows for a smooth AQUA® integration.
The Runtime Library contains an online help system consisting of tooltips, status bar and href entries. Help messages are stored inside the Option Database. See Example 2.2, “Tooltip and Status Bar”.
Example 2.2. Tooltip and Status Bar
# Status bar messages and tooltips are # separated by a »|« vertical line. option add *MyWindow.href \ {myhelpfile.html#index} option add *MyWindow.help \ {This goes to a status bar. | This is a tooltip. }