Posted to tcl by kbk at Thu Feb 22 17:56:48 GMT 2007view raw

  1. # In production code, I'd 'wm title', 'wm style' etc to make the dialog
  2. # look spiffy, but you're concerned with geometry management. I'd also
  3. # add some bindings so that <Key-Return> would trigger the 'OK' action, and
  4. # so on.
  5.  
  6. package require Tk
  7. package require msgcat
  8. namespace import msgcat::mc
  9.  
  10. toplevel .pwdialog
  11.  
  12. frame .pwdialog.body
  13. label .pwdialog.body.l1 -text [mc "User ID:"]
  14. entry .pwdialog.body.e1 -width 12 -textvariable userID -exportselection false
  15. label .pwdialog.body.l2 -text [mc "Password:"]
  16. entry .pwdialog.body.e2 -textvariable password -width 12 \
  17. -exportselection false -show \u2022
  18. grid .pwdialog.body.l1 -row 0 -column 0 -sticky e
  19. grid .pwdialog.body.l2 -row 1 -column 0 -sticky e
  20. grid .pwdialog.body.e1 -row 0 -column 1 -sticky ew
  21. grid .pwdialog.body.e2 -row 1 -column 1 -sticky ew
  22. grid columnconfigure .pwdialog.body 1 -weight 1
  23.  
  24. frame .pwdialog.buttons
  25. button .pwdialog.buttons.ok -text [mc OK] -command authenticate
  26. button .pwdialog.buttons.cancel -text [mc Camcel] \
  27. -command [list destroy .pwdialog]
  28.  
  29. grid .pwdialog.buttons.ok .pwdialog.buttons.cancel -pady 10 -padx 10 -sticky ew
  30. grid columnconfigure .pwdialog.buttons {0 1} -uniform A
  31.  
  32. grid .pwdialog.body -padx 10 -pady 10
  33. grid .pwdialog.buttons