Annotation of micropolis/res/weval.tcl, revision 1.1.1.1

1.1       root        1: # Window: Player evaluation, 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  [email protected].
                      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 EvaluationWindows
                     62: set n [Unique]
                     63: set parent [WindowLink $head.col2]
                     64: set win $parent.evaluation$n
                     65: set EvaluationWindows [linsert $EvaluationWindows 0 $win]
                     66: 
                     67: LinkWindow $head.evaluation $win
                     68: LinkWindow $win.head $head
                     69: LinkWindow $win.parent $parent
                     70: LinkWindow $win.top $win
                     71: 
                     72: catch "destroy $win"
                     73: frame $win
                     74: 
                     75: SetHelp $win Evaluation
                     76: 
                     77: global [set var $win.visible]
                     78: set $var 0
                     79: 
                     80: bind $win <Visibility> {EvaluationVisible %W [string compare %s FullyObscured]}
                     81: bind $win <Map> {EvaluationVisible %W 1}
                     82: bind $win <Unmap> {EvaluationVisible %W 0}
                     83: 
                     84: #wm title $win {Micropolis Evaluation}
                     85: #wm iconname $win {Micropolis Evaluation}
                     86: #wm group $win $head
                     87: #wm geometry $win 480x240+5-5
                     88: #wm withdraw $win
                     89: #wm maxsize $win 700 700
                     90: #wm minsize $win 400 200
                     91: #wm protocol $win delete "DeleteWindow evaluation EvaluationWindows"
                     92: 
                     93: 
                     94: frame $win.leftframe\
                     95:   -borderwidth 1\
                     96:   -relief raised
                     97: 
                     98: SetHelp $win.leftframe Evaluation.Opinion
                     99: 
                    100: label $win.leftframe.title\
                    101:   -font [Font $win Big]\
                    102:   -padx 0\
                    103:   -relief flat\
                    104:   -text {Public Opinion}\
                    105:   -width 5
                    106: 
                    107: label $win.leftframe.isthe\
                    108:   -font [Font $win Large]\
                    109:   -text {Is the mayor doing a good job?}
                    110: 
                    111: SetHelp $win.leftframe.isthe Evaluation.GoodJob
                    112: 
                    113: frame $win.leftframe.goodjobframe\
                    114:   -borderwidth 1
                    115: 
                    116: SetHelp $win.leftframe.goodjobframe Evaluation.GoodJob
                    117: 
                    118: message $win.leftframe.goodjobframe.yesno\
                    119:   -aspect 1500\
                    120:   -justify right\
                    121:   -padx 5\
                    122:   -pady 2\
                    123:   -font [Font $win Medium]\
                    124:   -text {YES
                    125: NO}
                    126: 
                    127: message $win.leftframe.goodjobframe.percents\
                    128:   -aspect 1500\
                    129:   -justify left\
                    130:   -padx 5\
                    131:   -pady 2\
                    132:   -font [Font $win Medium]\
                    133:   -text {100%
                    134: 0%}
                    135: LinkWindow $win.goodjob $win.leftframe.goodjobframe.percents
                    136: 
                    137: pack append $win.leftframe.goodjobframe\
                    138:   $win.leftframe.goodjobframe.percents {right frame w expand} \
                    139:   $win.leftframe.goodjobframe.yesno            {right frame e expand} 
                    140: 
                    141: label $win.leftframe.whatare\
                    142:   -font [Font $win Large]\
                    143:   -text {What are the worst problems?}
                    144: 
                    145: SetHelp $win.leftframe.whatare Evaluation.WorstProblems
                    146: 
                    147: frame $win.leftframe.worstproblems\
                    148:   -borderwidth 1
                    149: 
                    150: SetHelp $win.leftframe.worstproblems Evaluation.WorstProblems
                    151: 
                    152: message $win.leftframe.worstproblems.problemnames\
                    153:   -aspect 1500\
                    154:   -justify right\
                    155:   -padx 5\
                    156:   -pady 2\
                    157:   -font [Font $win Medium]\
                    158:   -text {        
                    159: 
                    160: 
                    161: 
                    162: }
                    163: LinkWindow $win.problemnames $win.leftframe.worstproblems.problemnames
                    164: 
                    165: message $win.leftframe.worstproblems.problempercents\
                    166:   -aspect 1500\
                    167:   -justify left\
                    168:   -padx 5\
                    169:   -pady 2\
                    170:   -font [Font $win Medium]\
                    171:   -text {        
                    172: 
                    173: 
                    174: 
                    175: }
                    176: LinkWindow $win.problempercents $win.leftframe.worstproblems.problempercents
                    177: 
                    178: pack append $win.leftframe.worstproblems\
                    179:   $win.leftframe.worstproblems.problempercents {right frame w expand} \
                    180:   $win.leftframe.worstproblems.problemnames    {right frame e expand}
                    181: 
                    182: pack append $win.leftframe\
                    183:   $win.leftframe.title         {top frame center fillx expand} \
                    184:   $win.leftframe.isthe         {top frame center fillx expand} \
                    185:   $win.leftframe.goodjobframe  {top frame center fillx expand} \
                    186:   $win.leftframe.whatare       {top frame center fillx expand} \
                    187:   $win.leftframe.worstproblems {top frame center fillx expand} 
                    188: 
                    189: frame $win.rightframe\
                    190:   -borderwidth 1\
                    191:   -relief raised
                    192: 
                    193: SetHelp $win.rightframe Evaluation.Statistics
                    194: 
                    195: label $win.rightframe.title\
                    196:   -font [Font $win Big]\
                    197:   -padx 0\
                    198:   -relief flat\
                    199:   -text {Statistics}\
                    200:   -width 5
                    201: 
                    202: frame $win.rightframe.statsframe\
                    203:   -borderwidth 1
                    204: 
                    205: message $win.rightframe.statsframe.statlabels\
                    206:   -aspect 1500\
                    207:   -justify right\
                    208:   -padx 5\
                    209:   -pady 2\
                    210:   -font [Font $win Medium]\
                    211:   -text {Population:
                    212: Net Migration:
                    213: (last year) 
                    214: Assessed Value:
                    215: Category:
                    216: Game Level:}
                    217: 
                    218: message $win.rightframe.statsframe.stats\
                    219:   -aspect 1500\
                    220:   -justify left\
                    221:   -padx 5\
                    222:   -pady 2\
                    223:   -font [Font $win Medium]\
                    224:   -text {                
                    225: 
                    226: 
                    227: 
                    228: 
                    229: }
                    230: LinkWindow $win.stats $win.rightframe.statsframe.stats
                    231: 
                    232: pack append $win.rightframe.statsframe\
                    233:   $win.rightframe.statsframe.statlabels        {left frame e expand} \
                    234:   $win.rightframe.statsframe.stats     {right frame w expand}
                    235: 
                    236: message $win.rightframe.cityscore\
                    237:   -aspect 1500\
                    238:   -justify center\
                    239:   -padx 5\
                    240:   -pady 2\
                    241:   -font [Font $win Medium]\
                    242:   -text {Overall City Score
                    243: (0 - 1000)}
                    244: 
                    245: SetHelp $win.rightframe.cityscore Evaluation.Score
                    246: 
                    247: frame $win.rightframe.scoreframe\
                    248:   -borderwidth 1
                    249: 
                    250: SetHelp $win.rightframe.scoreframe Evaluation.Score
                    251: 
                    252: message $win.rightframe.scoreframe.scorelabels\
                    253:   -aspect 1500\
                    254:   -justify right\
                    255:   -padx 5\
                    256:   -pady 2\
                    257:   -font [Font $win Medium]\
                    258:   -text {Current Score:
                    259: Annual Change:}
                    260: 
                    261: message $win.rightframe.scoreframe.scores\
                    262:   -aspect 1500\
                    263:   -justify left\
                    264:   -padx 5\
                    265:   -pady 2\
                    266:   -font [Font $win Medium]\
                    267:   -text {        
                    268: 
                    269: }
                    270: LinkWindow $win.score $win.rightframe.scoreframe.scores
                    271: 
                    272: pack append $win.rightframe.scoreframe\
                    273:   $win.rightframe.scoreframe.scorelabels       {left frame e expand} \
                    274:   $win.rightframe.scoreframe.scores            {right frame w expand}
                    275: 
                    276: pack append $win.rightframe\
                    277:   $win.rightframe.title        {top frame center fillx expand} \
                    278:   $win.rightframe.statsframe   {top frame center fillx expand} \
                    279:   $win.rightframe.cityscore    {top frame center fillx expand} \
                    280:   $win.rightframe.scoreframe   {top frame center fillx expand} 
                    281: 
                    282: frame $win.bottomframe\
                    283:   -borderwidth 0
                    284: 
                    285: SetHelp $win.bottomframe Evaluation.Dismiss
                    286: 
                    287: button $win.bottomframe.button\
                    288:   -font [Font $win Large]\
                    289:   -text {Dismiss Evaluation}\
                    290:   -command "pack unpack $win"
                    291: 
                    292: pack append $win.bottomframe\
                    293:   $win.bottomframe.button   {top frame center expand fillx}
                    294: 
                    295: pack append $win\
                    296:   $win.bottomframe     {bottom frame center fillx}\
                    297:   $win.leftframe       {left frame center expand fill} \
                    298:   $win.rightframe      {right frame center expand fill}
                    299: 
                    300: sim UpdateEvaluation
                    301: 
                    302: update idletasks

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.