]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/wxPIA_book/Chapter-05/gridModel.py
Added the sample code from wxPython In Action to the samples dir
[wxWidgets.git] / wxPython / samples / wxPIA_book / Chapter-05 / gridModel.py
diff --git a/wxPython/samples/wxPIA_book/Chapter-05/gridModel.py b/wxPython/samples/wxPIA_book/Chapter-05/gridModel.py
new file mode 100644 (file)
index 0000000..d8a990b
--- /dev/null
@@ -0,0 +1,54 @@
+import wx
+import wx.grid
+
+class LineupTable(wx.grid.PyGridTableBase):
+
+    data = (("CF", "Bob", "Dernier"), ("2B", "Ryne", "Sandberg"),
+            ("LF", "Gary", "Matthews"), ("1B", "Leon", "Durham"),
+            ("RF", "Keith", "Moreland"), ("3B", "Ron", "Cey"),
+            ("C", "Jody", "Davis"), ("SS", "Larry", "Bowa"),
+            ("P", "Rick", "Sutcliffe"))
+
+    colLabels = ("Last", "First")
+
+    def __init__(self):
+        wx.grid.PyGridTableBase.__init__(self)
+
+    def GetNumberRows(self):
+        return len(self.data)
+
+    def GetNumberCols(self):
+        return len(self.data[0]) - 1
+
+    def GetColLabelValue(self, col):
+        return self.colLabels[col]
+
+    def GetRowLabelValue(self, row):
+        return self.data[row][0]
+
+    def IsEmptyCell(self, row, col):
+        return False
+
+    def GetValue(self, row, col):
+        return self.data[row][col + 1]
+
+    def SetValue(self, row, col, value):
+        pass
+
+class SimpleGrid(wx.grid.Grid):
+    def __init__(self, parent):
+        wx.grid.Grid.__init__(self, parent, -1)
+        self.SetTable(LineupTable())
+
+class TestFrame(wx.Frame):
+    def __init__(self, parent):
+        wx.Frame.__init__(self, parent, -1, "A Grid",
+                size=(275, 275))
+        grid = SimpleGrid(self)
+
+if __name__ == '__main__':
+    app = wx.PySimpleApp()
+    frame = TestFrame(None)
+    frame.Show(True)
+    app.MainLoop()
+