procedure TextDialog: text dialog procedure ToggleDialog: toggle dialog procedure SelectDialog: selection dialog procedure Notice: notice dialog procedure SaveDialog: save dialog procedure OpenDialog: open dialog procedure ColorDialog: color dialog procedure Popup: create popup subwindow
link dialog
December 14, 1999; Ralph E. Griswold and Gregg M. Townsend
Requires: Version 9 graphics
This file is in the public domain.
This file contains several procedures for posting dialog boxes:
AskDialog() -- TextDialog() with only caption and "No" instead of "Cancel"
Notice(win, captions) -- notice dialog (a simple text dialog)
TextDialog(win, captions, labels, defaults...) -- text dialog
ToggleDialog(win, captions, labels, defaults...) -- toggle dialog
SelectDialog(win, captions, labels, defaults...) -- selection dialog
SaveDialog(win, caption, filename, len) -- save file dialog
OpenDialog(win, caption, filename, len) -- open file dialog
ColorDialog(win, captions, refcolor, callback, id) -- color dialog
In all cases, the first or only caption is used as a dialog box ID,
used to remember the dialog box location when it is closed. A later
posting using the same ID places the new box at the same location.
____________________________________________________________
ColorDialog(win, captions, color, callback, id) -- display color dialog
captions list of dialog box captions; default is ["Select color:"]
color reference color setting; none displayed if not supplied
callback procedure to call when the setting is changed
id arbitrary value passed to callback
ColorDialog displays a dialog window with R/G/B and H/S/V sliders for
color selection. When the "Okay" or "Cancel" button is pressed,
ColorDialog returns the button name, with the ColorValue of the final
settings stored in the global variable dialog_value.
If a callback procedure is specified, callback(id, k) is called whenever
the settings are changed; k is the ColorValue of the settings.
____________________________________________________________
Popup(x, y, w, h, proc, args...) creates a subwindow of the specified
size, calls proc(args), and awaits its success or failure. Then, the
overlaid area is restored and the result of proc is produced. &window,
as seen by proc, is a new binding of win in which dx, dy, and clipping
have been set. The usable area begins at (0,0); its size is
(WAttrib(win, "clipw"), WAttrib(win, "cliph")). Defaults are:
x, y positioned to center the subwindow
w, h 250, 150
proc Event