Changeset 1612
- Timestamp:
- Nov 9, 2009, 3:47:42 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/apps/simsim.in
r1611 r1612 199 199 } 200 200 201 proc choiceHandler { child} {201 proc choiceHandler {valType child} { 202 202 if {"yes" == [$child get "simset"]} { 203 203 $child remove "simset" 204 204 } else { 205 205 set optList [$child children -as object -type option] 206 set optIdx [expr {int(rand()*[llength $optList])}] 207 set optLib [lindex $optList $optIdx] 208 set value [$optLib get value] 206 set value "" 207 if {"random" == $valType} { 208 set optIdx [expr {int(rand()*[llength $optList])}] 209 set optLib [lindex $optList $optIdx] 210 set value [$optLib get value] 211 } elseif {"default" == $valType} { 212 set defaultVal [$child get default] 213 foreach optLib $optList { 214 set label [$optLib get about.label] 215 set valTag [$optLib get value] 216 if {($defaultVal == $label) || ($defaultVal == $valTag)} { 217 set value $valTag 218 break 219 } 220 } 221 } 222 209 223 if {"" == $value} { 210 224 set value [$optLib get about.label] … … 226 240 boolean { defaultHandler $child } 227 241 string { defaultHandler $child } 228 choice { defaultHandler$child }242 choice { choiceHandler default $child } 229 243 loader { loaderHandler $child $toolDir } 230 244 structure { defaultHandler $child } 231 245 group { set cclist [groupHandler $child] 246 set childList [concat $childList $cclist] } 247 phase { set cclist [groupHandler $child] 232 248 set childList [concat $childList $cclist] } 233 249 default { defaultHandler $child } … … 269 285 boolean { booleanHandler $child } 270 286 string { defaultHandler $child } 271 choice { choiceHandler $child }287 choice { choiceHandler random $child } 272 288 loader { 273 289 set cpath [$child element -as path] … … 290 306 set childList [concat $childList $ccList] 291 307 } 308 phase { 309 set ccList [groupHandler $child] 310 set childList [concat $childList $ccList] 311 } 292 312 default { defaultHandler $child } 293 313 } … … 296 316 297 317 proc random {m M} { 298 return [expr {$m+(rand()*($M-$m +1))}]318 return [expr {$m+(rand()*($M-$m))}] 299 319 } 300 320 301 321 proc randomInt {m M} { 302 return [expr { $m+(int(rand()*($M-$m+1)))}]322 return [expr {int(rand()*($M-$m+1)+$m)}] 303 323 } 304 324
Note: See TracChangeset
for help on using the changeset viewer.