Mercurial > traipse_dev
annotate orpg/networking/mplay_server_gui.py @ 229:1645a78a33a4 alpha
Traipse Alpha 'OpenRPG' {100612-02}
Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user.
Update Summary (Preparing to close updates)
New Features:
New to Map, can re-order Grid, Miniatures, and Whiteboard layer draw order
Fixes:
Fix to InterParse that was causing an Infernal Loop with Namespace Internal
Fix to XML data, removed old Minidom and switched to Element Tree
Fix to Server that was causing eternal attempt to find a Server ID, in Register Rooms thread
Fix to metaservers.xml file not being created
author | sirebral |
---|---|
date | Sat, 12 Jun 2010 04:46:16 -0500 |
parents | 24769389a7ba |
children | cc7629ab526d |
rev | line source |
---|---|
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
1 #!/usr/bin/env python |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
2 # |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
3 # OpenRPG Server Graphical Interface |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
4 # GNU General Public License |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
5 # |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
6 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
7 __appname__=' OpenRPG GUI Server v0.7 ' |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
8 __version__='$Revision: 1.26 $'[11:-2] |
195 | 9 __cvsinfo__="$Id: mplay_server_gui.py,v Traipse 'Ornery-Orc' prof.ebral Exp $"[5:-2] |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
10 __doc__="""OpenRPG Server Graphical Interface""" |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
11 |
195 | 12 import os, sys, time, types, webbrowser |
122 | 13 |
96 | 14 from orpg.dirpath import dir_struct |
15 from orpg.tools.validate import validate | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
16 from orpg.orpg_wx import * |
128 | 17 from threading import Thread |
18 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
19 from meta_server_lib import post_server_data, remove_server |
98 | 20 from mplay_server import mplay_server, server |
128 | 21 |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
22 from xml.dom import minidom |
98 | 23 from orpg.orpgCore import component |
218 | 24 from orpg.tools.orpg_log import debug, DebugConsole |
124 | 25 from orpg.tools.orpg_settings import settings |
122 | 26 |
27 from xml.etree.ElementTree import ElementTree, Element, iselement | |
28 from xml.etree.ElementTree import fromstring, tostring, parse | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
29 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
30 # Constants ###################################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
31 SERVER_RUNNING = 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
32 SERVER_STOPPED = 0 |
96 | 33 MENU_MODIFY_BANLIST = wx.NewId() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
34 MENU_PLAYER_CREATE_ROOM = wx.NewId() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
35 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
36 # Our new event type that gets posted from one |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
37 # thread to another |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
38 wxEVT_LOG_MESSAGE = wx.NewEventType() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
39 wxEVT_FUNCTION_MESSAGE = wx.NewEventType() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
40 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
41 # Our event connector -- wxEVT_LOG_MESSAGE |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
42 EVT_LOG_MESSAGE = wx.PyEventBinder(wxEVT_LOG_MESSAGE, 1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
43 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
44 # Our event connector -- wxEVT_FUNCTION_MESSAGE |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
45 EVT_FUNCTION_MESSAGE = wx.PyEventBinder(wxEVT_FUNCTION_MESSAGE, 1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
46 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
47 # Utils ########################################## |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
48 def format_bytes(b): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
49 f = ['b', 'Kb', 'Mb', 'Gb'] |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
50 i = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
51 while i < 3: |
96 | 52 if b < 1024: return str(b) + f[i] |
53 else: b = b/1024 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
54 i += 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
55 return str(b) + f[3] |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
56 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
57 # wxEVT_LOG_MESSAGE |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
58 # MessageLogEvent ############################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
59 class MessageLogEvent(wx.PyEvent): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
60 def __init__( self, message ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
61 wx.PyEvent.__init__( self ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
62 self.SetEventType(wxEVT_LOG_MESSAGE) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
63 self.message = message |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
64 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
65 # wxEVT_TUPLE_MESSAGE |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
66 # MessageLogEvent ############################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
67 class MessageFunctionEvent(wx.PyEvent): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
68 def __init__( self, func, message ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
69 wx.PyEvent.__init__( self ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
70 self.SetEventType(wxEVT_FUNCTION_MESSAGE) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
71 self.func = func |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
72 self.message = message |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
73 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
74 # ServerConfig Object ############################ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
75 class ServerConfig: |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
76 """ This class contains configuration |
96 | 77 setting used to control the server.""" |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
78 |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
79 def __init__(self, owner ): |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
80 """ Loads default configuration settings.""" |
124 | 81 validate.config_file("server_ini.xml", "default_server_ini.xml") |
151 | 82 config_xml = parse(dir_struct['user'] + 'server_ini.xml').getroot() |
83 port = config_xml.find('service').get('port') | |
84 OPENRPG_PORT = 6774 if port == '' else int(port) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
85 self.owner = owner |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
86 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
87 def load_xml(self, xml): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
88 """ Load configuration from XML data. |
96 | 89 xml (xml) -- xml string to parse """ |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
90 pass |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
91 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
92 def save_xml(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
93 """ Returns XML file representing |
96 | 94 the active configuration. """ |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
95 pass |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
96 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
97 # Server Monitor ################################# |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
98 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
99 class ServerMonitor(Thread): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
100 """ Monitor thread for GameServer. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
101 def __init__(self, cb, conf, name, pwd): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
102 """ Setup the server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
103 Thread.__init__(self) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
104 self.cb = cb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
105 self.conf = conf |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
106 self.serverName = name |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
107 self.bootPwd = pwd |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
108 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
109 def log(self, mesg): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
110 if type(mesg) == types.TupleType: |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
111 func, msg = mesg |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
112 event = MessageFunctionEvent( func, msg ) |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
113 else: event = MessageLogEvent( mesg ) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
114 wx.PostEvent( self.conf.owner, event ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
115 del event |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
116 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
117 def run(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
118 """ Start the server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
119 self.server = mplay_server(self.log, self.serverName ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
120 self.server.initServer(bootPassword=self.bootPwd, reg="No") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
121 self.alive = 1 |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
122 while self.alive: time.sleep(3) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
123 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
124 def stop(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
125 """ Stop the server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
126 self.server.kill_server() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
127 self.alive = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
128 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
129 # GUI Server ##################################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
130 # Parent = notebook |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
131 # Main = GUI |
128 | 132 class Groups(wx.ListCtrl): |
133 def __init__(self, parent, main): | |
134 wx.ListCtrl.__init__(self, parent, -1, wx.DefaultPosition, | |
135 wx.DefaultSize, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES) | |
136 | |
137 """Not completed. Creates room, delets rooms. Does not track players. Nor does gsclient, ftm.""" | |
151 | 138 validate.config_file("server_ini.xml", "default_server_ini.xml" ) |
139 config_xml = parse(dir_struct["user"] + 'server_ini.xml').getroot() | |
140 lobbyname = config_xml.get('lobbyname') | |
128 | 141 |
151 | 142 self.main = main |
128 | 143 self.roomList = { 0 : lobbyname } |
144 self.InsertColumn(0, 'Group ID') | |
145 self.InsertColumn(1, 'Game') | |
146 self.InsertColumn(2, 'Players') | |
147 self.InsertColumn(3, 'Passworded') | |
151 | 148 self.AddGroup((self.roomList[0], '0', '0', 'No')) |
128 | 149 |
150 def AddGroup(self, data): | |
151 (room, room_id, players, passworded) = data | |
152 i = self.InsertStringItem(0, str(room_id)) | |
153 self.SetStringItem(i, 1, room) | |
195 | 154 self.SetStringItem(i, 2, str(players)) |
155 self.SetStringItem(i, 3, passworded) | |
128 | 156 |
157 def DeleteGroup(self, data): | |
158 i = self.FindItem(-1, str(data)) | |
159 self.DeleteItem(i) | |
160 | |
151 | 161 def UpdateGroup(self, data): |
128 | 162 (room, room_id, players) = data |
163 i = self.FindItem( -1, str(room_id)) | |
164 self.SetStringItem( i, 1, room ) | |
195 | 165 self.SetStringItem(i, 2, str(players)) |
128 | 166 ### Need to add room for Password Updates ### |
167 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
168 class Connections(wx.ListCtrl): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
169 def __init__( self, parent, main ): |
96 | 170 wx.ListCtrl.__init__( self, parent, -1, wx.DefaultPosition, |
171 wx.DefaultSize, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES ) | |
172 | |
173 validate.config_file("server_ini.xml", "default_server_ini.xml" ) | |
151 | 174 config_xml = parse(dir_struct["user"] + 'server_ini.xml').getroot() |
175 lobbyname = config_xml.get('lobbyname') | |
96 | 176 |
151 | 177 self.main = main |
96 | 178 self.roomList = { 0 : lobbyname } |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
179 self._imageList = wx.ImageList( 16, 16, False ) |
96 | 180 img = wx.Image(dir_struct["icon"]+"player.gif", wx.BITMAP_TYPE_GIF).ConvertToBitmap() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
181 self._imageList.Add( img ) |
96 | 182 img = wx.Image(dir_struct["icon"]+"player-whisper.gif", wx.BITMAP_TYPE_GIF).ConvertToBitmap() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
183 self._imageList.Add( img ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
184 self.SetImageList( self._imageList, wx.IMAGE_LIST_SMALL ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
185 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
186 # Set The columns |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
187 self.InsertColumn(0, "ID") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
188 self.InsertColumn(1, "Player") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
189 self.InsertColumn(2, "Status") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
190 self.InsertColumn(3, "Room") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
191 self.InsertColumn(4, "Version") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
192 self.InsertColumn(5, "Role") |
9
c97c641a76fd
Small changes made to the mplay_server_gui.py that prevented a server
sirebral
parents:
0
diff
changeset
|
193 self.InsertColumn(6, "IP") |
c97c641a76fd
Small changes made to the mplay_server_gui.py that prevented a server
sirebral
parents:
0
diff
changeset
|
194 self.InsertColumn(7, "Ping") |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
195 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
196 # Set the column widths |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
197 self.AutoAjust() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
198 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
199 # Build our pop up menu to do cool things with the players in the list |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
200 self.menu = wx.Menu() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
201 self.menu.SetTitle( "Player Menu" ) |
151 | 202 self.menu.Append( 1, "Boot Player" ) |
203 self.menu.Append( 2, 'Ban Player' ) | |
204 self.menu.Append( 3, "Player Version" ) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
205 self.menu.AppendSeparator() |
151 | 206 self.menu.Append( 4, "Send Player Message" ) |
207 self.menu.Append( 5, "Send Room Message" ) | |
208 self.menu.Append( 6, "Broadcast Server Message" ) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
209 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
210 # Associate our events |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
211 self.Bind(wx.EVT_RIGHT_DOWN, self.OnPopupMenu) |
151 | 212 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=1) |
213 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=2) | |
214 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=4) | |
215 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=5) | |
216 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=6) | |
217 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=3) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
218 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
219 def add(self, player): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
220 i = self.InsertImageStringItem( 0, player["id"], 0 ) |
119 | 221 self.SetStringItem(i, 1, self.stripHtml(player["name"])) |
222 self.SetStringItem(i, 2, "NEW") | |
223 self.SetStringItem(i, 3, self.roomList[0]) | |
224 self.SetStringItem(i, 4, self.stripHtml(player["version"])) | |
124 | 225 self.SetStringItem(i, 5, 'Lurker' if player["role"] == None else self.stripHtml(player["role"])) |
119 | 226 self.SetStringItem(i, 6, self.stripHtml(player["ip"])) |
227 self.SetStringItem(i, 7, "PING") | |
228 self.SetItemData(i, int(player["id"])) | |
124 | 229 self.colorize_player_list(player) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
230 self.AutoAjust() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
231 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
232 def remove(self, id): |
119 | 233 i = self.FindItemData( -1, int(id)) |
234 self.DeleteItem(i) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
235 self.AutoAjust() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
236 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
237 def AutoAjust(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
238 self.SetColumnWidth(0, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
239 self.SetColumnWidth(1, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
240 self.SetColumnWidth(2, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
241 self.SetColumnWidth(3, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
242 self.SetColumnWidth(4, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
243 self.SetColumnWidth(5, -1) |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
244 self.SetColumnWidth(6, -1) |
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
245 self.SetColumnWidth(7, -1) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
246 self.Refresh() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
247 |
124 | 248 def colorize_player_list(self, player): |
249 if player == 0: return | |
250 for m in player.keys(): | |
251 id = player['id'] | |
252 item_list_location = self.FindItemData(-1, int(id)) | |
253 if item_list_location == -1: continue | |
254 item = self.GetItem(item_list_location) | |
255 role = player['role'] | |
256 try: #Players that turn up Blue are not passing the correct arguments. | |
257 try: | |
258 if player['group_id'] != "0": item.SetTextColour(settings.get_setting(role + "RoleColor")) | |
259 except KeyError: # Needed because group_id turns into group somewhere. | |
260 if player['group'] != "0": item.SetTextColour(settings.get_setting(role + "RoleColor")) | |
151 | 261 except: item.SetTextColour('BLUE') |
124 | 262 self.SetItem(item) |
263 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
264 def update(self, player): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
265 i = self.FindItemData( -1, int(player["id"]) ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
266 if i > -1: |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
267 self.SetStringItem(i, 1, self.stripHtml(player["name"])) |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
268 self.SetStringItem(i, 2, self.stripHtml(player["status"])) |
124 | 269 self.SetStringItem(i, 5, 'Lurker' if player["role"] == None else self.stripHtml(player["role"])) |
270 self.colorize_player_list(player) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
271 self.AutoAjust() |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
272 else: self.add(player) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
273 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
274 def updateRoom( self, data ): |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
275 (room, room_id, player) = data |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
276 i = self.FindItemData( -1, int(player) ) |
96 | 277 if player > 0: self.SetStringItem( i, 3, room ) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
278 self.AutoAjust() |
124 | 279 #self.update(player) # player object doesn't send role object. |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
280 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
281 def setPlayerRole( self, id, role ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
282 i = self.FindItemData( -1, int(id) ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
283 self.SetStringItem( i, 5, role ) |
124 | 284 self.AutoAjust() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
285 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
286 def stripHtml( self, name ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
287 ret_string = "" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
288 x = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
289 in_tag = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
290 for x in range( len(name) ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
291 if name[x] == "<" or name[x] == ">" or in_tag == 1 : |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
292 if name[x] == "<": in_tag = 1 |
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
293 elif name[x] == ">": in_tag = 0 |
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
294 else: pass |
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
295 else: ret_string = ret_string + name[x] |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
296 return ret_string |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
297 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
298 # When we right click, cause our popup menu to appear |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
299 def OnPopupMenu( self, event ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
300 pos = wx.Point( event.GetX(), event.GetY() ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
301 (item, flag) = self.HitTest( pos ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
302 if item > -1: |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
303 self.selectedItem = item |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
304 self.PopupMenu( self.menu, pos ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
305 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
306 # Process the events associated with our popup menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
307 def OnPopupMenuItem( self, event ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
308 # if we are not running, the player list is empty anyways |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
309 if self.main.STATUS == SERVER_RUNNING: |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
310 menuItem = event.GetId() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
311 playerID = str( self.GetItemData( self.selectedItem ) ) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
312 room = str(self.GetItem((int(playerID)-1), 3).GetText()) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
313 idList = self.main.server.server.groups |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
314 for r in self.roomList: |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
315 if room == self.roomList[r]: groupID = r |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
316 else: groupID = 0 |
151 | 317 if menuItem == 1: |
318 self.main.server.server.admin_kick( playerID ) | |
319 elif menuItem == 2: | |
96 | 320 message = 'Banishment' |
321 BanMsg = wx.TextEntryDialog( self, "Enter A Message To Send:", | |
322 "Ban Message", message, wx.OK|wx.CANCEL|wx.CENTRE ) | |
323 if BanMsg.ShowModal() == wx.ID_OK: message = BanMsg.GetValue() | |
224 | 324 else: return |
96 | 325 Silent = wx.MessageDialog(None, 'Silent Ban?', 'Question', |
326 wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) | |
327 if Silent.ShowModal() == wx.ID_YES: silent = 1 | |
328 else: silent = 0 | |
329 self.main.server.server.admin_ban(playerID, message, silent) | |
330 self.remove( playerID ) | |
151 | 331 elif menuItem == 4: |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
332 msg = self.GetMessageInput( "Send a message to player" ) |
224 | 333 |
334 broadcast = '<chat type="1" version="1.0"><font color="#FF0000">' +msg+ '</font></chat>' | |
335 chat = Element('chat') | |
336 chat.set('type', '1') | |
337 chat.set('version', '1.0') | |
338 chat.text = broadcast | |
339 msg = self.main.server.server.buildMsg(str(playerID), '0', '1', msg) | |
340 | |
341 if len(msg): self.main.server.server.players[playerID].outbox.put(msg) | |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
342 #Leave this in for now. |
151 | 343 elif menuItem == 5: |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
344 msg = self.GetMessageInput( "Send message to room of this player") |
224 | 345 |
346 broadcast = '<chat type="1" version="1.0"><font color="#FF0000">' +msg+ '</font></chat>' | |
347 chat = Element('chat') | |
348 chat.set('type', '1') | |
349 chat.set('version', '1.0') | |
350 chat.text = broadcast | |
351 msg = self.main.server.server.buildMsg('all', '0', '1', tostring(chat)) | |
352 | |
58
27e58b0483e7
Fixed major bug that caused an error to spit out in Windows platforms.
sirebral
parents:
57
diff
changeset
|
353 if len(msg): self.main.server.server.send_to_group('0', str(groupID), msg ) |
151 | 354 elif menuItem == 6: |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
355 msg = self.GetMessageInput( "Broadcast Server Message" ) |
224 | 356 if len(msg): self.main.server.server.broadcast(msg ) |
151 | 357 elif menuItem == 3: |
124 | 358 version_string = self.main.server.server.obtain_by_id(playerID, 'client_string') |
359 if version_string: wx.MessageBox("Running client version " + version_string,"Version") | |
360 else: wx.MessageBox("No client version available for this player", "Version") | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
361 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
362 def GetMessageInput( self, title ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
363 prompt = "Please enter the message you wish to send:" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
364 msg = wx.TextEntryDialog(self, prompt, title) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
365 msg.ShowModal() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
366 msg.Destroy() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
367 return msg.GetValue() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
368 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
369 class ServerGUI(wx.Frame): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
370 STATUS = SERVER_STOPPED |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
371 def __init__(self, parent, id, title): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
372 wx.Frame.__init__(self, parent, id, title, size = (760, 560) ) |
195 | 373 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'WAmisc9.ico', wx.BITMAP_TYPE_ICO) |
374 else: icon = wx.Icon(dir_struct["icon"]+'connect.gif', wx.BITMAP_TYPE_GIF) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
375 self.SetIcon(icon) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
376 self.serverName = "Server Name" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
377 self.bootPwd = "" |
151 | 378 self.do_log = True |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
379 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
380 # Register our events to process -- notice the custom event handler |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
381 self.Bind(wx.EVT_CLOSE, self.OnExit) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
382 self.Bind(EVT_LOG_MESSAGE, self.OnLogMessage) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
383 self.Bind(EVT_FUNCTION_MESSAGE, self.OnFunctionMessage) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
384 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
385 # Creat GUI |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
386 self.build_menu() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
387 self.build_body() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
388 self.build_status() |
98 | 389 self.BanListDialog = BanListDialog(self) |
390 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
391 # Server Callbacks |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
392 cb = {} |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
393 cb["log"] = self.Log |
151 | 394 cb["connect"] = self.OnConnect |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
395 cb["disconnect"] = self.OnDisconnect |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
396 cb["update"] = self.OnUpdatePlayer |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
397 cb["data_recv"] = self.OnDataRecv |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
398 cb["data_sent"] = self.OnDataSent |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
399 cb["create_group"] = self.OnCreateGroup |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
400 cb["delete_group"] = self.OnDeleteGroup |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
401 cb["join_group"] = self.OnJoinGroup |
128 | 402 cb['update_group'] = self.OnUpdateGroup |
218 | 403 cb['exception'] = self.OnException |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
404 cb["role"] = self.OnSetRole |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
405 self.callbacks = cb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
406 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
407 # Misc. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
408 self.conf = ServerConfig(self) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
409 self.total_messages_received = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
410 self.total_data_received = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
411 self.total_messages_sent = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
412 self.total_data_sent = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
413 |
96 | 414 """ Build GUI """ |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
415 def build_menu(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
416 """ Build the GUI menu. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
417 self.mainMenu = wx.MenuBar() |
96 | 418 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
419 # File Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
420 menu = wx.Menu() |
195 | 421 menu.Append(1, 'Start', 'Start server.') |
422 menu.Append(2, 'Stop', 'Shutdown server.') | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
423 menu.AppendSeparator() |
195 | 424 menu.Append(3, 'E&xit', 'Exit application.') |
151 | 425 self.Bind(wx.EVT_MENU, self.OnStart, id=1) |
426 self.Bind(wx.EVT_MENU, self.OnStop, id=2) | |
427 self.Bind(wx.EVT_MENU, self.OnExit, id=3) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
428 self.mainMenu.Append(menu, '&Server') |
96 | 429 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
430 # Registration Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
431 menu = wx.Menu() |
195 | 432 menu.Append(4, 'Register', 'Register with OpenRPG server directory.') |
433 menu.Append(5, 'Unregister', 'Unregister from OpenRPG server directory.') | |
151 | 434 self.Bind(wx.EVT_MENU, self.OnRegister, id=4) |
435 self.Bind(wx.EVT_MENU, self.OnUnregister, id=5) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
436 self.mainMenu.Append( menu, '&Registration' ) |
96 | 437 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
438 # Server Configuration Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
439 menu = wx.Menu() |
195 | 440 menu.Append(6, 'Ban List', 'Modify Ban List.') |
151 | 441 menu.Append(11, 'Zombies', 'Set auto-kick time for zombie clients') |
442 menu.Append(14, 'Send Size', 'Adjust the send size limit') | |
443 menu.AppendSeparator() | |
195 | 444 menu.Append(7, 'Start Ping', 'Ping players to validate remote connection.' ) |
445 menu.Append(8, 'Stop Ping', 'Stop validating player connections.' ) | |
446 menu.Append(9, 'Ping Interval', 'Change the ping interval.' ) | |
151 | 447 menu.AppendSeparator() |
195 | 448 menu.AppendCheckItem(10, 'Server Logging', |
449 'Turn on or off the Server GUI Log').Check(self.do_log) | |
151 | 450 menu.AppendCheckItem(12, 'Room Passwords', 'Allow or Deny Room Passwords').Check(False) |
451 menu.AppendCheckItem(13, 'Remote Admin', 'Allow or Deny Remote Admin').Check(False) | |
452 menu.AppendCheckItem(15, 'Remote Kill', 'Allow or Deny Remote Admin Server Kill').Check(False) | |
453 self.Bind(wx.EVT_MENU, self.ModifyBanList, id=6) | |
454 self.Bind(wx.EVT_MENU, self.PingPlayers, id=7) | |
455 self.Bind(wx.EVT_MENU, self.StopPingPlayers, id=8) | |
456 self.Bind(wx.EVT_MENU, self.ConfigPingInterval, id=9) | |
457 self.Bind(wx.EVT_MENU, self.LogToggle, id=10) | |
195 | 458 self.mainMenu.Append( menu, '&Configuration') |
218 | 459 |
460 # Traipse Suite of Additions. | |
461 self.traipseSuite = wx.Menu() | |
462 self.debugger = DebugConsole(self) | |
463 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
464 | |
465 #Debugger Console | |
466 self.debugConsole = wx.MenuItem(self.traipseSuite, -1, "Debug Console", "Debug Console") | |
467 self.Bind(wx.EVT_MENU, self.OnMB_DebugConsole, self.debugConsole) | |
468 self.traipseSuite.AppendItem(self.debugConsole) | |
469 | |
195 | 470 self.SetMenuBar(self.mainMenu) |
96 | 471 |
195 | 472 self.mainMenu.Enable(2, False) |
473 self.mainMenu.Enable(4, False) | |
474 self.mainMenu.Enable(5, False) | |
96 | 475 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
476 # Disable the ping menu items |
195 | 477 self.mainMenu.Enable(7, False) |
478 self.mainMenu.Enable(8, False) | |
479 self.mainMenu.Enable(9, False) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
480 |
151 | 481 # Disable placeholders |
195 | 482 self.mainMenu.Enable(11, False) |
483 self.mainMenu.Enable(14, False) | |
484 self.mainMenu.Enable(12, False) | |
485 self.mainMenu.Enable(13, False) | |
486 self.mainMenu.Enable(15, False) | |
487 | |
218 | 488 def OnException(self, error): |
489 self.TraipseSuiteWarn('debug') | |
490 self.debugger.console.AppendText(".. " + str(error) +'\n') | |
491 | |
492 def OnMB_DebugConsole(self, evt): | |
493 self.TraipseSuiteWarnCleanup('debug') | |
494 if self.debugger.IsShown() == True: self.debugger.Hide() | |
495 else: self.debugger.Show() | |
496 | |
497 def TraipseSuiteWarn(self, menuitem): | |
498 ### Allows for the reuse of the 'Attention' menu. | |
499 ### component.get('frame').TraipseSuiteWarn('item') ### Portable | |
500 self.mainMenu.Remove(3) | |
501 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite!") | |
502 if menuitem == 'debug': | |
503 if self.debugger.IsShown() == True: | |
504 self.mainMenu.Remove(3) | |
505 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
506 else: | |
507 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'spotlight.png')) | |
508 self.traipseSuite.RemoveItem(self.debugConsole) | |
509 self.traipseSuite.AppendItem(self.debugConsole) | |
510 | |
511 def TraipseSuiteWarnCleanup(self, menuitem): | |
512 ### Allows for portable cleanup of the 'Attention' menu. | |
513 ### component.get('frame').TraipseSuiteWarnCleanup('item') ### Portable | |
514 self.mainMenu.Remove(3) | |
515 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
516 if menuitem == 'debug': | |
517 self.traipseSuite.RemoveItem(self.debugConsole) | |
518 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'clear.gif')) | |
519 self.traipseSuite.AppendItem(self.debugConsole) | |
520 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
521 def build_body(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
522 """ Create the ViewNotebook and logger. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
523 splitter = wx.SplitterWindow(self, -1, style=wx.NO_3D | wx.SP_3D) |
195 | 524 nb = wx.Notebook(splitter, -1) |
128 | 525 self.conns = Connections(nb, self) |
526 self.groups = Groups(nb, self) | |
195 | 527 self.msgWindow = HTMLMessageWindow(nb) |
128 | 528 nb.AddPage(self.conns, "Players") |
529 nb.AddPage(self.groups, 'Rooms') | |
195 | 530 nb.AddPage(self.msgWindow, "Messages") |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
531 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
532 log = wx.TextCtrl(splitter, -1, style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL) |
195 | 533 wx.Log.SetActiveTarget(wx.LogTextCtrl(log)) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
534 splitter.SplitHorizontally(nb, log, 400) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
535 splitter.SetMinimumPaneSize(40) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
536 self.nb = nb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
537 self.log = log |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
538 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
539 def build_status(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
540 """ Create status bar and set defaults. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
541 sb = wx.StatusBar(self, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
542 sb.SetFieldsCount(5) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
543 sb.SetStatusWidths([-1, 115, 115, 65, 200]) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
544 sb.SetStatusText("Sent: 0", 1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
545 sb.SetStatusText("Recv: 0", 2) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
546 sb.SetStatusText("Stopped", 3) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
547 sb.SetStatusText("Unregistered", 4) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
548 self.SetStatusBar(sb) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
549 self.sb = sb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
550 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
551 def show_error(self, mesg, title = "Error"): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
552 """ Display an error. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
553 mesg (str) -- error message to display |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
554 title (str) -- title of window |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
555 """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
556 dlg = wx.MessageDialog(self, mesg, title, wx.OK | wx.ICON_EXCLAMATION) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
557 dlg.ShowModal() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
558 dlg.Destroy() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
559 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
560 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
561 # Event handler for out logging event |
151 | 562 def LogToggle(self, event): |
563 self.do_log = event.IsChecked() | |
564 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
565 def OnLogMessage( self, event ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
566 self.Log( event.message ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
567 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
568 # Event handler for out logging event |
122 | 569 def OnFunctionMessage(self, event): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
570 self.callbacks[event.func]( event.message ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
571 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
572 ### Server Callbacks ##################################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
573 def Log(self, log): |
151 | 574 if self.do_log: wx.LogMessage(str(log)) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
575 |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
576 def OnConnect(self, player): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
577 self.conns.add(player) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
578 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
579 def OnDisconnect(self, id): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
580 self.conns.remove(id) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
581 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
582 def OnUpdatePlayer(self, data): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
583 self.conns.update(data) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
584 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
585 def OnDataSent(self, bytes): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
586 self.total_messages_sent += 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
587 self.total_data_sent += bytes |
195 | 588 self.sb.SetStatusText("Sent: %s (%d)" % (format_bytes(self.total_data_sent), |
589 self.total_messages_sent), 1) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
590 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
591 def OnDataRecv(self, bytes): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
592 self.total_messages_received += 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
593 self.total_data_received += bytes |
195 | 594 self.sb.SetStatusText("Recv: %s (%d)" % (format_bytes(self.total_data_received), |
595 self.total_messages_received), 2) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
596 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
597 def OnCreateGroup( self, data ): |
128 | 598 (room, room_id, player, pwd) = data |
599 self.groups.AddGroup(data) | |
139 | 600 self.conns.roomList[room_id] = room |
128 | 601 data = (room, room_id, player) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
602 self.conns.updateRoom(data) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
603 |
119 | 604 def OnDeleteGroup(self, data): |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
605 (room_id, player) = data |
128 | 606 self.groups.DeleteGroup(room_id) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
607 del self.conns.roomList[room_id] |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
608 |
119 | 609 def OnJoinGroup(self, data): |
128 | 610 self.conns.updateRoom(data) |
611 | |
612 def OnUpdateGroup(self, data): | |
224 | 613 (room, room_id, players) = data |
128 | 614 self.groups.UpdateGroup(data) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
615 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
616 def OnSetRole( self, data ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
617 (id, role) = data |
128 | 618 self.conns.setPlayerRole(id, role) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
619 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
620 ### Misc. ################################################ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
621 def OnStart(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
622 """ Start server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
623 if self.STATUS == SERVER_STOPPED: |
195 | 624 ## Set name and admin password as empty |
625 self.serverName = '' | |
626 self.bootPwd = '' | |
627 # see if we already have serverName and bootPwd specified | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
628 try: |
90 | 629 validate.config_file( "server_ini.xml", "default_server_ini.xml" ) |
151 | 630 configDoc = parse(dir_struct["user"] + 'server_ini.xml').getroot() |
195 | 631 self.serverName = configDoc.get("name") |
632 if configDoc.get("admin"): self.bootPwd = configDoc.get("admin") | |
633 elif configDoc.get("boot"): self.bootPwd = configDoc.get("boot") | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
634 except: pass |
96 | 635 if self.serverName == '': |
636 self.serverName = 'Server Name' | |
195 | 637 serverNameEntry = wx.TextEntryDialog(self, |
638 "Please Enter The Server Name You Wish To Use:", | |
639 "Server's Name", | |
640 self.serverName, wx.OK|wx.CANCEL|wx.CENTRE) | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
641 if serverNameEntry.ShowModal() == wx.ID_OK: self.serverName = serverNameEntry.GetValue() |
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
642 if self.bootPwd == '': |
96 | 643 serverPasswordEntry = wx.TextEntryDialog(self, |
195 | 644 "Please Enter The Server Admin Password:", |
645 "Server's Password", | |
646 self.bootPwd, wx.OK|wx.CANCEL|wx.CENTRE) | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
647 if serverPasswordEntry.ShowModal() == wx.ID_OK: self.bootPwd = serverPasswordEntry.GetValue() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
648 if len(self.serverName): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
649 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
650 self.server = ServerMonitor(self.callbacks, self.conf, self.serverName, self.bootPwd) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
651 self.server.start() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
652 self.STATUS = SERVER_RUNNING |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
653 self.sb.SetStatusText("Running", 3) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
654 self.SetTitle(__appname__ + "- (running) - (unregistered)") |
195 | 655 self.mainMenu.Enable(1, False) |
656 self.mainMenu.Enable(2, True) | |
657 self.mainMenu.Enable(4, True) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
658 wx.EndBusyCursor() |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
659 else: self.show_error("Server is already running.", "Error Starting Server") |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
660 |
228 | 661 def OnStop(self, event=None): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
662 """ Stop server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
663 if self.STATUS == SERVER_RUNNING: |
228 | 664 self.OnUnregister(event) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
665 self.server.stop() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
666 self.STATUS = SERVER_STOPPED |
228 | 667 if event != 'Quit': |
668 self.sb.SetStatusText("Stopped", 3) | |
669 self.SetTitle(__appname__ + "- (stopped) - (unregistered)") | |
670 self.mainMenu.Enable(1, True) | |
671 self.mainMenu.Enable(2, False) | |
672 self.mainMenu.Enable(4, False) | |
673 self.mainMenu.Enable(5, False) | |
674 self.conns.DeleteAllItems() | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
675 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
676 def OnRegister(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
677 """ Call into mplay_server's register() function. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
678 This will begin registerThread(s) to keep server |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
679 registered with configured metas |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
680 """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
681 if len( self.serverName ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
682 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
683 self.server.server.register(self.serverName) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
684 self.sb.SetStatusText( ("%s" % (self.serverName)), 4 ) |
195 | 685 self.mainMenu.Enable(4, False) |
686 self.mainMenu.Enable(5, True) | |
151 | 687 #self.mainMenu.Enable( 2, False ) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
688 self.SetTitle(__appname__ + "- (running) - (registered)") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
689 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
690 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
691 def OnUnregister(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
692 """ Call into mplay_server's unregister() function. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
693 This will kill any registerThreads currently running |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
694 and result in the server being de-listed |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
695 from all metas |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
696 """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
697 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
698 self.server.server.unregister() |
228 | 699 if event != 'Quit': |
700 self.sb.SetStatusText("Unregistered", 4) | |
701 self.mainMenu.Enable(5, False) | |
702 self.mainMenu.Enable(4, True) | |
703 #self.mainMenu.Enable( 2, True ) | |
704 self.SetTitle(__appname__ + "- (running) - (unregistered)") | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
705 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
706 |
98 | 707 def ModifyBanList(self, event): |
708 if self.BanListDialog.IsShown() == True: self.BanListDialog.Hide() | |
709 else: self.BanListDialog.Show() | |
710 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
711 def PingPlayers( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
712 "Ping all players that are connected at a periodic interval, detecting dropped connections." |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
713 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
714 wx.Yield() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
715 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
716 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
717 def StopPingPlayers( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
718 "Stop pinging connected players." |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
719 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
720 def ConfigPingInterval( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
721 "Configure the player ping interval. Note that all players are pinged on a single timer." |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
722 |
128 | 723 def OnExit(self, event): |
724 dlg = wx.MessageDialog(self, "Exit the Server?", "OpenRPG- Server", wx.YES_NO) | |
725 if dlg.ShowModal() == wx.ID_YES: | |
726 dlg.Destroy() | |
727 self.ExitConfirmed() | |
728 | |
729 def ExitConfirmed(self, event=None): | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
730 """ Quit the program. """ |
228 | 731 self.OnStop('Quit') |
151 | 732 self.BanListDialog.Destroy() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
733 wx.CallAfter(self.Destroy) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
734 |
98 | 735 class BanListDialog(wx.Frame): |
736 def __init__(self, parent): | |
737 super(BanListDialog, self).__init__(parent, -1, "Ban List") | |
738 icon = wx.Icon(dir_struct["icon"]+'noplayer.gif', wx.BITMAP_TYPE_GIF) | |
739 self.SetIcon( icon ) | |
740 self.BanList = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_SINGLE_SEL|wx.LC_REPORT|wx.LC_HRULES) | |
741 sizer = wx.BoxSizer(wx.VERTICAL) | |
742 sizer.Add(self.BanList, 1, wx.EXPAND) | |
743 self.BuildList() | |
744 self.SetSizer(sizer) | |
745 self.SetAutoLayout(True) | |
746 self.SetSize((300, 175)) | |
747 self.Bind(wx.EVT_CLOSE, self.Min) | |
748 self.Min(None) | |
749 | |
750 # Ban List Dialog Pop Up Menu, more can be added | |
751 self.menu = wx.Menu() | |
752 self.menu.SetTitle( "Modify Ban List" ) | |
151 | 753 self.menu.Append( 1, "Un-Ban Player" ) |
98 | 754 |
755 # Even Association | |
756 self.BanList.Bind(wx.EVT_RIGHT_DOWN, self.BanPopupMenu) | |
151 | 757 self.Bind(wx.EVT_MENU, self.BanPopupMenuItem, id=1) |
98 | 758 |
759 # When we right click, cause our popup menu to appear | |
760 def BanPopupMenu( self, event ): | |
761 pos = wx.Point( event.GetX(), event.GetY() ) | |
762 (item, flag) = self.BanList.HitTest( pos ) | |
763 if item > -1: | |
764 self.selectedItem = item | |
765 self.PopupMenu( self.menu, pos ) | |
766 | |
767 def BanPopupMenuItem( self, event): | |
768 menuItem = event.GetId() | |
769 player = str(self.BanList.GetItemData(self.selectedItem)) | |
770 playerIP = str(self.BanList.GetItem((int(player)), 1).GetText()) | |
151 | 771 if menuItem == 1: |
98 | 772 server.admin_unban(playerIP) |
773 self.BanList.DeleteItem(self.BanList.GetItemData(self.selectedItem)) | |
774 self.BanList.Refresh() | |
775 | |
776 def BuildList(self): | |
777 # Build Dialog Columns | |
778 self.BanList.ClearAll() | |
779 self.BanList.InsertColumn(0, "User Name") | |
780 self.BanList.InsertColumn(1, "IP") | |
781 | |
782 validate.config_file("ban_list.xml", "default_ban_list.xml" ) | |
151 | 783 configDom = parse(dir_struct["user"] + 'ban_list.xml').getroot() |
98 | 784 ban_dict = {} |
151 | 785 for element in configDom.findall('banned'): |
786 player = element.get('name').replace("&", "&").replace("<", "<").replace('"', """).replace(">", ">") | |
787 playerIP = element.get('ip') | |
98 | 788 ban_dict[player] = playerIP |
789 for key in ban_dict: | |
790 i = self.BanList.InsertImageStringItem( 0, key, 0 ) | |
791 self.BanList.SetStringItem(i, 1, ban_dict[key]) | |
792 self.BanList.RefreshItem(i) | |
793 self.AutoAdjust() | |
794 | |
795 def AutoAdjust(self): | |
796 self.BanList.SetColumnWidth(0, -1) | |
797 self.BanList.SetColumnWidth(1, -1) | |
798 self.BanList.Refresh() | |
799 | |
800 def Min(self, evt): | |
151 | 801 self.BuildList() |
98 | 802 self.Hide() |
803 ############### | |
804 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
805 class ServerGUIApp(wx.App): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
806 def OnInit(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
807 # Make sure our image handlers are loaded before we try to display anything |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
808 wx.InitAllImageHandlers() |
96 | 809 self.splash = wx.SplashScreen(wx.Bitmap(dir_struct["icon"]+'splash.gif'), |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
810 wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT, |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
811 2000, |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
812 None) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
813 self.splash.Show(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
814 wx.Yield() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
815 wx.CallAfter(self.AfterSplash) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
816 return True |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
817 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
818 def AfterSplash(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
819 self.splash.Close(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
820 frame = ServerGUI(None, -1, __appname__ + "- (stopped) - (unregistered)") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
821 frame.Show(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
822 frame.Raise() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
823 self.SetTopWindow(frame) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
824 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
825 class HTMLMessageWindow(wx.html.HtmlWindow): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
826 "Widget used to present user to admin messages, in HTML format, to the server administrator" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
827 # Init using the derived from class |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
828 def __init__( self, parent ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
829 wx.html.HtmlWindow.__init__( self, parent ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
830 def OnLinkClicked( self, ref ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
831 "Open an external browser to resolve our About box links!!!" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
832 href = ref.GetHref() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
833 webbrowser.open( href ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
834 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
835 if __name__ == '__main__': |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
836 app = ServerGUIApp(0) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
837 app.MainLoop() |