home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / mac / exsource.old / 37_2.tcl < prev    next >
Text File  |  2003-04-15  |  807b  |  35 lines

  1. #
  2. # Example 37-2
  3. # A simple dialog.
  4. #
  5.  
  6. proc Dialog_Prompt { string } {
  7.     global prompt
  8.     set f .prompt
  9.     if [Dialog_Create $f "Prompt" -borderwidth 10] {
  10.         message $f.msg -text $string -aspect 1000
  11.         entry $f.entry -textvariable prompt(result)
  12.         set b [frame $f.buttons]
  13.         pack $f.msg $f.entry $f.buttons -side top -fill x
  14.         pack $f.entry -pady 5
  15.         button $b.ok -text OK -command {set prompt(ok) 1}
  16.         button $b.cancel -text Cancel \
  17.             -command {set prompt(ok) 0}
  18.         pack $b.ok -side left
  19.         pack $b.cancel -side right
  20.         bind $f.entry <Return> {set prompt(ok) 1 ; break}
  21.         bind $f.entry <Control-c> {set prompt(ok) 0 ; break}
  22.     }
  23.     set prompt(ok) 0
  24.     Dialog_Wait $f prompt(ok) $f.entry
  25.     Dialog_Dismiss $f
  26.     if {$prompt(ok)} {
  27.         return $prompt(result)
  28.     } else {
  29.         return {}
  30.     }
  31. }
  32. Dialog_Prompt "Please enter a name"
  33.  
  34.  
  35.