Mercurial > traipse_dev
annotate orpg/networking/mplay_server_gui.py @ 231:cc7629ab526d alpha
Traipse Alpha 'OpenRPG' {100614-00}
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 (Closing/Closed)
New Features:
New to Map, can re-order Grid, Miniatures, and Whiteboard layer draw order
New to Server GUI, can now clear log
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
Fix to Single and Double quotes in Whiteboard text
Fix to Background images not showing when using the Image Server
Fix to Duplicate chat names appearing
Fix to Server GUI's logging output
Fix to FNB.COLORFUL_TABS bug.
author | sirebral |
---|---|
date | Mon, 14 Jun 2010 15:20:08 -0500 |
parents | 24769389a7ba |
children |
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 | |
231 | 351 msg = self.main.server.server.buildMsg('all', |
352 '0', | |
353 str(self.main.server.server.players[playerID]), | |
354 tostring(chat)) | |
224 | 355 |
58
27e58b0483e7
Fixed major bug that caused an error to spit out in Windows platforms.
sirebral
parents:
57
diff
changeset
|
356 if len(msg): self.main.server.server.send_to_group('0', str(groupID), msg ) |
151 | 357 elif menuItem == 6: |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
358 msg = self.GetMessageInput( "Broadcast Server Message" ) |
224 | 359 if len(msg): self.main.server.server.broadcast(msg ) |
151 | 360 elif menuItem == 3: |
124 | 361 version_string = self.main.server.server.obtain_by_id(playerID, 'client_string') |
362 if version_string: wx.MessageBox("Running client version " + version_string,"Version") | |
363 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
|
364 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
365 def GetMessageInput( self, title ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
366 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
|
367 msg = wx.TextEntryDialog(self, prompt, title) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
368 msg.ShowModal() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
369 msg.Destroy() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
370 return msg.GetValue() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
371 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
372 class ServerGUI(wx.Frame): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
373 STATUS = SERVER_STOPPED |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
374 def __init__(self, parent, id, title): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
375 wx.Frame.__init__(self, parent, id, title, size = (760, 560) ) |
195 | 376 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'WAmisc9.ico', wx.BITMAP_TYPE_ICO) |
377 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
|
378 self.SetIcon(icon) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
379 self.serverName = "Server Name" |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
380 self.bootPwd = "" |
151 | 381 self.do_log = True |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
382 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
383 # 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
|
384 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
|
385 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
|
386 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
|
387 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
388 # Creat GUI |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
389 self.build_menu() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
390 self.build_body() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
391 self.build_status() |
98 | 392 self.BanListDialog = BanListDialog(self) |
393 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
394 # Server Callbacks |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
395 cb = {} |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
396 cb["log"] = self.Log |
151 | 397 cb["connect"] = self.OnConnect |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
398 cb["disconnect"] = self.OnDisconnect |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
399 cb["update"] = self.OnUpdatePlayer |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
400 cb["data_recv"] = self.OnDataRecv |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
401 cb["data_sent"] = self.OnDataSent |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
402 cb["create_group"] = self.OnCreateGroup |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
403 cb["delete_group"] = self.OnDeleteGroup |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
404 cb["join_group"] = self.OnJoinGroup |
128 | 405 cb['update_group'] = self.OnUpdateGroup |
218 | 406 cb['exception'] = self.OnException |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
407 cb["role"] = self.OnSetRole |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
408 self.callbacks = cb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
409 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
410 # Misc. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
411 self.conf = ServerConfig(self) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
412 self.total_messages_received = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
413 self.total_data_received = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
414 self.total_messages_sent = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
415 self.total_data_sent = 0 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
416 |
96 | 417 """ Build GUI """ |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
418 def build_menu(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
419 """ Build the GUI menu. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
420 self.mainMenu = wx.MenuBar() |
96 | 421 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
422 # File Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
423 menu = wx.Menu() |
195 | 424 menu.Append(1, 'Start', 'Start server.') |
425 menu.Append(2, 'Stop', 'Shutdown server.') | |
231 | 426 menu.Append(16, 'Clear Log', 'Empty server log') |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
427 menu.AppendSeparator() |
195 | 428 menu.Append(3, 'E&xit', 'Exit application.') |
151 | 429 self.Bind(wx.EVT_MENU, self.OnStart, id=1) |
430 self.Bind(wx.EVT_MENU, self.OnStop, id=2) | |
431 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
|
432 self.mainMenu.Append(menu, '&Server') |
96 | 433 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
434 # Registration Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
435 menu = wx.Menu() |
195 | 436 menu.Append(4, 'Register', 'Register with OpenRPG server directory.') |
437 menu.Append(5, 'Unregister', 'Unregister from OpenRPG server directory.') | |
151 | 438 self.Bind(wx.EVT_MENU, self.OnRegister, id=4) |
439 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
|
440 self.mainMenu.Append( menu, '&Registration' ) |
96 | 441 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
442 # Server Configuration Menu |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
443 menu = wx.Menu() |
195 | 444 menu.Append(6, 'Ban List', 'Modify Ban List.') |
151 | 445 menu.Append(11, 'Zombies', 'Set auto-kick time for zombie clients') |
446 menu.Append(14, 'Send Size', 'Adjust the send size limit') | |
447 menu.AppendSeparator() | |
195 | 448 menu.Append(7, 'Start Ping', 'Ping players to validate remote connection.' ) |
449 menu.Append(8, 'Stop Ping', 'Stop validating player connections.' ) | |
450 menu.Append(9, 'Ping Interval', 'Change the ping interval.' ) | |
151 | 451 menu.AppendSeparator() |
195 | 452 menu.AppendCheckItem(10, 'Server Logging', |
453 'Turn on or off the Server GUI Log').Check(self.do_log) | |
151 | 454 menu.AppendCheckItem(12, 'Room Passwords', 'Allow or Deny Room Passwords').Check(False) |
455 menu.AppendCheckItem(13, 'Remote Admin', 'Allow or Deny Remote Admin').Check(False) | |
456 menu.AppendCheckItem(15, 'Remote Kill', 'Allow or Deny Remote Admin Server Kill').Check(False) | |
457 self.Bind(wx.EVT_MENU, self.ModifyBanList, id=6) | |
458 self.Bind(wx.EVT_MENU, self.PingPlayers, id=7) | |
459 self.Bind(wx.EVT_MENU, self.StopPingPlayers, id=8) | |
460 self.Bind(wx.EVT_MENU, self.ConfigPingInterval, id=9) | |
461 self.Bind(wx.EVT_MENU, self.LogToggle, id=10) | |
231 | 462 self.Bind(wx.EVT_MENU, self.ClearLog, id=16) |
195 | 463 self.mainMenu.Append( menu, '&Configuration') |
218 | 464 |
465 # Traipse Suite of Additions. | |
466 self.traipseSuite = wx.Menu() | |
467 self.debugger = DebugConsole(self) | |
468 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
469 | |
470 #Debugger Console | |
471 self.debugConsole = wx.MenuItem(self.traipseSuite, -1, "Debug Console", "Debug Console") | |
472 self.Bind(wx.EVT_MENU, self.OnMB_DebugConsole, self.debugConsole) | |
473 self.traipseSuite.AppendItem(self.debugConsole) | |
474 | |
195 | 475 self.SetMenuBar(self.mainMenu) |
96 | 476 |
195 | 477 self.mainMenu.Enable(2, False) |
478 self.mainMenu.Enable(4, False) | |
479 self.mainMenu.Enable(5, False) | |
96 | 480 |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
481 # Disable the ping menu items |
195 | 482 self.mainMenu.Enable(7, False) |
483 self.mainMenu.Enable(8, False) | |
484 self.mainMenu.Enable(9, False) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
485 |
151 | 486 # Disable placeholders |
195 | 487 self.mainMenu.Enable(11, False) |
488 self.mainMenu.Enable(14, False) | |
489 self.mainMenu.Enable(12, False) | |
490 self.mainMenu.Enable(13, False) | |
491 self.mainMenu.Enable(15, False) | |
492 | |
218 | 493 def OnException(self, error): |
494 self.TraipseSuiteWarn('debug') | |
495 self.debugger.console.AppendText(".. " + str(error) +'\n') | |
496 | |
497 def OnMB_DebugConsole(self, evt): | |
498 self.TraipseSuiteWarnCleanup('debug') | |
499 if self.debugger.IsShown() == True: self.debugger.Hide() | |
500 else: self.debugger.Show() | |
501 | |
502 def TraipseSuiteWarn(self, menuitem): | |
503 ### Allows for the reuse of the 'Attention' menu. | |
504 ### component.get('frame').TraipseSuiteWarn('item') ### Portable | |
505 self.mainMenu.Remove(3) | |
506 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite!") | |
507 if menuitem == 'debug': | |
508 if self.debugger.IsShown() == True: | |
509 self.mainMenu.Remove(3) | |
510 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
511 else: | |
512 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'spotlight.png')) | |
513 self.traipseSuite.RemoveItem(self.debugConsole) | |
514 self.traipseSuite.AppendItem(self.debugConsole) | |
515 | |
516 def TraipseSuiteWarnCleanup(self, menuitem): | |
517 ### Allows for portable cleanup of the 'Attention' menu. | |
518 ### component.get('frame').TraipseSuiteWarnCleanup('item') ### Portable | |
519 self.mainMenu.Remove(3) | |
520 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite") | |
521 if menuitem == 'debug': | |
522 self.traipseSuite.RemoveItem(self.debugConsole) | |
523 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'clear.gif')) | |
524 self.traipseSuite.AppendItem(self.debugConsole) | |
525 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
526 def build_body(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
527 """ Create the ViewNotebook and logger. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
528 splitter = wx.SplitterWindow(self, -1, style=wx.NO_3D | wx.SP_3D) |
195 | 529 nb = wx.Notebook(splitter, -1) |
128 | 530 self.conns = Connections(nb, self) |
531 self.groups = Groups(nb, self) | |
195 | 532 self.msgWindow = HTMLMessageWindow(nb) |
128 | 533 nb.AddPage(self.conns, "Players") |
534 nb.AddPage(self.groups, 'Rooms') | |
195 | 535 nb.AddPage(self.msgWindow, "Messages") |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
536 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
537 log = wx.TextCtrl(splitter, -1, style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL) |
195 | 538 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
|
539 splitter.SplitHorizontally(nb, log, 400) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
540 splitter.SetMinimumPaneSize(40) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
541 self.nb = nb |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
542 self.log = log |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
543 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
544 def build_status(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
545 """ Create status bar and set defaults. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
546 sb = wx.StatusBar(self, -1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
547 sb.SetFieldsCount(5) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
548 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
|
549 sb.SetStatusText("Sent: 0", 1) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
550 sb.SetStatusText("Recv: 0", 2) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
551 sb.SetStatusText("Stopped", 3) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
552 sb.SetStatusText("Unregistered", 4) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
553 self.SetStatusBar(sb) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
554 self.sb = sb |
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 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
|
557 """ Display an error. |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
558 mesg (str) -- error message to display |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
559 title (str) -- title of window |
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 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
|
562 dlg.ShowModal() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
563 dlg.Destroy() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
564 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
565 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
566 # Event handler for out logging event |
151 | 567 def LogToggle(self, event): |
568 self.do_log = event.IsChecked() | |
569 | |
231 | 570 def ClearLog(self, event): |
571 self.log.SetValue('') | |
572 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
573 def OnLogMessage( self, event ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
574 self.Log( event.message ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
575 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
576 # Event handler for out logging event |
122 | 577 def OnFunctionMessage(self, event): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
578 self.callbacks[event.func]( event.message ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
579 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
580 ### Server Callbacks ##################################### |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
581 def Log(self, log): |
151 | 582 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
|
583 |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
584 def OnConnect(self, player): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
585 self.conns.add(player) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
586 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
587 def OnDisconnect(self, id): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
588 self.conns.remove(id) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
589 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
590 def OnUpdatePlayer(self, data): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
591 self.conns.update(data) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
592 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
593 def OnDataSent(self, bytes): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
594 self.total_messages_sent += 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
595 self.total_data_sent += bytes |
195 | 596 self.sb.SetStatusText("Sent: %s (%d)" % (format_bytes(self.total_data_sent), |
597 self.total_messages_sent), 1) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
598 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
599 def OnDataRecv(self, bytes): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
600 self.total_messages_received += 1 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
601 self.total_data_received += bytes |
195 | 602 self.sb.SetStatusText("Recv: %s (%d)" % (format_bytes(self.total_data_received), |
603 self.total_messages_received), 2) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
604 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
605 def OnCreateGroup( self, data ): |
128 | 606 (room, room_id, player, pwd) = data |
607 self.groups.AddGroup(data) | |
139 | 608 self.conns.roomList[room_id] = room |
128 | 609 data = (room, room_id, player) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
610 self.conns.updateRoom(data) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
611 |
119 | 612 def OnDeleteGroup(self, data): |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
613 (room_id, player) = data |
128 | 614 self.groups.DeleteGroup(room_id) |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
615 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
|
616 |
119 | 617 def OnJoinGroup(self, data): |
128 | 618 self.conns.updateRoom(data) |
619 | |
620 def OnUpdateGroup(self, data): | |
224 | 621 (room, room_id, players) = data |
128 | 622 self.groups.UpdateGroup(data) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
623 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
624 def OnSetRole( self, data ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
625 (id, role) = data |
128 | 626 self.conns.setPlayerRole(id, role) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
627 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
628 ### Misc. ################################################ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
629 def OnStart(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
630 """ Start server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
631 if self.STATUS == SERVER_STOPPED: |
195 | 632 ## Set name and admin password as empty |
633 self.serverName = '' | |
634 self.bootPwd = '' | |
635 # 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
|
636 try: |
90 | 637 validate.config_file( "server_ini.xml", "default_server_ini.xml" ) |
151 | 638 configDoc = parse(dir_struct["user"] + 'server_ini.xml').getroot() |
195 | 639 self.serverName = configDoc.get("name") |
640 if configDoc.get("admin"): self.bootPwd = configDoc.get("admin") | |
641 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
|
642 except: pass |
96 | 643 if self.serverName == '': |
644 self.serverName = 'Server Name' | |
195 | 645 serverNameEntry = wx.TextEntryDialog(self, |
646 "Please Enter The Server Name You Wish To Use:", | |
647 "Server's Name", | |
648 self.serverName, wx.OK|wx.CANCEL|wx.CENTRE) | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
649 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
|
650 if self.bootPwd == '': |
96 | 651 serverPasswordEntry = wx.TextEntryDialog(self, |
195 | 652 "Please Enter The Server Admin Password:", |
653 "Server's Password", | |
654 self.bootPwd, wx.OK|wx.CANCEL|wx.CENTRE) | |
56
c7f04d3c76f5
Major update to Server GUI. Basically makes it functional.
sirebral
parents:
27
diff
changeset
|
655 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
|
656 if len(self.serverName): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
657 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
658 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
|
659 self.server.start() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
660 self.STATUS = SERVER_RUNNING |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
661 self.sb.SetStatusText("Running", 3) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
662 self.SetTitle(__appname__ + "- (running) - (unregistered)") |
195 | 663 self.mainMenu.Enable(1, False) |
664 self.mainMenu.Enable(2, True) | |
665 self.mainMenu.Enable(4, True) | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
666 wx.EndBusyCursor() |
27
a571772a45c7
Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents:
9
diff
changeset
|
667 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
|
668 |
228 | 669 def OnStop(self, event=None): |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
670 """ Stop server. """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
671 if self.STATUS == SERVER_RUNNING: |
228 | 672 self.OnUnregister(event) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
673 self.server.stop() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
674 self.STATUS = SERVER_STOPPED |
228 | 675 if event != 'Quit': |
676 self.sb.SetStatusText("Stopped", 3) | |
677 self.SetTitle(__appname__ + "- (stopped) - (unregistered)") | |
678 self.mainMenu.Enable(1, True) | |
679 self.mainMenu.Enable(2, False) | |
680 self.mainMenu.Enable(4, False) | |
681 self.mainMenu.Enable(5, False) | |
682 self.conns.DeleteAllItems() | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
683 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
684 def OnRegister(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
685 """ 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
|
686 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
|
687 registered with configured metas |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
688 """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
689 if len( self.serverName ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
690 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
691 self.server.server.register(self.serverName) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
692 self.sb.SetStatusText( ("%s" % (self.serverName)), 4 ) |
195 | 693 self.mainMenu.Enable(4, False) |
694 self.mainMenu.Enable(5, True) | |
151 | 695 #self.mainMenu.Enable( 2, False ) |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
696 self.SetTitle(__appname__ + "- (running) - (registered)") |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
697 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
698 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
699 def OnUnregister(self, event = None): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
700 """ 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
|
701 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
|
702 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
|
703 from all metas |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
704 """ |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
705 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
706 self.server.server.unregister() |
228 | 707 if event != 'Quit': |
708 self.sb.SetStatusText("Unregistered", 4) | |
709 self.mainMenu.Enable(5, False) | |
710 self.mainMenu.Enable(4, True) | |
711 #self.mainMenu.Enable( 2, True ) | |
712 self.SetTitle(__appname__ + "- (running) - (unregistered)") | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
713 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
714 |
98 | 715 def ModifyBanList(self, event): |
716 if self.BanListDialog.IsShown() == True: self.BanListDialog.Hide() | |
717 else: self.BanListDialog.Show() | |
718 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
719 def PingPlayers( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
720 "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
|
721 wx.BeginBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
722 wx.Yield() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
723 wx.EndBusyCursor() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
724 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
725 def StopPingPlayers( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
726 "Stop pinging connected players." |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
727 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
728 def ConfigPingInterval( self, event = None ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
729 "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
|
730 |
128 | 731 def OnExit(self, event): |
732 dlg = wx.MessageDialog(self, "Exit the Server?", "OpenRPG- Server", wx.YES_NO) | |
733 if dlg.ShowModal() == wx.ID_YES: | |
734 dlg.Destroy() | |
735 self.ExitConfirmed() | |
736 | |
737 def ExitConfirmed(self, event=None): | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
738 """ Quit the program. """ |
228 | 739 self.OnStop('Quit') |
151 | 740 self.BanListDialog.Destroy() |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
741 wx.CallAfter(self.Destroy) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
742 |
98 | 743 class BanListDialog(wx.Frame): |
744 def __init__(self, parent): | |
745 super(BanListDialog, self).__init__(parent, -1, "Ban List") | |
746 icon = wx.Icon(dir_struct["icon"]+'noplayer.gif', wx.BITMAP_TYPE_GIF) | |
747 self.SetIcon( icon ) | |
748 self.BanList = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_SINGLE_SEL|wx.LC_REPORT|wx.LC_HRULES) | |
749 sizer = wx.BoxSizer(wx.VERTICAL) | |
750 sizer.Add(self.BanList, 1, wx.EXPAND) | |
751 self.BuildList() | |
752 self.SetSizer(sizer) | |
753 self.SetAutoLayout(True) | |
754 self.SetSize((300, 175)) | |
755 self.Bind(wx.EVT_CLOSE, self.Min) | |
756 self.Min(None) | |
757 | |
758 # Ban List Dialog Pop Up Menu, more can be added | |
759 self.menu = wx.Menu() | |
760 self.menu.SetTitle( "Modify Ban List" ) | |
151 | 761 self.menu.Append( 1, "Un-Ban Player" ) |
98 | 762 |
763 # Even Association | |
764 self.BanList.Bind(wx.EVT_RIGHT_DOWN, self.BanPopupMenu) | |
151 | 765 self.Bind(wx.EVT_MENU, self.BanPopupMenuItem, id=1) |
98 | 766 |
767 # When we right click, cause our popup menu to appear | |
768 def BanPopupMenu( self, event ): | |
769 pos = wx.Point( event.GetX(), event.GetY() ) | |
770 (item, flag) = self.BanList.HitTest( pos ) | |
771 if item > -1: | |
772 self.selectedItem = item | |
773 self.PopupMenu( self.menu, pos ) | |
774 | |
775 def BanPopupMenuItem( self, event): | |
776 menuItem = event.GetId() | |
777 player = str(self.BanList.GetItemData(self.selectedItem)) | |
778 playerIP = str(self.BanList.GetItem((int(player)), 1).GetText()) | |
151 | 779 if menuItem == 1: |
98 | 780 server.admin_unban(playerIP) |
781 self.BanList.DeleteItem(self.BanList.GetItemData(self.selectedItem)) | |
782 self.BanList.Refresh() | |
783 | |
784 def BuildList(self): | |
785 # Build Dialog Columns | |
786 self.BanList.ClearAll() | |
787 self.BanList.InsertColumn(0, "User Name") | |
788 self.BanList.InsertColumn(1, "IP") | |
789 | |
790 validate.config_file("ban_list.xml", "default_ban_list.xml" ) | |
151 | 791 configDom = parse(dir_struct["user"] + 'ban_list.xml').getroot() |
98 | 792 ban_dict = {} |
151 | 793 for element in configDom.findall('banned'): |
794 player = element.get('name').replace("&", "&").replace("<", "<").replace('"', """).replace(">", ">") | |
795 playerIP = element.get('ip') | |
98 | 796 ban_dict[player] = playerIP |
797 for key in ban_dict: | |
798 i = self.BanList.InsertImageStringItem( 0, key, 0 ) | |
799 self.BanList.SetStringItem(i, 1, ban_dict[key]) | |
800 self.BanList.RefreshItem(i) | |
801 self.AutoAdjust() | |
802 | |
803 def AutoAdjust(self): | |
804 self.BanList.SetColumnWidth(0, -1) | |
805 self.BanList.SetColumnWidth(1, -1) | |
806 self.BanList.Refresh() | |
807 | |
808 def Min(self, evt): | |
151 | 809 self.BuildList() |
98 | 810 self.Hide() |
811 ############### | |
812 | |
0
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
813 class ServerGUIApp(wx.App): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
814 def OnInit(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
815 # 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
|
816 wx.InitAllImageHandlers() |
96 | 817 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
|
818 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
|
819 2000, |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
820 None) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
821 self.splash.Show(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
822 wx.Yield() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
823 wx.CallAfter(self.AfterSplash) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
824 return True |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
825 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
826 def AfterSplash(self): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
827 self.splash.Close(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
828 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
|
829 frame.Show(True) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
830 frame.Raise() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
831 self.SetTopWindow(frame) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
832 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
833 class HTMLMessageWindow(wx.html.HtmlWindow): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
834 "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
|
835 # Init using the derived from class |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
836 def __init__( self, parent ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
837 wx.html.HtmlWindow.__init__( self, parent ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
838 def OnLinkClicked( self, ref ): |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
839 "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
|
840 href = ref.GetHref() |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
841 webbrowser.open( href ) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
842 |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
843 if __name__ == '__main__': |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
844 app = ServerGUIApp(0) |
4385a7d0efd1
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff
changeset
|
845 app.MainLoop() |