import wx #--------------------------------------------------------------------------- buttonDefs = { 814 : ('GridSimple', ' Simple wx.Grid, catching all events '), 815 : ('GridStdEdRend', ' wx.Grid showing Editors and Renderers '), 818 : ('GridHugeTable', ' A wx.Grid with a HUGE table (100 MILLION cells!) '), 817 : ('GridCustTable', ' wx.Grid using a custom Table, with non-string data '), 819 : ('GridEnterHandler',' Remapping keys to behave differently '), 820 : ('GridCustEditor', ' Shows how to create a custom Cell Editor '), 821 : ('GridDragable', ' A wx.Grid with dragable rows and columns '), 822 : ('GridDragAndDrop', ' Shows how to make a grid a drop target for files'), } class ButtonPanel(wx.Panel): def __init__(self, parent, log): wx.Panel.__init__(self, parent, -1) self.log = log box = wx.BoxSizer(wx.VERTICAL) box.Add((20, 20)) keys = buttonDefs.keys() keys.sort() for k in keys: text = buttonDefs[k][1] btn = wx.Button(self, k, text) box.Add(btn, 0, wx.ALIGN_CENTER|wx.ALL, 10) self.Bind(wx.EVT_BUTTON, self.OnButton, btn) self.SetAutoLayout(True) self.SetSizer(box) def OnButton(self, evt): modName = buttonDefs[evt.GetId()][0] module = __import__(modName) frame = module.TestFrame(None, self.log) frame.Show(True) #--------------------------------------------------------------------------- def runTest(frame, nb, log): win = ButtonPanel(nb, log) return win #--------------------------------------------------------------------------- overview = """\
You can look at the sources for these samples to learn a lot about how the new classes work.
""" if __name__ == '__main__': import sys,os import run run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])