Can't figure out wx.SplitterWindow

David Brown david at cypherspace.info
Sat Sep 23 19:01:08 PDT 2006


Hello! I'm working on a simple snippet manager, and I need to a 
horizontal splitter window with a panel in each side. I've been trying 
various methods and examples for a few hours, but nothing has worked! 
Could someone please show me how to add a horizontal splitter window to 
my VBox with two panels? Here is my code:

# START GNOMEcode SCRIPT
import sys
import wx

class gcMainWindow(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, 
wx.Size(640, 480))

        self.setupBitmaps()

        vbox = wx.BoxSizer(wx.VERTICAL)
        toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | 
wx.NO_BORDER)
        toolbar.AddSimpleTool(0,  self.new_bmp,    'New',    '')
        toolbar.AddSimpleTool(1,  self.save_bmp,   'Save',   '')
        toolbar.AddSimpleTool(2,  self.delete_bmp, 'Delete', '')
        toolbar.AddSeparator()
        toolbar.AddSimpleTool(3,  self.undo_bmp,   'Undo',   '')
        toolbar.AddSimpleTool(4,  self.redo_bmp,   'Redo',   '')
        toolbar.AddSeparator()
        toolbar.AddSimpleTool(5,  self.cut_bmp,    'Cut',    '')
        toolbar.AddSimpleTool(6,  self.copy_bmp,   'Copy',   '')
        toolbar.AddSimpleTool(7,  self.paste_bmp,  'Paste',  '')
        toolbar.AddSeparator()
        toolbar.AddSimpleTool(8,  self.about_bmp,  'About',  '')
        toolbar.AddSimpleTool(9, self.quit_bmp,    'Quit',   '')
        toolbar.Realize()

        self.setupTBEvents(toolbar)

        vbox.Add(toolbar, 0, wx.EXPAND, 5)
        self.SetSizer(vbox)

    def setupBitmaps(self):
        tsize = (24, 24)
        self.new_bmp    =  wx.ArtProvider.GetBitmap(wx.ART_NEW, 
wx.ART_TOOLBAR, tsize)
        self.save_bmp   =  wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, 
wx.ART_TOOLBAR, tsize)
        self.delete_bmp =  wx.ArtProvider.GetBitmap(wx.ART_DELETE, 
wx.ART_TOOLBAR, tsize)
        self.cut_bmp    =  wx.ArtProvider.GetBitmap(wx.ART_CUT, 
wx.ART_TOOLBAR, tsize)
        self.copy_bmp   =  wx.ArtProvider.GetBitmap(wx.ART_COPY, 
wx.ART_TOOLBAR, tsize)
        self.paste_bmp  =  wx.ArtProvider.GetBitmap(wx.ART_PASTE, 
wx.ART_TOOLBAR, tsize)
        self.undo_bmp   =  wx.ArtProvider.GetBitmap(wx.ART_UNDO, 
wx.ART_TOOLBAR, tsize)
        self.redo_bmp   =  wx.ArtProvider.GetBitmap(wx.ART_REDO, 
wx.ART_TOOLBAR, tsize)
        self.about_bmp  =  wx.ArtProvider.GetBitmap(wx.ART_INFORMATION, 
wx.ART_TOOLBAR, tsize)
        self.quit_bmp   =  wx.ArtProvider.GetBitmap(wx.ART_QUIT, 
wx.ART_TOOLBAR, tsize)

    def setupTBEvents(self, tb):
        for i in range(10):
            wx.EVT_TOOL(tb, i, self.ToolbarEvent)

    def ToolbarEvent(self, event):
        if event.GetId() == 0:
            print "New"
        elif event.GetId() == 1:
            print "Save"
        elif event.GetId() == 2:
            print "Delete"
        elif event.GetId() == 3:
            print "Undo"
        elif event.GetId() == 4:
            print "Redo"
        elif event.GetId() == 5:
            print "Cut"
        elif event.GetId() == 6:
            print "Copy"
        elif event.GetId() == 7:
            print "Paste"
        elif event.GetId() == 8:
            print "About"
        elif event.GetId() == 9:
            sys.exit()

class GNOMEcode(wx.App):
    def OnInit(self):
        frame = gcMainWindow(None, -1, 'GNOMEcode')
        frame.SetIcon(wx.Icon('icon.png', wx.BITMAP_TYPE_PNG))
        frame.Show(True)
        return True

app = GNOMEcode(0)
app.MainLoop()
#END GNOMEcode SCRIPT

Thank you in advance!

-David




More information about the wxpython-users mailing list