home *** CD-ROM | disk | FTP | other *** search
- # Create a new tcl application directory
-
- w_init tclnew
-
- w_box progInfo create "About this program"\
- { vlist {info Name tclnew}
- {info Purpose "Create tcl Applications"}
- {info Author C.T.Stretch}
- {info Version 0.00}
- }
-
- w_bar -menu { TclNew {Info -dbox progInfo}
- {Quit -click exit}
- }\
- -click {w_box newbox open}
-
- set outdir !
-
- w_box newbox create tclnew\
- { vlist {save application outdir {savedrag $w_file }}
- {hlist {action Cancel} {default Save {saveclick }}}
- }
-
- proc savedrag {f}\
- { global outdir
- set outdir $f
- doit
- return 0
- }
-
- proc saveclick {}\
- { global outdir
- if [string match *.* $outdir] \
- { doit
- return 0
- }
- w_error "To save, drag the icon to a directory display"
- return 0
- }
-
- proc doit {}\
- { global prog outdir
- set indir [getenv tclnew\$dir].model
- set n [string last . $outdir]
- set prog [string range $outdir [expr $n+2] end]
- if {[file exists $outdir]}\
- { if {[file type $outdir]!=8192}\
- { w_error "!$prog exists as a file"
- return 1
- }
- if {![w_error "Overwrite current !$prog" -ok -cancel]} {return 1}
- }
- system "cdir $outdir"
- process $indir.!Boot $outdir.!Boot Obey
- process $indir.!Run $outdir.!Run Obey
- process $indir.XXXXX $outdir.$prog Text
- system "<TclNew\$Dir>.newsprites $prog $outdir >null:"
- system "run $outdir.!Boot"
- return 0
- }
-
- proc process {in out type}\
- { global prog
- set fin [open $in r]
- set fout [open $out w]
- while {![eof $fin]}\
- { set p [gets $fin]
- regsub -all XXXXX $p $prog p
- puts $fout $p
- }
- close $fin
- close $fout
- system "settype $out $type"
- }
-
-
-
-