procedure
                        :list           name

Creates a list widget within the current panel frame for the TCL interpreter. A
list widget is a frame window containing a scrollbar window and a listbox
window.
name is used to generate the path name of the windows to be created. It
should have the format of a widget name  (e.g.  :list   LST) and should be
unique within this interpreter. The name will be lower-cased (using the string
tolower command) in order to generate the path name used to create the
windows.
When the mouse button 1 is released while positioned over the listbox
window then ,if available, the TCL script supplied using the :command
parameter will be executed. If this is not available the TCL command
click  FRAME :list-select LIST text-string selection
will be executed where FRAME and LIST are widget names. If the option
exclusive T is active text-string is the information contained in the currently
selected item of the list and selection is the index number for the currently
selected item. If the option exclusive F is active text-string is a TCL list
containing information for each of the currently selected items and selection
is a TCL list of the index numbers for each of the currently selected items.
The path names generated have the root framename.panelname.listname
and the items scroll and list.
The :list procedure may also be used directly within a frame window (i.e. before any panel
window has been created).

A binding is made to the keyboard Control + P sequence which causes the contents of the
listbox window to be sent to the printer. A binding is made to the keyboard Control + S
sequence which causes the contents of the listbox window to be saved to file.

The :list procedure may have a number of arguments however none of these
is mandatory.

        arguments
                        :x                      number
        number is the x-co-ordinate within the current panel of the list widget in
pixels
        e.g.    :x 40

                        :y                      number
        number is the y-co-ordinate within the current panel of the list widget in
pixels
        e.g.    :y 20
The :x and :y parameters may be omitted in which case the packer geometry manager will be
used and the position of the window will be determined by the contents of the master (panel)
window. If however the :x and :y parameters are supplied then the placer geometry manager
will be used to position the window within the master (panel) window.
Warning:        Note that it is not possible to mix use of the packer and placer geometry
managers within the same window. Thus all windows within a panel must request or imply that
the same geometry manager is used.


                        :w                      number
        number is the width of the list widget in pixels. If :w is not defined then
the width of the list widget is calculated using the value supplied for :list-
width.
        e.g.    :w   20

                        :h                      number
        number is the height of the list widget in pixels and is also the height of
the list and scroll windows.
        e.g.    :h   20

                        :rows                   number
        number is the number of rows of text to be contained by the listbox
window. This is used to define the height of the list widget (see :h).

                        :cols                   number
        number is the number of columns of text to be contained by the listbox
window. This is used to define the width of the listbox window and is used to
position the scrollbar window (see :w and :list-width).

                        :list-width             number
        number is the width of the listbox window in pixels and is used to
position the scrollbar window. It is also used to determine the width of the list
widget if :w is not defined.
There are obvious interactions between :w, :h, :rows, :cols and :list-width and so it is not
sensible or necessary to define all of these.

The preferred choice is to specify the size of the list using :rows and :cols since these are
specified using units of characters and are thus not dependent on the font size selected.

                        :strings                list
        list is a TCL list of text strings which are to be written into the listbox
component of the list widget.
The default is that the listbox is left empty.

                        :exclusive              T|F
        If the option T is selected then only one item at a time is selected from
the list of strings defined by the :strings argument. Selecting an item from the
list automatically causes any currently selected item to be deselected. If the
option F is selected then any number of items from the list may be selected
concurrently.
The default option is exclusive T.

                        :browsing               T|F
        This argument is treated as an alias for :exclusive.

                       :font                    fixed|variable
        Specifies the type of font to be used for the listbox window. The default is a
fixed width font (courier).

                        :see                    number
        Defines an element of the list which must be visible in the listbox
widget. To ensure that the beginning of the list is visible then :see 0 should be
specified.
The default is that the start of the list is visible; i.e. :see 0. For compatibility with use in other
commands :show is recognised as an alias for :see.

                        :scroll         V|H|B|N
        Specifies the generation and location of scroll-bar windows. These
may be omitted (N - none); be drawn only vertically to the right of the listbox
window (V - vertical); be drawn only horizontally below the listbox window (H -
horizontal) or be drawn both vertically and horizontally (B - both).

                        :command                string
        string is any TCL command or commands to be executed when the list
is selected.
If a command is supplied and executed in this manner then the click procedure is not
invoked.

See also common procedure arguments defined later in this document.