|
|
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.