STk:make-dialog(n)               STk procedure              STk:make-dialog(n)



NAME
       STk:make-dialog - Create modal dialog and wait for response

SYNOPSIS
       (STk:make-dialog arguments ...)


DESCRIPTION
       This procedure is part of the STk library. Its arguments describe a
       dialog box.  They can be set using the following keywords.

       :window
              Name of top-level window to use for dialog. The default value
              for this parameter is  .dialog. If a window with this name
              already exists, it is destroyed.

       :title Text to appear in the window manager's title bar for the dialog.
              Default to "Dialog".

       :text  Message to appear in the top portion of the dialog box. Default
              to the empty string.

       :bitmap
              If non-empty, specifies a bitmap to display in the top portion
              of the dialog, to the left of the text.  If this is an empty
              string (or if not specified) then no bitmap is displayed in the
              dialog.

       :default
              If this is an integer greater than or equal to zero, then it
              gives the index of the button that is to be the default button
              for the dialog (0 for the leftmost button, and so on).  If less
              than zero then there won't be any default button.  By default,
              there is no default button.

       :buttons
              the given argument must be a list of couples indicating for each
              the button text and its associated action (a closure). The
              sepcified buttons are displayed in order from left to right.

       :grab  is a boolean value indicating if the STk:make-dialog must wait
              that a button be pressed before returning. Use the symbol global
              to have a global grab. If grabbing is set, STk:make-dialog
              returns the button pressed index (or -1 if the window is
              detroyed before a button is pressed).  By default, the grab is
              unset.


       Hereafter are simple uses of the STk:make-dialog procedure

       ;; A simple dialog; returns after displaying the window (STk:make-
       dialog :text    "Do you want to exit?"
                        :bitmap  "question"
                        :buttons (list (list "Yes" (lambda ()
                                                     (display "Yes0)))
                                       (list "No"  (lambda ()
                                                     (display "No0)))))

       ;; Another one which wait that the user chooses a response
       ;; Default is "bar"
       ;; Return value will be 0 1 or 2
       ;; The @ in a bitmap allows to specify a file (STk:make-dialog :text
       "Choose one"
                        :bitmap  "@/usr/include/X11/bitmaps/terminal"
                        :default 1
                        :grab    #t
                        :buttons (list (list "foo" (lambda ()
                                                     (display "foo0)))
                                       (list "bar" (lambda ()
                                                     (display "bar0)))
                                       (list "baz" (lambda ()
                                                     (display "baz0)))))

SEE ALSO
       message-box



STk                                   4.1                   STk:make-dialog(n)
