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

  1. #
  2. # Example 43-2
  3. # Adding preference items.
  4. #
  5.  
  6. proc PrefVar { item } { lindex $item 0 }
  7. proc PrefRes { item } { lindex $item 1 }
  8. proc PrefDefault { item } { lindex $item 2 }
  9. proc PrefComment { item } { lindex $item 3 }
  10. proc PrefHelp { item } { lindex $item 4 }
  11.  
  12. proc Pref_Add { prefs } {
  13.     global pref
  14.     append pref(items) $prefs " "
  15.     foreach item $prefs {
  16.         set varName [PrefVar $item]
  17.         set resName [PrefRes $item]
  18.         set value [PrefValue $varName $resName]
  19.         if {$value == {}} {
  20.             # Set variables that are still not set
  21.             set default [PrefDefault $item]
  22.             switch -regexp -- $default {
  23.                 ^CHOICE {
  24.                     PrefValueSet $varName [lindex $default 1]
  25.                 }
  26.                 ^OFF {
  27.                     PrefValueSet $varName 0
  28.                 }
  29.                 ^ON {
  30.                     PrefValueSet $varName 1
  31.                 }
  32.                 default {
  33.                     # This is a string or numeric
  34.                     PrefValueSet $varName $default
  35.                 }
  36.             }
  37.         }
  38.     }
  39. }
  40.  
  41.  
  42.