]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/GridHugeTable.py
Faster Deselect
[wxWidgets.git] / wxPython / demo / GridHugeTable.py
index 6c450ec5d7bbdf618e4adc6423d4993436eaa5e9..e0fe1e415f222e41f8d61663cfd60f6a9f7ae2e8 100644 (file)
@@ -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)
+        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()