]>
Commit | Line | Data |
---|---|---|
1 | # Window: Dynamic Zone Filter, examining traffic, density, etc, for Unix Micropolis | |
2 | # | |
3 | # Micropolis, Unix Version. This game was released for the Unix platform | |
4 | # in or about 1990 and has been modified for inclusion in the One Laptop | |
5 | # Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If | |
6 | # you need assistance with this program, you may contact: | |
7 | # http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. | |
8 | # | |
9 | # This program is free software: you can redistribute it and/or modify | |
10 | # it under the terms of the GNU General Public License as published by | |
11 | # the Free Software Foundation, either version 3 of the License, or (at | |
12 | # your option) any later version. | |
13 | # | |
14 | # This program is distributed in the hope that it will be useful, but | |
15 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | # General Public License for more details. You should have received a | |
18 | # copy of the GNU General Public License along with this program. If | |
19 | # not, see <http://www.gnu.org/licenses/>. | |
20 | # | |
21 | # ADDITIONAL TERMS per GNU GPL Section 7 | |
22 | # | |
23 | # No trademark or publicity rights are granted. This license does NOT | |
24 | # give you any right, title or interest in the trademark SimCity or any | |
25 | # other Electronic Arts trademark. You may not distribute any | |
26 | # modification of this program using the trademark SimCity or claim any | |
27 | # affliation or association with Electronic Arts Inc. or its employees. | |
28 | # | |
29 | # Any propagation or conveyance of this program must include this | |
30 | # copyright notice and these terms. | |
31 | # | |
32 | # If you convey this program (or any modifications of it) and assume | |
33 | # contractual liability for the program to recipients of it, you agree | |
34 | # to indemnify Electronic Arts for any liability that those contractual | |
35 | # assumptions impose on Electronic Arts. | |
36 | # | |
37 | # You may not misrepresent the origins of this program; modified | |
38 | # versions of the program must be marked as such and not identified as | |
39 | # the original program. | |
40 | # | |
41 | # This disclaimer supplements the one included in the General Public | |
42 | # License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS | |
43 | # PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY | |
44 | # OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF | |
45 | # SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS | |
46 | # DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, | |
47 | # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, | |
48 | # FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY | |
49 | # RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, | |
50 | # USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST | |
51 | # INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL | |
52 | # MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE | |
53 | # UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE | |
54 | # WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE | |
55 | # CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR | |
56 | # ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME | |
57 | # JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED | |
58 | # WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A | |
59 | # CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY | |
60 | # NOT APPLY TO YOU. | |
61 | global FrobWindows | |
62 | set n [Unique] | |
63 | set win .frob$n | |
64 | set FrobWindows [linsert $FrobWindows 0 $win] | |
65 | ||
66 | LinkWindow $head.frob $win | |
67 | LinkWindow $head.frob $win | |
68 | LinkWindow $win.head $head | |
69 | ||
70 | catch "destroy $win" | |
71 | toplevel $win -screen $display | |
72 | ||
73 | SetHelp $win Frob | |
74 | ||
75 | wm title $win {Micropolis Dynamic Zone Filter} | |
76 | wm iconname $win {Micropolis Frob} | |
77 | wm geometry $win 350x480+5+5 | |
78 | wm positionfrom $win user | |
79 | wm sizefrom $win user | |
80 | wm maxsize $win 700 700 | |
81 | wm minsize $win 100 100 | |
82 | wm protocol $win delete "DeleteWindow frob FrobWindows" | |
83 | wm transient $win $head | |
84 | ||
85 | frame $win.top \ | |
86 | -relief raised \ | |
87 | -borderwidth 1 | |
88 | LinkWindow $win.background $win.top | |
89 | ||
90 | label $win.top.title \ | |
91 | -text {Frob-O-Matic Dynamic Zone Filter} \ | |
92 | -borderwidth 1 \ | |
93 | -relief raised \ | |
94 | -font [Font $win Big] | |
95 | LinkWindow $win.title $win.top.title | |
96 | ||
97 | # SetHelp $win.top.title Frob.Title | |
98 | ||
99 | frame $win.top.border \ | |
100 | -relief flat \ | |
101 | -borderwidth 4 | |
102 | ||
103 | label $win.top.border.l0 \ | |
104 | -text {Population Density} \ | |
105 | -borderwidth 1 \ | |
106 | -font [Font $win Small] | |
107 | ||
108 | SetHelp $win.top.border.l0 Frob.PopulationDensity | |
109 | ||
110 | interval $win.top.border.i0\ | |
111 | -font [Font $win Medium]\ | |
112 | -borderwidth 1 \ | |
113 | -orient horizontal \ | |
114 | -from 0 -to 255 \ | |
115 | -command "UISetDynamic 0" | |
116 | ||
117 | SetHelp $win.top.border.i0 Frob.PopulationDensity | |
118 | ||
119 | label $win.top.border.l1 \ | |
120 | -text {Rate Of Growth} \ | |
121 | -borderwidth 2 \ | |
122 | -font [Font $win Small] | |
123 | ||
124 | SetHelp $win.top.border.l0 Frob.RateOfGrowth | |
125 | ||
126 | interval $win.top.border.i1\ | |
127 | -font [Font $win Medium]\ | |
128 | -borderwidth 1 \ | |
129 | -orient horizontal \ | |
130 | -from 0 -to 255 \ | |
131 | -command "UISetDynamic 1" | |
132 | ||
133 | SetHelp $win.top.border.i0 Frob.RateOfGrowth | |
134 | ||
135 | label $win.top.border.l2 \ | |
136 | -text {Traffic Density} \ | |
137 | -borderwidth 2 \ | |
138 | -font [Font $win Small] | |
139 | ||
140 | SetHelp $win.top.border.l0 Frob.TrafficDensity | |
141 | ||
142 | interval $win.top.border.i2\ | |
143 | -font [Font $win Medium]\ | |
144 | -borderwidth 1 \ | |
145 | -orient horizontal \ | |
146 | -from 0 -to 255 \ | |
147 | -command "UISetDynamic 2" | |
148 | ||
149 | SetHelp $win.top.border.i0 Frob.TrafficDensity | |
150 | ||
151 | label $win.top.border.l3 \ | |
152 | -text {Pollution Rate} \ | |
153 | -borderwidth 2 \ | |
154 | -font [Font $win Small] | |
155 | ||
156 | SetHelp $win.top.border.l0 Frob.PollutionRate | |
157 | ||
158 | interval $win.top.border.i3\ | |
159 | -font [Font $win Medium]\ | |
160 | -borderwidth 1 \ | |
161 | -orient horizontal \ | |
162 | -from 0 -to 255 \ | |
163 | -command "UISetDynamic 3" | |
164 | ||
165 | SetHelp $win.top.border.i0 Frob.PollutionRate | |
166 | ||
167 | label $win.top.border.l4 \ | |
168 | -text {Crime Rate} \ | |
169 | -borderwidth 2 \ | |
170 | -font [Font $win Small] | |
171 | ||
172 | SetHelp $win.top.border.l0 Frob.CrimeRate | |
173 | ||
174 | interval $win.top.border.i4\ | |
175 | -font [Font $win Medium]\ | |
176 | -borderwidth 1 \ | |
177 | -orient horizontal \ | |
178 | -from 0 -to 255 \ | |
179 | -command "UISetDynamic 4" | |
180 | ||
181 | SetHelp $win.top.border.i0 Frob.CrimeRate | |
182 | ||
183 | label $win.top.border.l5 \ | |
184 | -text {Land Value} \ | |
185 | -borderwidth 2 \ | |
186 | -font [Font $win Small] | |
187 | ||
188 | SetHelp $win.top.border.l0 Frob.LandValue | |
189 | ||
190 | interval $win.top.border.i5\ | |
191 | -font [Font $win Medium]\ | |
192 | -borderwidth 1 \ | |
193 | -orient horizontal \ | |
194 | -from 0 -to 255 \ | |
195 | -command "UISetDynamic 5" | |
196 | ||
197 | SetHelp $win.top.border.i0 Frob.LandValue | |
198 | ||
199 | label $win.top.border.l6 \ | |
200 | -text {Police Effect} \ | |
201 | -borderwidth 2 \ | |
202 | -font [Font $win Small] | |
203 | ||
204 | SetHelp $win.top.border.l0 Frob.PoliceEffect | |
205 | ||
206 | interval $win.top.border.i6\ | |
207 | -font [Font $win Medium]\ | |
208 | -borderwidth 1 \ | |
209 | -orient horizontal \ | |
210 | -from 0 -to 255 \ | |
211 | -command "UISetDynamic 6" | |
212 | ||
213 | SetHelp $win.top.border.i0 Frob.PoliceEffect | |
214 | ||
215 | label $win.top.border.l7 \ | |
216 | -text {Fire Effect} \ | |
217 | -borderwidth 2 \ | |
218 | -font [Font $win Small] | |
219 | ||
220 | SetHelp $win.top.border.l0 Frob.FireEffect | |
221 | ||
222 | interval $win.top.border.i7\ | |
223 | -font [Font $win Medium]\ | |
224 | -borderwidth 1 \ | |
225 | -orient horizontal \ | |
226 | -from 0 -to 255 \ | |
227 | -command "UISetDynamic 7" | |
228 | ||
229 | SetHelp $win.top.border.i0 Frob.FireEffect | |
230 | ||
231 | pack append $win.top.border\ | |
232 | $win.top.border.l0 {top frame center fillx} \ | |
233 | $win.top.border.i0 {top frame center fillx} \ | |
234 | $win.top.border.l1 {top frame center fillx} \ | |
235 | $win.top.border.i1 {top frame center fillx} \ | |
236 | $win.top.border.l2 {top frame center fillx} \ | |
237 | $win.top.border.i2 {top frame center fillx} \ | |
238 | $win.top.border.l3 {top frame center fillx} \ | |
239 | $win.top.border.i3 {top frame center fillx} \ | |
240 | $win.top.border.l4 {top frame center fillx} \ | |
241 | $win.top.border.i4 {top frame center fillx} \ | |
242 | $win.top.border.l5 {top frame center fillx} \ | |
243 | $win.top.border.i5 {top frame center fillx} \ | |
244 | $win.top.border.l6 {top frame center fillx} \ | |
245 | $win.top.border.i6 {top frame center fillx} \ | |
246 | $win.top.border.l7 {top frame center fillx} \ | |
247 | $win.top.border.i7 {top frame center fillx} | |
248 | ||
249 | pack append $win.top\ | |
250 | $win.top.title {top frame center fillx} \ | |
251 | $win.top.border {top frame center fill} | |
252 | ||
253 | button $win.dismiss\ | |
254 | -font [Font $win Large]\ | |
255 | -text {Dismiss}\ | |
256 | -command "wm withdraw $win" | |
257 | ||
258 | SetHelp $win.dismiss Frob.Dismiss | |
259 | ||
260 | pack append $win\ | |
261 | $win.dismiss {bottom frame center fillx}\ | |
262 | $win.top {left frame center expand fill} | |
263 | ||
264 | update idletasks |