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

1.1       root        1: # Window: Player, 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: #
                     62: global PlayerWindows
                     63: set n [Unique]
                     64: set win .player$n
                     65: set PlayerWindows [linsert $PlayerWindows 0 $win]
                     66: 
                     67: LinkWindow $head.player $win
                     68: LinkWindow $win.head $head
                     69: 
                     70: catch "destroy $win"
                     71: toplevel $win -screen $display
                     72: 
                     73: SetHelp $win Player
                     74: 
                     75: wm title $win {Micropolis Players}
                     76: wm iconname $win {Micropolis Players}
                     77: wm geometry $win 400x250+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 player PlayerWindows"
                     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.label \
                     91:   -text "X11 Servers of Micropolis Players" \
                     92:   -font [Font $win Large]
                     93: 
                     94: text $win.top.text \
                     95:   -borderwidth 2 \
                     96:   -relief flat \
                     97:   -wrap word \
                     98:   -state normal \
                     99:   -height 4 \
                    100:   -font [Font $win Medium]
                    101: LinkWindow $win.text $win.top.text
                    102: $win.top.text delete 0.0 end
                    103: $win.top.text insert end {\
                    104: Micropolis is connected to the X11 servers listed above.
                    105: To add another player to the game, enter their display name.
                    106: If you don't have a "Multi Player" license, you can just \
                    107: add more players on your own display, by entering ":0".}
                    108: 
                    109: $win.top.text configure -state disabled
                    110: 
                    111: frame $win.top.f \
                    112:   -relief flat \
                    113:   -borderwidth 1
                    114: 
                    115: SetHelp $win.top.f Player.Display
                    116: 
                    117: button $win.top.f.add \
                    118:   -text "Add Player on X11 Display:" \
                    119:   -borderwidth 1 \
                    120:   -font [Font $win Large] \
                    121:   -command "DoNewPlayer $win"
                    122: 
                    123: entry $win.top.f.display \
                    124:   -relief sunken \
                    125:   -font [Font $win Large] \
                    126:   -text ""
                    127: bind $win.top.f.display <Return> "DoNewPlayer $win"
                    128: bind $win.top.f.display <Any-Enter> {focus %W}
                    129: LinkWindow $win.display $win.top.f.display
                    130: 
                    131: pack append $win.top.f \
                    132:   $win.top.f.add       {left frame nw padx 4} \
                    133:   $win.top.f.display   {left frame nw expand fillx padx 4}
                    134: 
                    135: frame $win.top.g \
                    136:   -relief flat \
                    137:   -borderwidth 1
                    138: 
                    139: SetHelp $win.top.g Player.Players
                    140: 
                    141: scrollbar $win.top.g.scroll \
                    142:   -borderwidth 1 \
                    143:   -command "$win.top.g.list yview"
                    144: 
                    145: listbox $win.top.g.list \
                    146:   -relief sunken \
                    147:   -borderwidth 1 \
                    148:   -font [Font $win Large] \
                    149:   -yscroll "$win.top.g.scroll set"
                    150: LinkWindow $win.players $win.top.g.list
                    151: 
                    152: pack append $win.top.g \
                    153:   $win.top.g.scroll {left filly frame e} \
                    154:   $win.top.g.list {right expand fill frame w}
                    155: 
                    156: pack append $win.top \
                    157:   $win.top.label       {top frame center fillx} \
                    158:   $win.top.g           {top frame center expand fill} \
                    159:   $win.top.text                {top frame center fill} \
                    160:   $win.top.f           {top frame center fillx}
                    161: 
                    162: button $win.dismiss\
                    163:   -font [Font $win Large]\
                    164:   -borderwidth 1 \
                    165:   -text {Dismiss}\
                    166:   -command "wm withdraw $win"
                    167: 
                    168: SetHelp $win.dismiss Player.Dismiss
                    169: 
                    170: pack append $win\
                    171:   $win.top             {top frame center expand fill} \
                    172:   $win.dismiss         {bottom frame center fillx}
                    173: 
                    174: UpdatePlayers
                    175: 
                    176: update idletasks

unix.superglobalmegacorp.com

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