X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4a197e4c60e461b8068b0619692ea083e30b8b..25b3661bd4cb44304418b93c0dee1d0dfb99765c:/wxPython/demo/GridHugeTable.py diff --git a/wxPython/demo/GridHugeTable.py b/wxPython/demo/GridHugeTable.py index a2084fb6e3..cd5d2e258e 100644 --- a/wxPython/demo/GridHugeTable.py +++ b/wxPython/demo/GridHugeTable.py @@ -1,21 +1,32 @@ -from wxPython.wx import * -from wxPython.grid import * -#--------------------------------------------------------------------------- +import wx +import wx.grid as gridlib -class HugeTable(wxPyGridTableBase): +#--------------------------------------------------------------------------- - """ - This is all it takes to make a custom data table to plug into a - wxGrid. There are many more methods that can be overridden, but - the ones shown below are the required ones. This table simply - provides strings containing the row and column values. - """ +class HugeTable(gridlib.PyGridTableBase): def __init__(self, log): - wxPyGridTableBase.__init__(self) + gridlib.PyGridTableBase.__init__(self) self.log = log + self.odd=gridlib.GridCellAttr() + self.odd.SetBackgroundColour("sky blue") + self.even=gridlib.GridCellAttr() + self.even.SetBackgroundColour("sea green") + + def GetAttr(self, row, col, kind): + attr = [self.even, self.odd][row % 2] + attr.IncRef() + return attr + + + + # This is all it takes to make a custom data table to plug into a + # wxGrid. There are many more methods that can be overridden, but + # the ones shown below are the required ones. This table simply + # provides strings containing the row and column values. + def GetNumberRows(self): return 10000 @@ -36,9 +47,9 @@ class HugeTable(wxPyGridTableBase): -class HugeTableGrid(wxGrid): +class HugeTableGrid(gridlib.Grid): def __init__(self, parent, log): - wxGrid.__init__(self, parent, -1) + gridlib.Grid.__init__(self, parent, -1) table = HugeTable(log) @@ -47,21 +58,18 @@ class HugeTableGrid(wxGrid): # a reference to it and call it's Destroy method later. self.SetTable(table, True) - EVT_GRID_CELL_RIGHT_CLICK(self, self.OnRightDown) #added + self.Bind(gridlib.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightDown) - def OnRightDown(self, event): #added + def OnRightDown(self, event): print "hello" - print self.GetSelectedRows() #added - - - + print self.GetSelectedRows() #--------------------------------------------------------------------------- -class TestFrame(wxFrame): +class TestFrame(wx.Frame): def __init__(self, parent, log): - wxFrame.__init__(self, parent, -1, "Huge (virtual) Table Demo", size=(640,480)) + wx.Frame.__init__(self, parent, -1, "Huge (virtual) Table Demo", size=(640,480)) grid = HugeTableGrid(self, log) grid.SetReadOnly(5,5, True) @@ -70,7 +78,7 @@ class TestFrame(wxFrame): if __name__ == '__main__': import sys - app = wxPySimpleApp() + app = wx.PySimpleApp() frame = TestFrame(None, sys.stdout) frame.Show(True) app.MainLoop()