Annotation of micropolis/res/whead.tcl, revision 1.1

1.1     ! root        1: # Window: Head (global controls & menus), 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 HeadWindows
        !            62: set n [Unique]
        !            63: set win .head$n
        !            64: 
        !            65: catch "destroy $win"
        !            66: if {[catch "toplevel $win -screen $display"]} {
        !            67:   puts stderr "Couldn't open X11 display \"$display\"."
        !            68:   set win ""
        !            69:   return ""
        !            70: }
        !            71: 
        !            72: global HeadPanelWidth
        !            73: global HeadPanelHeight
        !            74: global MapPanelWidth
        !            75: global MapPanelHeight
        !            76: global NoticePanelWidth
        !            77: global NoticePanelHeight
        !            78: 
        !            79: set visual [winfo screenvisual $win]
        !            80: set depth [winfo screendepth $win]
        !            81: #set screenwidth [winfo screenwidth $win]
        !            82: #set screenheight [winfo screenheight $win]
        !            83: set screenwidth 1200
        !            84: set screenheight 900
        !            85: 
        !            86: if {!(("$visual" == "pseudocolor") ||
        !            87:       ("$visual" == "truecolor") ||
        !            88:       (("$visual" == "staticgray") &&
        !            89:        ($depth == 1)))} {
        !            90:   catch "destroy $win"
        !            91:   puts stderr "Micropolis can't find an appropriate visual on display \"$display\"."
        !            92:   set win ""
        !            93:   return ""
        !            94: }
        !            95: 
        !            96: set HeadWindows [linsert $HeadWindows 0 $win]
        !            97: 
        !            98: SetHelp $win Head
        !            99: 
        !           100: LinkWindow $win.head $win
        !           101: LinkWindow $win.editor {}
        !           102: LinkWindow $win.map {}
        !           103: LinkWindow $win.graph {}
        !           104: LinkWindow $win.budget {}
        !           105: LinkWindow $win.evaluation {}
        !           106: LinkWindow $win.splash {}
        !           107: LinkWindow $win.scenario {}
        !           108: LinkWindow $win.file {}
        !           109: LinkWindow $win.config {}
        !           110: LinkWindow $win.notice {}
        !           111: LinkWindow $win.ask {}
        !           112: 
        !           113: tk_bindForTraversal $win
        !           114: bind $win <F10> {tk_firstMenu %W} 
        !           115: bind $win <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           116: 
        !           117: wm title $win "Micropolis Controls"
        !           118: wm iconname $win {Micropolis Controls}
        !           119: wm geometry $win 1200x900+0+0
        !           120: #wm positionfrom $win user
        !           121: wm withdraw $win
        !           122: #wm maxsize $win $screenwidth $screenheight
        !           123: #wm minsize $win 100 100
        !           124: wm protocol $win delete "DeleteHeadWindow $win ;"
        !           125: wm fullscreen $win on
        !           126: 
        !           127: global $win.postedMenu
        !           128: global $win.Sound
        !           129: 
        !           130: frame $win.col1
        !           131: tk_bindForTraversal $win.col1
        !           132: 
        !           133: LinkWindow $win.col1 $win.col1
        !           134: 
        !           135: frame $win.col1.w1\
        !           136:   -width $HeadPanelWidth\
        !           137:   -height $HeadPanelHeight
        !           138: tk_bindForTraversal $win.col1.w1
        !           139: 
        !           140: frame $win.col1.w1.f1\
        !           141:   -borderwidth 1\
        !           142:   -relief raised
        !           143: tk_bindForTraversal $win.col1.w1.f1
        !           144: bind $win.col1.w1.f1 <F10> {tk_firstMenu %W} 
        !           145: bind $win.col1.w1.f1 <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           146: 
        !           147: SetHelp $win.col1.w1.f1.micropolis Head.MicropolisMenu
        !           148: 
        !           149: menubutton $win.col1.w1.f1.micropolis\
        !           150:   -menu $win.col1.w1.f1.micropolis.m\
        !           151:   -text {Micropolis}\
        !           152:   -font [Font $win Medium]\
        !           153:   -variable $win.postedMenu
        !           154: tk_bindForTraversal $win.col1.w1.f1.micropolis
        !           155: bind $win.col1.w1.f1.micropolis <F10> {tk_firstMenu %W} 
        !           156: bind $win.col1.w1.f1.micropolis <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           157: 
        !           158: tk_menus $win $win.col1.w1.f1.micropolis
        !           159: 
        !           160: menu $win.col1.w1.f1.micropolis.m\
        !           161:   -font [Font $win Medium]
        !           162: tk_bindForTraversal $win.col1.w1.f1.micropolis.m
        !           163: bind $win.col1.w1.f1.micropolis.m <F10> {tk_firstMenu %W} 
        !           164: bind $win.col1.w1.f1.micropolis.m <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           165:   $win.col1.w1.f1.micropolis.m add command\
        !           166:     -label {About...}\
        !           167:     -command "UIShowPicture 300"
        !           168:   $win.col1.w1.f1.micropolis.m add command\
        !           169:     -label {Save City}\
        !           170:     -command "UISaveCity $win"
        !           171:   $win.col1.w1.f1.micropolis.m add command\
        !           172:     -label {Save City as...}\
        !           173:     -command "UISaveCityAs $win"
        !           174:   if {[sim MultiPlayerMode]} {
        !           175:     $win.col1.w1.f1.micropolis.m add command\
        !           176:       -label {Add Player...}\
        !           177:       -command "UIShowPlayer $win"
        !           178:   }
        !           179:   $win.col1.w1.f1.micropolis.m add command\
        !           180:     -label {Choose City!}\
        !           181:     -command "UISelectCity $win"
        !           182:   $win.col1.w1.f1.micropolis.m add command\
        !           183:     -label {Quit Playing!}\
        !           184:     -command "UIQuit $win"
        !           185: 
        !           186: SetHelp $win.col1.w1.f1.options Head.OptionsMenu
        !           187: 
        !           188: menubutton $win.col1.w1.f1.options\
        !           189:   -menu $win.col1.w1.f1.options.m\
        !           190:   -text {Options}\
        !           191:   -font [Font $win Medium]\
        !           192:   -variable $win.postedMenu
        !           193: tk_bindForTraversal $win.col1.w1.f1.options
        !           194: bind $win.col1.w1.f1.options <F10> {tk_firstMenu %W} 
        !           195: bind $win.col1.w1.f1.options <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           196: 
        !           197: tk_menus $win $win.col1.w1.f1.options
        !           198: 
        !           199: menu $win.col1.w1.f1.options.m\
        !           200:   -font [Font $win Medium]
        !           201: tk_bindForTraversal $win.col1.w1.f1.options.m
        !           202: bind $win.col1.w1.f1.options.m <F10> {tk_firstMenu %W} 
        !           203: bind $win.col1.w1.f1.options.m <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           204:   $win.col1.w1.f1.options.m add checkbutton\
        !           205:     -label {Auto Budget}\
        !           206:     -variable AutoBudget\
        !           207:     -command {sim AutoBudget $AutoBudget}
        !           208:   $win.col1.w1.f1.options.m add checkbutton\
        !           209:     -label {Auto Bulldoze}\
        !           210:     -variable AutoBulldoze\
        !           211:     -command {sim AutoBulldoze $AutoBulldoze}
        !           212:   $win.col1.w1.f1.options.m add checkbutton\
        !           213:     -label {Disasters}\
        !           214:     -variable Disasters\
        !           215:     -command {sim Disasters $Disasters}
        !           216:   $win.col1.w1.f1.options.m add checkbutton\
        !           217:     -label {Sound}\
        !           218:     -variable Sound\
        !           219:     -command {sim Sound $Sound}
        !           220:   $win.col1.w1.f1.options.m add checkbutton\
        !           221:     -label {Animation}\
        !           222:     -variable DoAnimation\
        !           223:     -command {sim DoAnimation $DoAnimation}
        !           224:   $win.col1.w1.f1.options.m add checkbutton\
        !           225:     -label {Messages}\
        !           226:     -variable DoMessages\
        !           227:     -command {sim DoMessages $DoMessages}
        !           228:   $win.col1.w1.f1.options.m add checkbutton\
        !           229:     -label {Notices}\
        !           230:     -variable DoNotices\
        !           231:     -command {sim DoNotices $DoNotices}
        !           232: 
        !           233: SetHelp $win.col1.w1.f1.disasters Head.DisastersMenu
        !           234: 
        !           235: menubutton $win.col1.w1.f1.disasters\
        !           236:   -menu $win.col1.w1.f1.disasters.m\
        !           237:   -text {Disasters}\
        !           238:   -font [Font $win Medium]\
        !           239:   -variable $win.postedMenu
        !           240: tk_bindForTraversal $win.col1.w1.f1.disasters
        !           241: bind $win.col1.w1.f1.disasters <F10> {tk_firstMenu %W} 
        !           242: bind $win.col1.w1.f1.disasters <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           243: 
        !           244: tk_menus $win $win.col1.w1.f1.disasters
        !           245: 
        !           246: menu $win.col1.w1.f1.disasters.m\
        !           247:   -font [Font $win Medium]
        !           248: tk_bindForTraversal $win.col1.w1.f1.disasters.m
        !           249: bind $win.col1.w1.f1.disasters.m <F10> {tk_firstMenu %W} 
        !           250: bind $win.col1.w1.f1.disasters.m <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           251:   $win.col1.w1.f1.disasters.m add command\
        !           252:     -label {Monster}\
        !           253:     -command "UIDisaster $win \"UIMakeMonster\" \"release a monster?\""
        !           254:   $win.col1.w1.f1.disasters.m add command\
        !           255:     -label {Fire}\
        !           256:     -command "UIDisaster $win \"sim MakeFire\" \"start a fire?\""
        !           257:   $win.col1.w1.f1.disasters.m add command\
        !           258:     -label {Flood}\
        !           259:     -command "UIDisaster $win \"sim MakeFlood\" \"bring on a flood?\""
        !           260:   $win.col1.w1.f1.disasters.m add command\
        !           261:     -label {Meltdown}\
        !           262:     -command "UIDisaster $win \"sim MakeMeltdown\" \"have a nuclear meltdown?\""
        !           263:   $win.col1.w1.f1.disasters.m add command\
        !           264:     -label {Tornado}\
        !           265:     -command "UIDisaster $win \"sim MakeTornado\" \"spin up a tornado?\""
        !           266:   $win.col1.w1.f1.disasters.m add command\
        !           267:     -label {Earthquake}\
        !           268:     -command "UIDisaster $win \"sim MakeEarthquake\" \"cause an earthquake?\""
        !           269: 
        !           270: SetHelp $win.col1.w1.f1.priority Head.PriorityMenu
        !           271: 
        !           272: menubutton $win.col1.w1.f1.priority\
        !           273:   -menu $win.col1.w1.f1.priority.m\
        !           274:   -text {Priority}\
        !           275:   -font [Font $win Medium]\
        !           276:   -variable $win.postedMenu
        !           277: tk_bindForTraversal $win.col1.w1.f1.priority
        !           278: bind $win.col1.w1.f1.priority <F10> {tk_firstMenu %W} 
        !           279: bind $win.col1.w1.f1.priority <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           280: 
        !           281: tk_menus $win $win.col1.w1.f1.priority
        !           282: 
        !           283: menu $win.col1.w1.f1.priority.m\
        !           284:   -font [Font $win Medium]
        !           285: tk_bindForTraversal $win.col1.w1.f1.priority.m
        !           286: bind $win.col1.w1.f1.priority.m <F10> {tk_firstMenu %W} 
        !           287: bind $win.col1.w1.f1.priority.m <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           288:   $win.col1.w1.f1.priority.m add radiobutton\
        !           289:     -label {Super Fast}\
        !           290:     -command {SetPriority 4}\
        !           291:     -value {4}\
        !           292:     -variable Priority
        !           293:   $win.col1.w1.f1.priority.m add radiobutton\
        !           294:     -label {Fast}\
        !           295:     -command {SetPriority 3}\
        !           296:     -value {3}\
        !           297:     -variable Priority
        !           298:   $win.col1.w1.f1.priority.m add radiobutton\
        !           299:     -label {Normal}\
        !           300:     -command {SetPriority 2}\
        !           301:     -value {2}\
        !           302:     -variable Priority
        !           303:   $win.col1.w1.f1.priority.m add radiobutton\
        !           304:     -label {Slow}\
        !           305:     -command {SetPriority 1}\
        !           306:     -value {1}\
        !           307:     -variable Priority
        !           308:   $win.col1.w1.f1.priority.m add radiobutton\
        !           309:     -label {Super Slow}\
        !           310:     -command {SetPriority 0}\
        !           311:     -value {0}\
        !           312:     -variable Priority
        !           313: 
        !           314: SetHelp $win.col1.w1.f1.windows Head.WindowsMenu
        !           315: 
        !           316: menubutton $win.col1.w1.f1.windows\
        !           317:   -menu $win.col1.w1.f1.windows.m\
        !           318:   -text {Windows}\
        !           319:   -font [Font $win Medium]\
        !           320:   -variable $win.postedMenu
        !           321: tk_bindForTraversal $win.col1.w1.f1.windows
        !           322: bind $win.col1.w1.f1.windows <F10> {tk_firstMenu %W} 
        !           323: bind $win.col1.w1.f1.windows <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           324: 
        !           325: tk_menus $win $win.col1.w1.f1.windows
        !           326: 
        !           327: menu $win.col1.w1.f1.windows.m\
        !           328:   -font [Font $win Medium]
        !           329: tk_bindForTraversal $win.col1.w1.f1.windows.m
        !           330: bind $win.col1.w1.f1.windows.m <F10> {tk_firstMenu %W} 
        !           331: bind $win.col1.w1.f1.windows.m <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           332:   $win.col1.w1.f1.windows.m add command\
        !           333:     -label {Budget}\
        !           334:     -command "UIShowBudgetAndWait"
        !           335:   $win.col1.w1.f1.windows.m add command\
        !           336:     -label {Evaluation}\
        !           337:     -command "ShowEvaluationOf $win"
        !           338:   $win.col1.w1.f1.windows.m add command\
        !           339:     -label {Graph}\
        !           340:     -command "ShowGraphOf $win"
        !           341:   #$win.col1.w1.f1.windows.m add command\
        !           342:   #  -label {Map}\
        !           343:   #  -command "ShowMapOf $win"
        !           344:   #$win.col1.w1.f1.windows.m add command\
        !           345:   #  -label {Editor}\
        !           346:   #  -command "ShowEditorOf $win"
        !           347:   #$win.col1.w1.f1.windows.m add command\
        !           348:   #  -label {Frob}\
        !           349:   #  -command "ShowFrobOf $win"
        !           350:   #$win.col1.w1.f1.windows.m add command\
        !           351:   #  -label {New Map}\
        !           352:   #  -command "NewMapOf $win"
        !           353:   #$win.col1.w1.f1.windows.m add command\
        !           354:   #  -label {New Editor}\
        !           355:   #  -command "NewEditorOf $win"
        !           356: 
        !           357: LinkWindow $win.m0 $win.col1.w1.f1.micropolis.m
        !           358: LinkWindow $win.m1 $win.col1.w1.f1.options.m
        !           359: LinkWindow $win.m2 $win.col1.w1.f1.disasters.m
        !           360: LinkWindow $win.m3 $win.col1.w1.f1.priority.m
        !           361: LinkWindow $win.m4 $win.col1.w1.f1.windows.m
        !           362: 
        !           363: LinkWindow $win.b0 $win.col1.w1.f1.micropolis
        !           364: LinkWindow $win.b1 $win.col1.w1.f1.options
        !           365: LinkWindow $win.b2 $win.col1.w1.f1.disasters
        !           366: LinkWindow $win.b3 $win.col1.w1.f1.priority
        !           367: LinkWindow $win.b4 $win.col1.w1.f1.windows
        !           368: 
        !           369: pack append $win.col1.w1.f1\
        !           370:   $win.col1.w1.f1.micropolis   {left frame nw} \
        !           371:   $win.col1.w1.f1.options      {left frame nw} \
        !           372:   $win.col1.w1.f1.disasters    {left frame nw} \
        !           373:   $win.col1.w1.f1.priority     {left frame nw} \
        !           374:   $win.col1.w1.f1.windows      {left frame nw}
        !           375: 
        !           376: frame $win.col1.w1.f2\
        !           377:   -background #BFBFBF \
        !           378:   -borderwidth 1\
        !           379:   -relief raised
        !           380: 
        !           381: frame $win.col1.w1.f2.f1\
        !           382:   -background #BFBFBF \
        !           383:   -borderwidth 1\
        !           384:   -relief flat
        !           385: 
        !           386: frame $win.col1.w1.f2.f1.frame \
        !           387:   -background #BFBFBF \
        !           388:   -borderwidth 0\
        !           389:   -relief flat
        !           390: 
        !           391: canvas $win.col1.w1.f2.f1.frame.demand\
        !           392:   -scrollincrement 0 \
        !           393:   -borderwidth 0 \
        !           394:   -background #BFBFBF \
        !           395:   -width 80 -height 55
        !           396: LinkWindow $win.demand $win.col1.w1.f2.f1.frame.demand
        !           397: $win.col1.w1.f2.f1.frame.demand create bitmap 41 4 \
        !           398:   -tags picture \
        !           399:   -bitmap "@images/demandg.xpm" \
        !           400:   -anchor nw
        !           401: $win.col1.w1.f2.f1.frame.demand create rectangle -10 -10 1 1 \
        !           402:   -tags r \
        !           403:   -fill [Color $win #00ff00 #000000]
        !           404: $win.col1.w1.f2.f1.frame.demand create rectangle -10 -10 1 1 \
        !           405:   -tags c \
        !           406:   -fill [Color $win #0000ff #000000]
        !           407: $win.col1.w1.f2.f1.frame.demand create rectangle -10 -10 1 1 \
        !           408:   -tags i \
        !           409:   -fill [Color $win #ffff00 #000000]
        !           410: $win.col1.w1.f2.f1.frame.demand create bitmap 0 4 \
        !           411:   -tags micropolis \
        !           412:   -bitmap "@images/micropoliss.xpm" \
        !           413:   -anchor nw 
        !           414: 
        !           415: $win.col1.w1.f2.f1.frame.demand bind micropolis <1> {TogglePause}
        !           416: $win.col1.w1.f2.f1.frame.demand bind micropolis <2> {TogglePause}
        !           417: $win.col1.w1.f2.f1.frame.demand bind micropolis <3> {TogglePause}
        !           418: $win.col1.w1.f2.f1.frame.demand bind picture <1> "ToggleEvaluationOf $win"
        !           419: $win.col1.w1.f2.f1.frame.demand bind picture <2> "ToggleEvaluationOf $win"
        !           420: $win.col1.w1.f2.f1.frame.demand bind picture <3> "ToggleEvaluationOf $win"
        !           421: $win.col1.w1.f2.f1.frame.demand bind r <1> "ToggleEvaluationOf $win"
        !           422: $win.col1.w1.f2.f1.frame.demand bind r <2> "ToggleEvaluationOf $win"
        !           423: $win.col1.w1.f2.f1.frame.demand bind r <3> "ToggleEvaluationOf $win"
        !           424: $win.col1.w1.f2.f1.frame.demand bind c <1> "ToggleEvaluationOf $win"
        !           425: $win.col1.w1.f2.f1.frame.demand bind c <2> "ToggleEvaluationOf $win"
        !           426: $win.col1.w1.f2.f1.frame.demand bind c <3> "ToggleEvaluationOf $win"
        !           427: $win.col1.w1.f2.f1.frame.demand bind i <1> "ToggleEvaluationOf $win"
        !           428: $win.col1.w1.f2.f1.frame.demand bind i <2> "ToggleEvaluationOf $win"
        !           429: $win.col1.w1.f2.f1.frame.demand bind i <3> "ToggleEvaluationOf $win"
        !           430: 
        !           431: SetHelp $win.col1.w1.f2.f1.frame.demand Head.Demand
        !           432: 
        !           433: frame $win.col1.w1.f2.f1.frame.graphframe \
        !           434:   -background #BFBFBF \
        !           435:   -borderwidth 1\
        !           436:   -relief sunken
        !           437: 
        !           438: graphview $win.col1.w1.f2.f1.frame.graphframe.graph\
        !           439:   -background #BFBFBF \
        !           440:   -font [Font $win Tiny]
        !           441: $win.col1.w1.f2.f1.frame.graphframe.graph Range 10
        !           442: $win.col1.w1.f2.f1.frame.graphframe.graph Mask 7
        !           443: LinkWindow $win.graphview $win.col1.w1.f2.f1.frame.graphframe.graph
        !           444: bind $win.col1.w1.f2.f1.frame.graphframe.graph <ButtonPress> "ToggleGraphOf $win"
        !           445: 
        !           446: 
        !           447: SetHelp $win.col1.w1.f2.f1.frame.graphframe.graph Head.Graph
        !           448: 
        !           449: pack append $win.col1.w1.f2.f1.frame.graphframe \
        !           450:   $win.col1.w1.f2.f1.frame.graphframe.graph    {left expand fill}
        !           451: 
        !           452: pack append $win.col1.w1.f2.f1.frame \
        !           453:   $win.col1.w1.f2.f1.frame.demand              {left frame sw padx 4} \
        !           454:   $win.col1.w1.f2.f1.frame.graphframe  {right frame center expand fill}
        !           455: 
        !           456: frame $win.col1.w1.f2.f1.info\
        !           457:   -background #BFBFBF \
        !           458:   -borderwidth 1\
        !           459:   -relief flat
        !           460: 
        !           461: dateview $win.col1.w1.f2.f1.info.date\
        !           462:   -background #BFBFBF \
        !           463:   -width 20 \
        !           464:   -font [Font $win Medium]
        !           465: LinkWindow $win.date $win.col1.w1.f2.f1.info.date
        !           466: 
        !           467: SetHelp $win.col1.w1.f2.f1.info.date Head.Date
        !           468: 
        !           469: label $win.col1.w1.f2.f1.info.fundslabel\
        !           470:   -background #BFBFBF \
        !           471:   -relief flat\
        !           472:   -font [Font $win Medium]\
        !           473:   -text {}\
        !           474:   -anchor w\
        !           475:   -width 20
        !           476: LinkWindow $win.funds $win.col1.w1.f2.f1.info.fundslabel
        !           477: bind $win.col1.w1.f2.f1.info.fundslabel <ButtonPress> "UIShowBudgetAndWait"
        !           478: 
        !           479: SetHelp $win.col1.w1.f2.f1.info.fundslabel Head.Funds
        !           480: 
        !           481: label $win.col1.w1.f2.f1.info.rate\
        !           482:   -background #BFBFBF \
        !           483:   -relief flat\
        !           484:   -font [Font $win Medium]\
        !           485:   -text {Tax Rate: 7%} \
        !           486:   -anchor w\
        !           487:   -width 20
        !           488: LinkWindow $win.taxlabel $win.col1.w1.f2.f1.info.rate
        !           489: bind $win.col1.w1.f2.f1.info.rate <ButtonPress> "UIShowBudgetAndWait"
        !           490: 
        !           491: 
        !           492: scale $win.col1.w1.f2.f1.info.scale\
        !           493:   -background #BFBFBF \
        !           494:   -command {SetTaxRate}\
        !           495:   -orient horizontal\
        !           496:   -showvalue false\
        !           497:   -font [Font $win Medium]\
        !           498:   -sliderlength 15\
        !           499:   -to 20
        !           500: $win.col1.w1.f2.f1.info.scale set 7
        !           501: LinkWindow $win.taxrate $win.col1.w1.f2.f1.info.scale
        !           502: 
        !           503: 
        !           504: pack append $win.col1.w1.f2.f1.info \
        !           505:   $win.col1.w1.f2.f1.info.date         {top frame nw} \
        !           506:   $win.col1.w1.f2.f1.info.fundslabel   {top frame nw} \
        !           507:   $win.col1.w1.f2.f1.info.rate         {top frame nw} \
        !           508:   $win.col1.w1.f2.f1.info.scale                {top frame nw fill expand}
        !           509: 
        !           510: pack append $win.col1.w1.f2.f1 \
        !           511:   $win.col1.w1.f2.f1.frame             {left frame nw expand fill} \
        !           512:   $win.col1.w1.f2.f1.info              {left frame nw}
        !           513: 
        !           514: frame $win.col1.w1.f2.f2\
        !           515:   -borderwidth 1 \
        !           516:   -relief flat
        !           517: tk_bindForTraversal $win.col1.w1.f2.f2
        !           518: bind $win.col1.w1.f2.f2 <F10> {tk_firstMenu %W} 
        !           519: bind $win.col1.w1.f2.f2 <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           520: 
        !           521: SetHelp $win.col1.w1.f2.f2 Head.Log
        !           522: 
        !           523: scrollbar $win.col1.w1.f2.f2.scroll\
        !           524:   -command "$win.col1.w1.f2.f2.text yview" \
        !           525:   -borderwidth 1
        !           526: 
        !           527: SetHelp $win.col1.w1.f2.f2.scroll Head.Scrollbar
        !           528: 
        !           529: text $win.col1.w1.f2.f2.text \
        !           530:   -yscroll "$win.col1.w1.f2.f2.scroll set" \
        !           531:   -borderwidth 1 \
        !           532:   -relief sunken \
        !           533:   -wrap word \
        !           534:   -state disabled \
        !           535:   -height 5 \
        !           536:   -font [Font $win Text]
        !           537: LinkWindow $win.text $win.col1.w1.f2.f2.text
        !           538: 
        !           539: $win.col1.w1.f2.f2.text tag configure status \
        !           540:   -font [Font $win Message]
        !           541: 
        !           542: $win.col1.w1.f2.f2.text tag configure message \
        !           543:   -font [Font $win Message] \
        !           544:   -foreground #ffffff \
        !           545:   -background #3f3f3f
        !           546: 
        !           547: $win.col1.w1.f2.f2.text tag configure alert \
        !           548:   -font [Font $win Alert] \
        !           549:   -foreground [Color $win #ff3f3f #000000]
        !           550: 
        !           551: pack append $win.col1.w1.f2.f2 \
        !           552:   $win.col1.w1.f2.f2.scroll    {left frame center filly} \
        !           553:   $win.col1.w1.f2.f2.text      {right frame center fill expand}
        !           554: 
        !           555: if {[sim MultiPlayerMode]} {
        !           556:   frame $win.col1.w1.f2.f3 \
        !           557:     -borderwidth 1 \
        !           558:     -relief flat
        !           559:   tk_bindForTraversal $win.col1.w1.f2.f3
        !           560:   bind $win.col1.w1.f2.f3 <F10> {tk_firstMenu %W} 
        !           561:   bind $win.col1.w1.f2.f3 <Mod2-Key> {tk_traverseToMenu %W %A} 
        !           562: 
        !           563:   button $win.col1.w1.f2.f3.chat \
        !           564:     -font [Font $win Large] \
        !           565:     -relief flat \
        !           566:     -text {Chat:}
        !           567:   LinkWindow $win.chat $win.col1.w1.f2.f3.chat
        !           568:   bind $win.col1.w1.f2.f3.chat <1> {ChatDown %W}
        !           569:   bind $win.col1.w1.f2.f3.chat <ButtonRelease-1> {ChatUp %W}
        !           570: 
        !           571:   SetHelp $win.col1.w1.f2.f3.chat Head.Chat
        !           572: 
        !           573:   entry $win.col1.w1.f2.f3.entry \
        !           574:     -relief sunken\
        !           575:     -text {}\
        !           576:     -foreground #ffffff\
        !           577:     -background #4f4f4f\
        !           578:     -textvariable $win.col1.w1.f2.f3.entry.value\
        !           579:     -font [Font $win Message]
        !           580:   global $win.col1.w1.f2.f3.entry.value
        !           581:   set $win.col1.w1.f2.f3.entry.value ""
        !           582:   tk_bindForTraversal $win.col1.w1.f2.f3.entry
        !           583:   bind $win.col1.w1.f2.f3.entry <F10> {tk_firstMenu %W} 
        !           584:   bind $win.col1.w1.f2.f3.entry <Mod2-Key> {tk_traverseToMenu %W %A}
        !           585:   bind $win.col1.w1.f2.f3.entry <Return> "DoEnterMessage %W %W.value"
        !           586:   bind $win.col1.w1.f2.f3.entry <Escape> "DoEvalMessage %W %W.value"
        !           587:   bind $win.col1.w1.f2.f3.entry <Any-Enter> {focus %W}
        !           588:   LinkWindow $win.entry $win.col1.w1.f2.f3.entry
        !           589: 
        !           590:   SetHelp $win.col1.w1.f2.f3.entry Head.Entry
        !           591: }
        !           592: 
        !           593: frame $win.col1.w2
        !           594: tk_bindForTraversal $win.col1.w2
        !           595: 
        !           596: LinkWindow $win.w2 $win.col1.w2
        !           597: 
        !           598: frame $win.col1.w3
        !           599: tk_bindForTraversal $win.col1.w3
        !           600: 
        !           601: LinkWindow $win.w3 $win.col1.w3
        !           602: 
        !           603: frame $win.col2
        !           604: tk_bindForTraversal $win.col2
        !           605: 
        !           606: LinkWindow $win.col2 $win.col2
        !           607: 
        !           608: #frame $win.col2.x1 -width 400 -height 400
        !           609: #tk_bindForTraversal $win.col2.x1
        !           610: 
        !           611: #LinkWindow $win.x1 $win.col2.x1
        !           612: 
        !           613: #frame $win.col2.x2
        !           614: #tk_bindForTraversal $win.col2.x2
        !           615: 
        !           616: #LinkWindow $win.x2 $win.col2.x2
        !           617: 
        !           618: #frame $win.col2.x3
        !           619: #tk_bindForTraversal $win.col2.x3
        !           620: 
        !           621: #LinkWindow $win.x3 $win.col2.x3
        !           622: 
        !           623: #frame $win.col2.x4
        !           624: #tk_bindForTraversal $win.col2.x4
        !           625: 
        !           626: #LinkWindow $win.x4 $win.col2.x4
        !           627: 
        !           628: if {[sim MultiPlayerMode]} {
        !           629: 
        !           630:   pack append $win.col1.w1.f2.f3 \
        !           631:     $win.col1.w1.f2.f3.chat    {left frame center padx 4} \
        !           632:     $win.col1.w1.f2.f3.entry   {left frame center fillx expand padx 4}
        !           633: 
        !           634:   pack append $win.col1.w1.f2 \
        !           635:     $win.col1.w1.f2.f1         {top frame center fillx} \
        !           636:     $win.col1.w1.f2.f2         {top frame center expand fill} \
        !           637:     $win.col1.w1.f2.f3         {top frame center fillx}
        !           638: 
        !           639: } else {
        !           640: 
        !           641:   pack append $win.col1.w1.f2 \
        !           642:     $win.col1.w1.f2.f1         {top frame center fillx} \
        !           643:     $win.col1.w1.f2.f2         {top frame center expand fill}
        !           644: 
        !           645: }
        !           646: 
        !           647: pack append $win.col1.w1\
        !           648:   $win.col1.w1.f1              {top frame center fillx} \
        !           649:   $win.col1.w1.f2              {top frame center expand fill}
        !           650: 
        !           651: #pack append $win\
        !           652: #    $win.col1                 {left frame center filly} \
        !           653: #    $win.col2                 {left frame center expand fill}
        !           654: 
        !           655: place configure $win.col1\
        !           656:   -x 0\
        !           657:   -y 0\
        !           658:   -width $HeadPanelWidth\
        !           659:   -height $screenheight
        !           660: 
        !           661: pack append $win.col1\
        !           662:     $win.col1.w1               {top frame nw fillx} \
        !           663:     $win.col1.w2               {top frame nw fillx} \
        !           664:     $win.col1.w3               {bottom frame sw fillx} 
        !           665: 
        !           666: #place configure $win.col1.w1\
        !           667: #  -x 0\
        !           668: #  -y 0\
        !           669: #  -width $HeadPanelWidth\
        !           670: #  -height $HeadPanelHeight
        !           671: 
        !           672: #place configure $win.col1.w2\
        !           673: #  -x 0\
        !           674: #  -y $HeadPanelHeight\
        !           675: #  -width $MapPanelWidth\
        !           676: #  -height $MapPanelHeight
        !           677: 
        !           678: #place configure $win.col1.w3\
        !           679: #  -x 0\
        !           680: #  -y [expr "$HeadPanelHeight + $MapPanelHeight"]\
        !           681: #  -width $NoticePanelWidth\
        !           682: #  -height [expr "$screenheight - ($HeadPanelHeight + $MapPanelHeight)"]
        !           683: 
        !           684: place configure $win.col2\
        !           685:   -x [expr "$HeadPanelWidth + 5"]\
        !           686:   -y 0\
        !           687:   -width [expr "($screenwidth - $HeadPanelWidth) - 5"]\
        !           688:   -height $screenheight
        !           689: 
        !           690: #pack append $win.col2\
        !           691: #    $win.col2.x1              {top frame nw fillx} \
        !           692: #    $win.col2.x2              {top frame nw fillx} \
        !           693: #    $win.col2.x3              {top frame nw expand fill} \
        !           694: #    $win.col2.x4              {top frame nw fillx}
        !           695: 
        !           696: SetupSoundServer $win
        !           697: 
        !           698: InitHead $win
        !           699: InitHeadMenus $win
        !           700: 
        !           701: update idletasks

unix.superglobalmegacorp.com

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