All pastes #405425 Raw Edit

Mine

public python v1 · immutable
·published 2007-03-21 19:01 UTC
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.server = wx.CheckBox(panel, -1, 'Connect to Server')        if self.netplay=='true':            self.server.Enable()        else:            self.server.Disable()        #net_sizer.Add(wx.CheckBox(panel, -1, 'Splitscreen'))        self.serverip =wx.TextCtrl(panel, -1, self.ip, size=(200, -1))        net_sizer.Add(self.server)        net_sizer.Add(self.serverip)                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(',')        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()