X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..f7204798e2b7db9e5ebd94c327ed0fef72b18862:/wxPython/demo/GridHugeTable.py?ds=sidebyside diff --git a/wxPython/demo/GridHugeTable.py b/wxPython/demo/GridHugeTable.py index 69e3aed48b..e0fe1e415f 100644 --- a/wxPython/demo/GridHugeTable.py +++ b/wxPython/demo/GridHugeTable.py @@ -1,9 +1,10 @@ -from wxPython.wx import * -from wxPython.grid import * + +import wx +import wx.grid as gridlib #--------------------------------------------------------------------------- -class HugeTable(wxPyGridTableBase): +class HugeTable(gridlib.PyGridTableBase): """ This is all it takes to make a custom data table to plug into a @@ -13,9 +14,19 @@ class HugeTable(wxPyGridTableBase): """ 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 + def GetNumberRows(self): return 10000 @@ -23,7 +34,7 @@ class HugeTable(wxPyGridTableBase): return 10000 def IsEmptyCell(self, row, col): - return false + return False def GetValue(self, row, col): return str( (row, col) ) @@ -36,35 +47,40 @@ 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) # The second parameter means that the grid is to take ownership of the # table and will destroy it when done. Otherwise you would need to keep # a reference to it and call it's Destroy method later. - self.SetTable(table, true) + self.SetTable(table, True) + self.Bind(gridlib.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightDown) + + def OnRightDown(self, event): + print "hello" + 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) #--------------------------------------------------------------------------- if __name__ == '__main__': import sys - app = wxPySimpleApp() + app = wx.PySimpleApp() frame = TestFrame(None, sys.stdout) - frame.Show(true) + frame.Show(True) app.MainLoop()