|
|
1.1 ! root 1: option add *Interval.activeForeground #d0d0d0 ! 2: option add *Interval.sliderForeground #b0b0b0 ! 3: option add *Interval.activeForeground #d0d0d0 ! 4: option add *Interval.sliderForeground #b0b0b0 ! 5: ! 6: ######################################################################## ! 7: # Dynamic Map Handlers ! 8: ! 9: proc ShowDynamicPanel {win} { ! 10: if {! [winfo ismapped $win.bottomframe]} { ! 11: pack append $win $win.bottomframe {bottom frame center fill expand} ! 12: set x [winfo rootx $win] ! 13: set y [winfo rooty $win] ! 14: set width [winfo width $win] ! 15: set height 670 ! 16: wm geometry $win ${width}x${height} ! 17: } ! 18: } ! 19: ! 20: ! 21: proc HideDynamicPanel {win} { ! 22: if {[winfo ismapped $win.bottomframe]} { ! 23: pack unpack $win.bottomframe ! 24: set x [winfo rootx $win] ! 25: set y [winfo rooty $win] ! 26: set width [winfo width $win] ! 27: set height 332 ! 28: wm geometry $win ${width}x${height} ! 29: } ! 30: } ! 31: ! 32: ! 33: proc InitDynamic {} { ! 34: global MapWindows ! 35: sim ResetDynamic ! 36: ! 37: for {set i 0} {$i < 8} {incr i} { ! 38: foreach win $MapWindows { ! 39: [WindowLink $win.interval]$i reset ! 40: } ! 41: } ! 42: ! 43: } ! 44: ! 45: ! 46: proc SetDynamicData {win index min max} { ! 47: set MinIndex [expr "$index * 2"] ! 48: set MaxIndex [expr "$MinIndex + 1"] ! 49: ! 50: sim DynamicData $MinIndex $min ! 51: sim DynamicData $MaxIndex $max ! 52: ! 53: set int [WindowLink $win.interval]$index ! 54: set from [lindex [$int config -from] 4] ! 55: set to [lindex [$int config -to] 4] ! 56: set min [lindex [$int config -min] 4] ! 57: set max [lindex [$int config -max] 4] ! 58: set range [expr "${to}-${from}"] ! 59: set offset 80 ! 60: set scale 100 ! 61: set low [expr "(($min-$from)*$scale/$range) + $offset"] ! 62: set high [expr "(($max-$from)*$scale/$range) + $offset"] ! 63: set sound 29 ! 64: set title Slider$index ! 65: set vol 70 ! 66: set chan fancy ! 67: ! 68: UIDoSound "\"sound replay $title -channel $chan -volume $vol ; sound replay $sound -channel $chan -volume $vol -speed $low ; sound play $sound -channel $chan -volume $vol -speed $high\"" ! 69: ! 70: global MapWindows ! 71: foreach win $MapWindows { ! 72: [WindowLink $win.interval]$index set $min $max ! 73: } ! 74: } ! 75: ! 76: ! 77: ! 78: ! 79: ! 80: global MapTitles ! 81: set MapTitles { ! 82: {Micropolis Map} ! 83: {Residential Zone Map} ! 84: {Commercial Zone Map} ! 85: {Industrial Zone Map} ! 86: {Power Grid Map} ! 87: {Transportation Map} ! 88: {Population Density Map} ! 89: {Rate of Growth Map} ! 90: {Traffic Map} ! 91: {Pollution Map} ! 92: {Crime Map} ! 93: {Land Value Map} ! 94: {Fire Station Map} ! 95: {Police Station Map} ! 96: {Dynamic Query Map} ! 97: } ! 98: ! 99: ! 100: ! 101: ! 102: proc UISetMapState {w state} { ! 103: global MapTitles ! 104: set win [winfo toplevel $w] ! 105: set m [WindowLink $win.view] ! 106: set title [lindex $MapTitles $state] ! 107: wm title $win "$title" ! 108: wm iconname $win "$title" ! 109: global [set var MapState.$win] ! 110: set $var $state ! 111: ! 112: case $state { \ ! 113: {6 8 9 10 11 12 13} { ! 114: [WindowLink $win.legend] config -bitmap "@Images/LegendMaxMin.xpm" ! 115: HideDynamicPanel $win ! 116: } \ ! 117: {7} { ! 118: [WindowLink $win.legend] config -bitmap "@Images/LegendPlusMinus.xpm" ! 119: HideDynamicPanel $win ! 120: } \ ! 121: {0 1 2 3 4 5 14} { ! 122: [WindowLink $win.legend] config -bitmap "@Images/LegendNone.xpm" ! 123: if {$state == 14} { ! 124: ShowDynamicPanel $win ! 125: } else { ! 126: HideDynamicPanel $win ! 127: } ! 128: } ! 129: } ! 130: } ! 131: ! 132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.