Changeset 4961 for trunk/gui/scripts/main.tcl
- Timestamp:
- Jan 29, 2015, 6:55:17 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/main.tcl
r3700 r4961 93 93 value -tool tool.xml 94 94 list -load "" 95 value -input "" 95 96 value -nosim 0 96 }97 98 proc ReadToolParameters { numTries } {99 incr numTries -1100 if { $numTries < 0 } {101 return102 }103 global env104 set paramsFile $env(TOOL_PARAMETERS)105 if { ![file readable $paramsFile] } {106 after 500 ReadToolParmeters $numTries107 return108 }109 catch {110 set f [open $paramsFile "r"]111 set contents [read $f]112 close $f113 set pattern {^file\((.*)\):(.*)$}114 foreach line [split $contents "\n"] {115 if { [regexp $pattern $line match path rest] } {116 set ::Rappture::parameters($path) $rest117 }118 }119 }120 }121 122 if { [info exists env(TOOL_PARAMETERS)] } {123 ReadToolParameters 10124 97 } 125 98 … … 132 105 set status [catch {Rappture::library $runfile} result] 133 106 lappend loadobjs $result 107 } 108 109 set inputobj {} 110 if {$params(-input) ne ""} { 111 if {![file exists $params(-input)]} { 112 puts stderr "can't find input file: \"$params(-input)\"" 113 exit 1 114 } 115 if {[catch {Rappture::library $params(-input)} result] == 0} { 116 set inputobj $result 117 } 134 118 } 135 119 … … 143 127 # run.xml files they are loading. 144 128 set pseudotool "" 145 if { 0 == [llength $loadobjs]} {129 if {[llength $loadobjs] == 0 && $inputobj eq ""} { 146 130 puts stderr "can't find tool \"$params(-tool)\"" 147 131 exit 1 … … 151 135 # if there are loaders or notes, they will still need 152 136 # examples/ and docs/ dirs from the install location 153 foreach runobj $loadobjs { 137 set check [concat $loadobjs $inputobj] 138 foreach runobj $check { 154 139 set tdir \ 155 140 [string trim [$runobj get tool.version.application.directory(tool)]] … … 374 359 375 360 # load previous xml runfiles 376 if { 0 != [llength $params(-load)]} {361 if {[llength $params(-load)] > 0} { 377 362 foreach runobj $loadobjs { 378 # this doesn't seem to work with loaders379 # loaders seem to get their value after this point380 # may need to tell loader elements to update its value381 $tool load $runobj382 363 $f.analyze load $runobj 383 364 } 365 # load the inputs for the very last run 366 $tool load $runobj 367 384 368 # don't need simulate button if we cannot simulate 385 369 if {$params(-nosim)} { … … 388 372 $f.analyze configure -notebookpage analyze 389 373 $win.pager current analyzer 374 } elseif {$params(-input) ne ""} { 375 $tool load $inputobj 376 } 377 378 # let components (loaders) settle after the newly loaded runs 379 update 380 381 foreach path [array names ::Rappture::parameters] { 382 set fname $::Rappture::parameters($path) 383 if {[catch { 384 set fid [open $fname r] 385 set info [read $fid] 386 close $fid}] == 0} { 387 388 set w [$tool widgetfor $path] 389 if {$w ne ""} { 390 if {[catch {$w value [string trim $info]} result]} { 391 puts stderr "WARNING: bad tool parameter value for \"$path\"" 392 puts stderr " $result" 393 } 394 } else { 395 puts stderr "WARNING: can't find control for tool parameter: $path" 396 } 397 } 390 398 } 391 399
Note: See TracChangeset
for help on using the changeset viewer.