home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / tcl / tcl_1 / !wtest_dboxtest < prev    next >
Encoding:
Text File  |  1996-03-25  |  2.0 KB  |  73 lines

  1. # Test of the w_box dialog box facilities
  2.  
  3.  
  4. #Initialise some variables to hold values of dbox icons
  5.  
  6. set displayvar 0
  7. set writevar "Writeable"
  8. set radiovar radio3
  9.  
  10.  
  11. #We will only use one dbox. This flag will indicate
  12. # if it is already open.
  13.  
  14. set boxisopen 0
  15.  
  16.  
  17. #Create the Dialog box template
  18. #The three action buttons each have a script attached.
  19. #The Cancel and OK script return 0. So the box is closed.
  20. #The Show script returns show, so the box remains open.
  21. #Note that "  OK " is surrounded by spaces. This gives a wider box. The box
  22. #sizes are suitable for the system font, O and K are wide letters in some
  23. #other fonts.
  24.  
  25. w_box box create "W_test Test Box"\
  26.  { vlist {info "info" "text display" }
  27.          {display "display" displayvar}
  28.          {watch "watch" watchvar}
  29.          {write "write" writevar}
  30.          {hlist {option "opt1" opt1 }
  31.                 {option "opt2" opt2 }
  32.                 {option "opt3" opt3 }
  33.          }
  34.          { box "A box"
  35.            { hlist {radio "radio1" radiovar}
  36.                    {radio "radio2" radiovar}
  37.                    {radio "radio3" radiovar}
  38.            }
  39.          }
  40.          {sprite !tcl}
  41.          {hlist {action "Cancel" {set boxisopen 0}}
  42.                 {action "Show" {showvars;return show}}
  43.                 {default " OK " {showvars;set boxisopen 0}}
  44.          }
  45.  }
  46.  
  47. # This procedure displays the contents of the dbox variables in a text window
  48.  
  49. proc showvars {}\
  50.  { global displayvar writevar radiovar opt1 opt2 opt3
  51.    show "Dialog box variable"\
  52.    "displayvar = $displayvar"\
  53.    "writevar = $writevar"\
  54.    "radiovar = $radiovar"\
  55.    "opt1=$opt1 opt2=$opt2 opt3=$opt3 "\
  56.  }
  57.  
  58. #Open the box if it is not already open.
  59.  
  60. proc boxopen {}\
  61.  { global boxisopen displayvar
  62.    incr displayvar
  63.    if {$boxisopen==0}\
  64.    { w_box box open
  65.      set boxisopen 1
  66.    }
  67.  }
  68.  
  69. #watchvar will be set to the date at 5 second intervals.
  70. #As it has a watch component in the dbox this will be updated when it changes.
  71.  
  72. w_null watching {set watchvar [date];list 5s} 0s
  73.