home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / xul / xuiBoolean.tcl < prev    next >
Text File  |  2000-11-02  |  1KB  |  78 lines

  1.  
  2. class xuiBoolean {
  3.     inherit xuiObject
  4.  
  5.     variable value {}
  6.     variable default {}
  7.     constructor {} {
  8.     setXuiClass boolean
  9.     }   
  10.     method getValue {}
  11.     method setValue {}
  12.     method getDefault {}
  13.     method setDefault { bool }
  14.     method clearValue {}
  15.     method getText {}
  16.     method clone 
  17.     method copyClone { clone }
  18.     method reset {}
  19. }
  20.  
  21. body xuiBoolean::reset {} {
  22.        set value $default
  23. }
  24.  
  25. body xuiBoolean::getDefault {} {
  26. return $default
  27. }
  28.  
  29. body xuiBoolean::setDefault { bool } {
  30. set default $bool
  31. }
  32.  
  33. body xuiBoolean::setValue {} {
  34.     set value 1
  35. }
  36.  
  37. body xuiBoolean::clearValue {} {
  38.     set value 0
  39. }
  40.  
  41. body xuiBoolean::getValue {} {
  42.     return $value
  43. }
  44.  
  45. body xuiBoolean::getText {} {
  46.   if [llength $value] {
  47.     if $value {
  48.     return yes
  49.     } else {
  50.     return no
  51.     }
  52.   } else {
  53.      return "unset"
  54.   }
  55. }
  56.  
  57. body xuiBoolean::clone {{parentName {::#auto}}} {
  58.    set clone [xuiBoolean $parentName.$name]
  59.    copyClone $clone
  60.    return $clone
  61. }
  62.       
  63. body xuiBoolean::copyClone { clone } {
  64.    xuiObject::copyClone $clone
  65.    if [llength $value] {
  66.     if $value {
  67.     $clone setValue
  68.     } else {
  69.     $clone clearValue
  70.     }
  71.   } else {
  72.      return
  73.   }
  74.    $clone setDefault $default
  75.    $clone setXuiClass $xuiClass
  76. }
  77.  
  78.