procedure
                        :button         name

Creates a button widget within the current panel frame for the TCL interpreter.
name is used to generate the path name of the window to be created. It
should have the format of a widget name  (e.g.  :button   BUT) 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
window.

When the button is selected using the mouse then ,if available, the TCL script
supplied using the :command parameter will be executed. If this is not
available the TCL command
click  FRAME “ ” BUTTON
will be executed where FRAME and BUTTON are widget names.
The path name generated has the form  .framename.panelname.buttonname.
The :button procedure may also be used directly within a frame window (i.e. before any panel
window has been created).


The :button 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 button
window in pixels
        e.g.    :x 40

                        :y                      number
        number is the y-co-ordinate within the current panel of the button
window 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 button in characters.
        e.g.    :w   20
For compatibility with other widget procedures the argument :valuex is recognised and treated
as equivalent to :w.


                        :h                      number
        number is the height of the button in lines of text.
        e.g.    :h   2
The :w and/or :h parameters may be omitted in which case the size of the button will be
determined by its contents. If however the :w and :h parameters are supplied then these will
be used to configure the button window. Normally :h will not be supplied.

                        :label                  string
        label is a text string to be used to configure the button and will be
displayed within the button widget.
The default is the name of the button widget. Normally the string supplied is text to be written
onto the button widget. However if the string supplied starts with the character @ then it is
assumed to be a bitmap file descriptor.

                        :padx                   value
        value should be any valid value for the -padx configuration option to be
used by the TCL button command.
The default is that padx 0 is used.

                        :pady                   value
        value should be any valid value for the -pady configuration option to be
used by the TCL button command.
The default is that pady 0 is used.

                        :hlt                    value
        value should be any valid value for the -highlightthickness configuration
option to be used by the TCL button command.
The default is that hlt 1 is used.

                        :colour         value
        value should be any valid colour specification and will be used to
configure the background component of the button window. This overrides
any colour selection made using the :colour command or any user colour
selection.
It is recommended that this feature should be used only where important since the value
supplied may be incompatible with the current user colour selection.

                        :command                string
        string is any TCL command or commands to be executed when the
button 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.