| 1 | 
< | 
#!/usr/local/bin/wish -f | 
| 2 | 
< | 
# SCCSid "$SunId$ LBL" | 
| 1 | 
> | 
#!/usr/local/bin/wish4.0 | 
| 2 | 
> | 
# RCSid: $Id$ | 
| 3 | 
> | 
# the next line restarts using wish in case of shell execution \ | 
| 4 | 
> | 
exec wish "$0" "$@" | 
| 5 | 
  | 
# | 
| 6 | 
  | 
# TCL/TK-based Rad Input File Editor | 
| 7 | 
  | 
# | 
| 13 | 
  | 
 | 
| 14 | 
  | 
set auto_path [linsert $auto_path 0 $radlib] | 
| 15 | 
  | 
 | 
| 16 | 
+ | 
# Assign global globbing variables | 
| 17 | 
+ | 
 | 
| 18 | 
+ | 
set myglob(rif) *.rif | 
| 19 | 
+ | 
set myglob(materials) *.mat | 
| 20 | 
+ | 
set myglob(illum) *.rad | 
| 21 | 
+ | 
set myglob(scene) *.rad | 
| 22 | 
+ | 
set myglob(objects) * | 
| 23 | 
+ | 
 | 
| 24 | 
  | 
# Create required procedures | 
| 25 | 
  | 
 | 
| 26 | 
  | 
proc modified {} {      # check for radvar modification | 
| 89 | 
  | 
 | 
| 90 | 
  | 
message .mess -relief ridge -font fixed -textvariable curmess -anchor nw | 
| 91 | 
  | 
if $smallscrn { | 
| 92 | 
< | 
        frame .upper -geometry 640x410 | 
| 93 | 
< | 
        frame .upper.right -geometry 120x410 | 
| 92 | 
> | 
        frame .upper -width 640 -height 410 | 
| 93 | 
> | 
        frame .upper.right -width 120 -height 410 | 
| 94 | 
  | 
        .mess configure -width 640 | 
| 95 | 
  | 
} else { | 
| 96 | 
< | 
        frame .upper -geometry 830x410 | 
| 97 | 
< | 
        frame .upper.right -geometry 130x410 | 
| 96 | 
> | 
        frame .upper -width 830 -height 410 | 
| 97 | 
> | 
        frame .upper.right -width 130 -height 410 | 
| 98 | 
  | 
        .mess configure -width 830 | 
| 99 | 
  | 
} | 
| 100 | 
  | 
pack .upper -side top | 
| 116 | 
  | 
        set curscreen $curmode | 
| 117 | 
  | 
        do_$curscreen .upper.left | 
| 118 | 
  | 
        if $smallscrn { | 
| 119 | 
< | 
                .upper.left configure -geometry 520x410 | 
| 119 | 
> | 
                .upper.left configure -width 520 -height 410 | 
| 120 | 
  | 
        } else { | 
| 121 | 
< | 
                .upper.left configure -geometry 700x410 | 
| 121 | 
> | 
                .upper.left configure -width 700 -height 410 | 
| 122 | 
  | 
        } | 
| 123 | 
  | 
        place .upper.left -x 0 -y 0 | 
| 124 | 
  | 
} | 
| 129 | 
  | 
proc setbutt v { | 
| 130 | 
  | 
        radiobutton .$v -text [string toupper $v] \ | 
| 131 | 
  | 
                        -variable curmode -value $v \ | 
| 132 | 
< | 
                        -width 9 -relief groove -anchor w \ | 
| 132 | 
> | 
                        -width 10 -relief groove -anchor w \ | 
| 133 | 
  | 
                        -command changescreen | 
| 134 | 
  | 
        pack .$v -in .upper.right -side top -pady 5 | 
| 135 | 
  | 
        helplink .$v trad $v intro | 
| 145 | 
  | 
rename setbutt {} | 
| 146 | 
  | 
button .upper.right.help -text HELP -width 9 \ | 
| 147 | 
  | 
                -command "gethelp trad trad intro" | 
| 148 | 
< | 
pack .upper.right.help -side top -pady 10 -anchor se | 
| 148 | 
> | 
pack .upper.right.help -side top -pady 5 -anchor se | 
| 149 | 
  | 
helplink .upper.right.help trad trad help | 
| 150 | 
  | 
button .upper.right.quit -text QUIT \ | 
| 151 | 
  | 
                -command {if [chksave] {destroy .}} -width 9 | 
| 152 | 
< | 
pack .upper.right.quit -side top -pady 10 -anchor se | 
| 152 | 
> | 
pack .upper.right.quit -side top -pady 5 -anchor se | 
| 153 | 
  | 
helplink .upper.right.quit trad trad quit | 
| 154 | 
  | 
 | 
| 155 | 
  | 
if $smallscrn { | 
| 161 | 
  | 
} | 
| 162 | 
  | 
wm iconbitmap . @$radlib/trad.icon | 
| 163 | 
  | 
 | 
| 164 | 
< | 
proc gotfile {{o 1}} {          # set file possession state | 
| 164 | 
> | 
proc gotfile o {                # set file possession state | 
| 165 | 
  | 
        global oldradvar radvar | 
| 166 | 
  | 
        catch {unset oldradvar} | 
| 167 | 
  | 
        if $o { | 
| 171 | 
  | 
                } | 
| 172 | 
  | 
        } else { | 
| 173 | 
  | 
                set mode disabled | 
| 164 | 
– | 
                .file invoke | 
| 174 | 
  | 
        } | 
| 175 | 
  | 
        foreach b {scene zone views options action results} { | 
| 176 | 
  | 
                .$b configure -state $mode | 
| 179 | 
  | 
 | 
| 180 | 
  | 
# Decide where to go and start | 
| 181 | 
  | 
 | 
| 182 | 
+ | 
gotfile 0 | 
| 183 | 
  | 
if {[llength $argv] == 0} { | 
| 184 | 
  | 
        set curmess "Choose a Radiance project file." | 
| 185 | 
< | 
        gotfile 0 | 
| 185 | 
> | 
        .file invoke | 
| 186 | 
  | 
} elseif {[llength $argv] == 1} { | 
| 187 | 
  | 
        cd [file dirname $argv] | 
| 188 | 
  | 
        set curfile [file tail $argv] | 
| 189 | 
< | 
        if {! [file exists $curfile]} { | 
| 190 | 
< | 
                newnew $curfile | 
| 191 | 
< | 
                .scene invoke | 
| 189 | 
> | 
        if {! [file isfile $curfile]} { | 
| 190 | 
> | 
                if [newnew $curfile] { | 
| 191 | 
> | 
                        .scene invoke | 
| 192 | 
> | 
                } else { | 
| 193 | 
> | 
                        .file invoke | 
| 194 | 
> | 
                } | 
| 195 | 
  | 
        } elseif {[newload $curfile]} { | 
| 196 | 
  | 
                if $alldone { | 
| 197 | 
  | 
                        set curmess "All renderings are finished." |