home *** CD-ROM | disk | FTP | other *** search
/ BUG 11 / BUGCD1998_02.ISO / email / sime / simdemo.z / process.tcl < prev    next >
Text File  |  1997-12-09  |  5KB  |  181 lines

  1. #note "reading process.tcl"
  2. proc enablectls {win flag} {
  3.     global windows
  4.     keylget windows($win) windowptr retwin
  5.     foreach i [keylget windows($win) kidlist] {
  6.         if {[keylget windows($i) type]!="label"} {
  7.             if {$flag==1} {
  8.                 enable_control $i
  9.             } else {
  10.                 disable_control $i
  11.             }
  12.         }
  13.     }
  14. }
  15.  
  16.  
  17.  
  18. proc write_ctl_coord {filehandle win} {
  19.     global windows
  20.     puts $filehandle " -left " nonewline
  21.     puts $filehandle [keylget windows($win) left] nonewline
  22.     puts $filehandle " -top " nonewline
  23.     puts $filehandle [keylget windows($win) top] nonewline
  24.     puts $filehandle " -right " nonewline
  25.     puts $filehandle [keylget windows($win) right] nonewline
  26.     puts $filehandle " -bottom " nonewline
  27.     puts $filehandle [keylget windows($win) bottom] nonewline
  28. }
  29.  
  30.  
  31. # print values for controls that have
  32. # no command option
  33. # no title option
  34. proc print_no_command_title_ctl {win filehandle} {
  35.     global windows
  36.     puts $filehandle [list [keylget windows($win) type]\
  37.                      [keylget windows($win) winname]] nonewline
  38.     puts $filehandle " -parent [keylget windows($win) parent]" nonewline
  39.     write_ctl_coord $filehandle $win
  40. }
  41.  
  42.  
  43. # print values for controls that have
  44. # no command option
  45. proc print_no_command_ctl {win filehandle} {
  46.     global windows
  47.     puts $filehandle [list [keylget windows($win) type]\
  48.                      [keylget windows($win) winname]] nonewline
  49.     puts $filehandle " -parent [keylget windows($win) parent]" nonewline
  50. set contents [get_ctl_title $win]
  51. puts $filehandle " -title \"$contents\"" nonewline
  52. #note "write content to file"
  53.     write_ctl_coord $filehandle $win
  54. }
  55.  
  56.  
  57. # print values for controls that have
  58. # only command option after coordinates
  59. proc print_gen_command_ctl {win filehandle} {
  60.     global windows
  61.     print_no_command_ctl $win $filehandle
  62.     puts $filehandle " -command " nonewline
  63.     puts $filehandle \{[keylget windows($win) usercmd]\}
  64. }
  65.  
  66.  
  67. # print values for controls that have
  68. # group option
  69. # group value option
  70. proc print_grp_command_ctl {win filehandle} {
  71.     global windows
  72.     print_no_command_ctl $win $filehandle
  73.     puts $filehandle " -variable " nonewline
  74.     puts $filehandle [keylget windows($win) variable] nonewline
  75.     puts $filehandle " -value " nonewline
  76.     puts $filehandle [keylget windows($win) value]  nonewline
  77.     puts $filehandle " -command " nonewline
  78.     puts $filehandle \{[keylget windows($win) usercmd]\}
  79. }
  80.  
  81.  
  82. # print values for
  83. # listbutton
  84. # listedit
  85. # listbox
  86. proc print_listbtn_ctl {win filehandle} {
  87.     global windows
  88.     puts $filehandle [list [keylget windows($win) type]\
  89.                      [keylget windows($win) winname]] nonewline
  90.     puts $filehandle " -parent [keylget windows($win) parent]" nonewline
  91.     write_ctl_coord $filehandle $win
  92.     puts $filehandle " "
  93.     if {[listcount $win] !=0 } {
  94.         for {set i [expr [listcount $win]-1]} {$i >= 0} {incr i -1} {
  95.             append listvalues \"[listitem $win $i]\" " "
  96.         }
  97.         puts $filehandle [concat "listadd [keylget windows($win) winname] 0" $listvalues]
  98.     }
  99. }
  100.  
  101.  
  102. proc print_txedit_ctl {win filehandle} {
  103.     global windows
  104.     puts $filehandle "txedit $win -parent [keylget windows($win) parent]" nonewline
  105.  write_ctl_coord $filehandle $win
  106.     puts $filehandle " "
  107.     set contents [txeditctl $win get]
  108. puts $filehandle "txeditctl $win set \"$contents\""
  109. }
  110.  
  111. proc print_txeditline_ctl {win filehandle} {
  112.     global windows
  113.     puts $filehandle "txeditline $win -parent [keylget windows($win) parent]" nonewline
  114.  write_ctl_coord $filehandle $win
  115.     puts $filehandle " "
  116.     set contents [txeditctl $win get]
  117. puts $filehandle "txeditctl $win set \"$contents\""
  118. }
  119.  
  120. proc produce_win_file {win filename} {
  121.     global windows
  122.     set filehandle [open $filename w+]
  123. #       puts $filehandle [list [keylget windows($win) type]\
  124. #                                        [keylget windows($win) winname]] nonewline
  125. #       puts $filehandle " -title \"[keylget windows($win) title]\"" nonewline
  126. #       write_ctl_coord $filehandle $win
  127. #       puts $filehandle " "
  128.     foreach i [keylget windows($win) kidlist] {
  129.         set ctltype [keylget windows($i) type]
  130.         if {$ctltype=="frame"} {
  131.             print_no_command_title_ctl [keylget windows($i) winname] $filehandle
  132.             puts $filehandle " "
  133.         } 
  134.         if {$ctltype=="label"} {
  135.             print_no_command_ctl [keylget windows($i) winname] $filehandle
  136.             puts $filehandle " "
  137.         } 
  138.         if {$ctltype=="edit"} {
  139.             print_no_command_ctl [keylget windows($i) winname] $filehandle
  140.             puts $filehandle " "
  141.         } 
  142.         if {$ctltype=="groupbox"} {
  143.             print_no_command_ctl [keylget windows($i) winname] $filehandle
  144.             puts $filehandle " "
  145.         }
  146.         if {$ctltype=="checkbox"} {
  147.             print_gen_command_ctl [keylget windows($i) winname] $filehandle
  148.             if {[checked [keylget windows($i) winname]]} {
  149.                 puts $filehandle "check [keylget windows($i) winname] 1"
  150.             }
  151.         }
  152.         if {$ctltype=="button"} {
  153.             print_gen_command_ctl [keylget windows($i) winname] $filehandle
  154.         }
  155.         if {$ctltype=="radiobutton"} {
  156.             print_grp_command_ctl [keylget windows($i) winname] $filehandle
  157.             if {[chosen [keylget windows($i) winname]]} {
  158.                 puts $filehandle "choose [keylget windows($i) winname]"
  159.             }
  160.         }
  161.         if {$ctltype=="listbutton"} {
  162.             print_listbtn_ctl [keylget windows($i) winname] $filehandle
  163.         } 
  164.         if {$ctltype=="listedit"} {
  165.             print_listbtn_ctl [keylget windows($i) winname] $filehandle
  166.         } 
  167.         if {$ctltype=="listbox"} {
  168.             print_listbtn_ctl [keylget windows($i) winname] $filehandle
  169.         } 
  170.         if {$ctltype=="txedit"} {
  171.             print_txedit_ctl [keylget windows($i) winname] $filehandle
  172.         }
  173.         if {$ctltype=="txeditline"} {
  174.             print_txeditline_ctl [keylget windows($i) winname] $filehandle
  175.         }
  176.     }
  177.     close $filehandle
  178. }
  179.  
  180.  
  181.