|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
proc RunSample {w} { |
|
|
|
|
|
|
|
frame $w.top -border 1 -relief raised |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
global demo_maker demo_thrust demo_num_engins |
|
set demo_maker P&W |
|
set demo_thrust 20000.0 |
|
set demo_num_engins 2 |
|
|
|
|
|
tixControl $w.top.a -label "Number of Engines: " -integer true \ |
|
-variable demo_num_engins -min 1 -max 4\ |
|
-options { |
|
entry.width 10 |
|
label.width 20 |
|
label.anchor e |
|
} |
|
|
|
tixControl $w.top.b -label "Thrust: " -integer false \ |
|
-min 10000.0 -max 60000.0 -step 500\ |
|
-variable demo_thrust \ |
|
-options { |
|
entry.width 10 |
|
label.width 20 |
|
label.anchor e |
|
} |
|
|
|
tixControl $w.top.c -label "Engin Maker: " \ |
|
-incrcmd "ctl:adjust_maker $w.top.c +1" \ |
|
-decrcmd "ctl:adjust_maker $w.top.c -1" \ |
|
-validatecmd "ctl:validate_maker $w.top.c" \ |
|
-value "P&W" \ |
|
-options { |
|
entry.width 10 |
|
label.width 20 |
|
label.anchor e |
|
} |
|
|
|
pack $w.top.a $w.top.b $w.top.c -side top -anchor w |
|
|
|
|
|
|
|
tixButtonBox $w.box -orientation horizontal |
|
$w.box add ok -text Ok -underline 0 -command "ctl:okcmd $w" \ |
|
-width 6 |
|
$w.box add cancel -text Cancel -underline 0 -command "destroy $w" \ |
|
-width 6 |
|
|
|
pack $w.box -side bottom -fill x |
|
pack $w.top -side top -fill both -expand yes |
|
} |
|
|
|
set ctl_makers {GE P&W "Rolls Royce"} |
|
|
|
|
|
|
|
|
|
|
|
proc ctl:adjust_maker {w by value} { |
|
global ctl_makers |
|
|
|
set index [lsearch $ctl_makers $value] |
|
set len [llength $ctl_makers] |
|
set index [expr $index $by] |
|
|
|
if {$index < 0} { |
|
set index [expr $len -1] |
|
} |
|
if {$index >= $len} { |
|
set index 0 |
|
} |
|
|
|
return [lindex $ctl_makers $index] |
|
} |
|
|
|
proc ctl:validate_maker {w value} { |
|
global ctl_makers |
|
|
|
if {[lsearch $ctl_makers $value] == -1} { |
|
return [lindex $ctl_makers 0] |
|
} else { |
|
return $value |
|
} |
|
} |
|
|
|
proc ctl:okcmd {w} { |
|
global demo_maker demo_thrust demo_num_engins |
|
|
|
tixDemo:Status "You selected $demo_num_engins engin(s) of thrust $demo_thrust made \ |
|
by $demo_maker" |
|
|
|
destroy $w |
|
} |
|
|
|
|
|
|
|
|
|
|
|
if {![info exists tix_demo_running]} { |
|
wm withdraw . |
|
set w .demo |
|
toplevel $w; wm transient $w "" |
|
RunSample $w |
|
bind $w <Destroy> exit |
|
} |
|
|