rendered paste body#!/usr/bin/pythonimport wximport ConfigParserimport os#-c"MY_COMMAND"class MainFrame(wx.Frame): def __init__(self, parent, id, title): self.readcfg() wx.Frame.__init__(self, parent, id, title, (-1, -1), wx.Size(350, 200)) panel = wx.Panel(self, -1) sizer = wx.BoxSizer(wx.VERTICAL) # Mods mod = wx.StaticBox(panel, -1, 'Select a mod') mod_sizer = wx.StaticBoxSizer(mod) self.selectmod = wx.ComboBox(panel, -1, choices=self.mods, style=wx.CB_READONLY) mod_sizer.Add(self.selectmod, 1) #Buttons buttons = wx.StaticBox(panel, -1, '') button_sizer = wx.StaticBoxSizer(buttons,) button_sizer.Add(wx.Button(panel, 1, 'Quit'),1, wx.ALIGN_BOTTOM) button_sizer.Add(wx.Button(panel, 2, 'About'),1, wx.ALIGN_BOTTOM) button_sizer.Add(wx.Button(panel, 3, 'Launch!'),1, wx.ALIGN_BOTTOM) #Netplay net= wx.StaticBox(panel, -1, 'Multiplayer') net_sizer = wx.StaticBoxSizer(net, wx.VERTICAL) self.connect = wx.CheckBox(panel, -1, 'Connect to Server') #net_sizer.Add(wx.CheckBox(panel, -1, 'Splitscreen')) self.serverip =wx.TextCtrl(panel, -1, self.ip, size=(200, -1)) net_sizer.Add(self.serverip) net_sizer.Add(self.connect) sizer.Add(mod_sizer, 0, wx.EXPAND) sizer.Add(net_sizer, 1, wx.EXPAND) sizer.Add(button_sizer, 0, wx.EXPAND) panel.SetSizer(sizer) self.Centre() self.Bind(wx.EVT_BUTTON, self.quit, id=1) self.Bind(wx.EVT_BUTTON, self.about, id=2) self.Bind(wx.EVT_BUTTON, self.launch, id=3) self.Bind(wx.EVT_COMBOBOX, self.OnSelect) def readcfg(self): config = ConfigParser.ConfigParser() config.read('guslauncher.cfg') self.ip = config.get('MULTIPLAYER', 'ip') self.splitscreen= config.get('MULTIPLAYER', 'splitscreen') self.netplay=config.get('MULTIPLAYER', 'netplay') self.mods = config.get('MODS','mods').split(',') self.moddirs = config.get('MODS','moddirs').split(',') if self.netplay=='true': self.connect.Enable() else: self.connect.Disable() print self.ip, self.splitscreen, self.netplay, self.mods, self.moddirs def OnSelect(self, event): item = event.GetSelection() self.currentmod= self.moddirs[item] def quit(self, event): self.Close(True) def launch(self, launch): guscmd = 'gusanos -c ' if self.netplay=='true': guscmd += '\'connect '+str(self.serverip.GetValue())+'\'' os.system(guscmd) print guscmd def about(self, about): popup = wx.MessageDialog(self, 'Gusanos Launcher by mots\n' 'Version 0.1\n\n' 'visit #liero on irc.quakenet.org for more information', 'About', wx.OK | wx.ICON_INFORMATION) popup.ShowModal() popup.Destroy()class App(wx.App): def OnInit(self): frame = MainFrame(None, -1, 'Gusanos Launcher') frame.Show(True) return Trueapp = App(0)app.MainLoop()