/[fgs]/fgs/client/tkinter/roomwidget.py
ViewVC logotype

Diff of /fgs/client/tkinter/roomwidget.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by tps12, Tue Sep 9 02:33:07 2003 UTC revision 1.5 by tps12, Mon Sep 29 01:59:41 2003 UTC
# Line 2  from Tkinter import * Line 2  from Tkinter import *
2  from chatwidget import Chat  from chatwidget import Chat
3  from ScrolledText import *  from ScrolledText import *
4  import Pmw  import Pmw
5    from postgamewidget import *
6    from string import join
7    
8    import gettext
9    gettext.bindtextdomain("fgtk")
10    gettext.textdomain("fgtk")
11    _ = gettext.gettext
12    
13  class Room(Frame):  class Room(Frame):
14    
# Line 12  class Room(Frame): Line 19  class Room(Frame):
19          self.number = number          self.number = number
20    
21          frame = Frame(self)          frame = Frame(self)
22          frame.grid(row=0, sticky=NE+SW)          frame.grid(row=1, sticky=NE+SW)
23                    
24          self.gamelist = ScrolledText(frame, state=DISABLED)          self.gamelist = Pmw.ScrolledListBox(frame,
25                                                dblclickcommand=self.open_game)
26          self.gamelist.grid(row=0, sticky=NE+SW)          self.gamelist.grid(row=0, sticky=NE+SW)
27    
28          self.chat = Chat(frame, self.number, self.server.room_tell)          self.chat = Chat(frame, self.number, self.server.room_tell)
# Line 24  class Room(Frame): Line 32  class Room(Frame):
32          frame.columnconfigure(0,weight=1)          frame.columnconfigure(0,weight=1)
33    
34          self.occupantlist = Pmw.ScrolledListBox(self)          self.occupantlist = Pmw.ScrolledListBox(self)
35          self.occupantlist.grid(row=0, column=1, sticky=NE+SW)          self.occupantlist.grid(row=1, column=1, sticky=NE+SW)
36    
37          self.rowconfigure(0,weight=1)          self.rowconfigure(0,weight=0)
38            self.rowconfigure(1,weight=1)
39          self.columnconfigure(0,weight=1)          self.columnconfigure(0,weight=1)
40          self.columnconfigure(1,weight=2)          self.columnconfigure(1,weight=2)
41    
# Line 34  class Room(Frame): Line 43  class Room(Frame):
43          self.server.add_handler("202", self.receive_newocc, self.number)          self.server.add_handler("202", self.receive_newocc, self.number)
44          self.server.add_handler("203", self.receive_occleave, self.number)          self.server.add_handler("203", self.receive_occleave, self.number)
45          self.server.add_handler("208", self.receive_occlist, self.number)          self.server.add_handler("208", self.receive_occlist, self.number)
46            self.server.add_handler("211", self.receive_opengames, self.number)
47    
48            menubar = Pmw.MenuBar(self)
49            menubar.grid(row=0, column=0, columnspan=2, sticky=E+W)
50            self.menuBar = menubar
51    
52            menubar.addmenu(_("Game"), _("Game operations"))
53            menubar.addmenuitem(_("Game"), "command", _("Post an open game"),
54                                command=self.post_dialog,
55                                label=_("New..."))
56            menubar.addmenuitem(_("Game"), "command", _("Refresh game list"),
57                                command=self.refresh_gamelist,
58                                label=_("Refresh list"))
59    
60          self.server.room_visit(self.number)          self.server.room_visit(self.number)
61          self.server.room_listoccupants(self.number)          self.server.room_listoccupants(self.number)
62            self.refresh_gamelist()
63    
64      def __del__(self):      def __del__(self):
65          self.leave()          self.leave()
66    
67        def post_dialog(self):
68            NewGameWindow(self)
69    
70        def refresh_gamelist(self):
71            self.gamelist.clear()
72            self.server.room_listopengames(self.number)
73    
74        def receive_opengames(self, msg):
75            for game in msg[2:]:
76                print game
77                self.gamelist.insert("end", join(game))
78    
79        def open_game(self):
80            nego = NewGameWindow(self)
81            nego.negotiate(self.gamelist.getvalue()[0])
82    
83        def post_game(self, gametype, timetype, lorank, hirank, desc):
84            self.server.room_postgame(self.number, gametype, timetype,
85                                      lorank, hirank, desc)
86    
87      def receive_chat(self, msg):      def receive_chat(self, msg):
88          self.chat.receive(msg[2], msg[3])          self.chat.receive(msg[2], msg[3])
89    
# Line 66  class Room(Frame): Line 109  class Room(Frame):
109          self.server.remove_handler("202", self.receive_newocc, self.number)          self.server.remove_handler("202", self.receive_newocc, self.number)
110          self.server.remove_handler("203", self.receive_occleave, self.number)          self.server.remove_handler("203", self.receive_occleave, self.number)
111          self.server.remove_handler("208", self.receive_occlist, self.number)          self.server.remove_handler("208", self.receive_occlist, self.number)
112            self.server.remove_handler("211", self.receive_opengames, self.number)
113          self.server.room_leave(self.number)          self.server.room_leave(self.number)
114    
115  class RoomWindow:  class RoomWindow:

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26