home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BUG 11
/
BUGCD1998_02.ISO
/
email
/
sime
/
simdemo.z
/
process.tcl
< prev
next >
Wrap
Text File
|
1997-12-09
|
5KB
|
181 lines
#note "reading process.tcl"
proc enablectls {win flag} {
global windows
keylget windows($win) windowptr retwin
foreach i [keylget windows($win) kidlist] {
if {[keylget windows($i) type]!="label"} {
if {$flag==1} {
enable_control $i
} else {
disable_control $i
}
}
}
}
proc write_ctl_coord {filehandle win} {
global windows
puts $filehandle " -left " nonewline
puts $filehandle [keylget windows($win) left] nonewline
puts $filehandle " -top " nonewline
puts $filehandle [keylget windows($win) top] nonewline
puts $filehandle " -right " nonewline
puts $filehandle [keylget windows($win) right] nonewline
puts $filehandle " -bottom " nonewline
puts $filehandle [keylget windows($win) bottom] nonewline
}
# print values for controls that have
# no command option
# no title option
proc print_no_command_title_ctl {win filehandle} {
global windows
puts $filehandle [list [keylget windows($win) type]\
[keylget windows($win) winname]] nonewline
puts $filehandle " -parent [keylget windows($win) parent]" nonewline
write_ctl_coord $filehandle $win
}
# print values for controls that have
# no command option
proc print_no_command_ctl {win filehandle} {
global windows
puts $filehandle [list [keylget windows($win) type]\
[keylget windows($win) winname]] nonewline
puts $filehandle " -parent [keylget windows($win) parent]" nonewline
set contents [get_ctl_title $win]
puts $filehandle " -title \"$contents\"" nonewline
#note "write content to file"
write_ctl_coord $filehandle $win
}
# print values for controls that have
# only command option after coordinates
proc print_gen_command_ctl {win filehandle} {
global windows
print_no_command_ctl $win $filehandle
puts $filehandle " -command " nonewline
puts $filehandle \{[keylget windows($win) usercmd]\}
}
# print values for controls that have
# group option
# group value option
proc print_grp_command_ctl {win filehandle} {
global windows
print_no_command_ctl $win $filehandle
puts $filehandle " -variable " nonewline
puts $filehandle [keylget windows($win) variable] nonewline
puts $filehandle " -value " nonewline
puts $filehandle [keylget windows($win) value] nonewline
puts $filehandle " -command " nonewline
puts $filehandle \{[keylget windows($win) usercmd]\}
}
# print values for
# listbutton
# listedit
# listbox
proc print_listbtn_ctl {win filehandle} {
global windows
puts $filehandle [list [keylget windows($win) type]\
[keylget windows($win) winname]] nonewline
puts $filehandle " -parent [keylget windows($win) parent]" nonewline
write_ctl_coord $filehandle $win
puts $filehandle " "
if {[listcount $win] !=0 } {
for {set i [expr [listcount $win]-1]} {$i >= 0} {incr i -1} {
append listvalues \"[listitem $win $i]\" " "
}
puts $filehandle [concat "listadd [keylget windows($win) winname] 0" $listvalues]
}
}
proc print_txedit_ctl {win filehandle} {
global windows
puts $filehandle "txedit $win -parent [keylget windows($win) parent]" nonewline
write_ctl_coord $filehandle $win
puts $filehandle " "
set contents [txeditctl $win get]
puts $filehandle "txeditctl $win set \"$contents\""
}
proc print_txeditline_ctl {win filehandle} {
global windows
puts $filehandle "txeditline $win -parent [keylget windows($win) parent]" nonewline
write_ctl_coord $filehandle $win
puts $filehandle " "
set contents [txeditctl $win get]
puts $filehandle "txeditctl $win set \"$contents\""
}
proc produce_win_file {win filename} {
global windows
set filehandle [open $filename w+]
# puts $filehandle [list [keylget windows($win) type]\
# [keylget windows($win) winname]] nonewline
# puts $filehandle " -title \"[keylget windows($win) title]\"" nonewline
# write_ctl_coord $filehandle $win
# puts $filehandle " "
foreach i [keylget windows($win) kidlist] {
set ctltype [keylget windows($i) type]
if {$ctltype=="frame"} {
print_no_command_title_ctl [keylget windows($i) winname] $filehandle
puts $filehandle " "
}
if {$ctltype=="label"} {
print_no_command_ctl [keylget windows($i) winname] $filehandle
puts $filehandle " "
}
if {$ctltype=="edit"} {
print_no_command_ctl [keylget windows($i) winname] $filehandle
puts $filehandle " "
}
if {$ctltype=="groupbox"} {
print_no_command_ctl [keylget windows($i) winname] $filehandle
puts $filehandle " "
}
if {$ctltype=="checkbox"} {
print_gen_command_ctl [keylget windows($i) winname] $filehandle
if {[checked [keylget windows($i) winname]]} {
puts $filehandle "check [keylget windows($i) winname] 1"
}
}
if {$ctltype=="button"} {
print_gen_command_ctl [keylget windows($i) winname] $filehandle
}
if {$ctltype=="radiobutton"} {
print_grp_command_ctl [keylget windows($i) winname] $filehandle
if {[chosen [keylget windows($i) winname]]} {
puts $filehandle "choose [keylget windows($i) winname]"
}
}
if {$ctltype=="listbutton"} {
print_listbtn_ctl [keylget windows($i) winname] $filehandle
}
if {$ctltype=="listedit"} {
print_listbtn_ctl [keylget windows($i) winname] $filehandle
}
if {$ctltype=="listbox"} {
print_listbtn_ctl [keylget windows($i) winname] $filehandle
}
if {$ctltype=="txedit"} {
print_txedit_ctl [keylget windows($i) winname] $filehandle
}
if {$ctltype=="txeditline"} {
print_txeditline_ctl [keylget windows($i) winname] $filehandle
}
}
close $filehandle
}