Posted to tcl by jdc at Fri Jul 20 13:32:04 GMT 2007view raw

  1. package require Tk
  2.  
  3. proc fields {w contents} {
  4. frame $w
  5. set n 0
  6. foreach i $contents {
  7. if [string match $* $i] {
  8. ttk::entry $w.$n -textvariable [string range $i 1 end] -width 10
  9. } elseif [string match @$* $i] {
  10. ttk::radiobutton $w.$n \
  11. -variable [lindex [split [string range $i 2 end] ","] 0] \
  12. -value [lindex [split [string range $i 2 end] ","] 1] \
  13. -text [lindex [split [string range $i 2 end] ","] 1]
  14. } elseif [string match '$* $i] {
  15. ttk::label $w.$n -textvariable [string range $i 2 end] -wraplength 550
  16. } else {
  17. ttk::label $w.$n -text $i -wraplength 550
  18. }
  19. incr n
  20. }
  21. eval pack [winfo children $w] -side left -anchor w
  22. set w
  23. }
  24.  
  25. pack [fields .f1 {tekst $entry}]
  26. pack [fields .f2 {tekst @$rbvar,Yes @$rbvar,No @$rbvar,Maybe @$rbvar,Never}]
  27.  
  28. set rbvar No