X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95bfd958bda8955ac81277c78e5627c926154f39..7d36c6a8eb8b1a7d3f62087efa80d9075c5c5e5c:/wxPython/demo/Grid_MegaExample.py?ds=sidebyside diff --git a/wxPython/demo/Grid_MegaExample.py b/wxPython/demo/Grid_MegaExample.py index f6d6a503fd..0a7f0c590c 100644 --- a/wxPython/demo/Grid_MegaExample.py +++ b/wxPython/demo/Grid_MegaExample.py @@ -4,6 +4,8 @@ import wx.grid as Grid import images +#--------------------------------------------------------------------------- + class MegaTable(Grid.PyGridTableBase): """ A custom wx.Grid Table using user supplied data @@ -196,8 +198,8 @@ class MegaImageRenderer(Grid.PyGridCellRenderer): self.table = table self._choices = [images.getSmilesBitmap, images.getMondrianBitmap, - images.get_10s_Bitmap, - images.get_01c_Bitmap] + images.getWXPdemoBitmap, + ] self.colSize = None self.rowSize = None @@ -219,7 +221,6 @@ class MegaImageRenderer(Grid.PyGridCellRenderer): dc.SetPen(wx.Pen(wx.WHITE, 1, wx.SOLID)) dc.DrawRectangleRect(rect) - #dc.DrawRectangle((rect.x, rect.y), (rect.width, rect.height)) # copy the image but only to the size of the grid cell width, height = bmp.GetWidth(), bmp.GetHeight() @@ -230,9 +231,9 @@ class MegaImageRenderer(Grid.PyGridCellRenderer): if height > rect.height-2: height = rect.height-2 - dc.Blit((rect.x+1, rect.y+1), (width, height), + dc.Blit(rect.x+1, rect.y+1, width, height, image, - (0, 0), wx.COPY, True) + 0, 0, wx.COPY, True) class MegaFontRenderer(Grid.PyGridCellRenderer): @@ -265,8 +266,6 @@ class MegaFontRenderer(Grid.PyGridCellRenderer): dc.SetPen(wx.Pen(wx.WHITE, 1, wx.SOLID)) dc.DrawRectangleRect(rect) - #dc.DrawRectangle((rect.x, rect.y), (rect.width, rect.height)) - text = self.table.GetValue(row, col) dc.SetBackgroundMode(wx.SOLID) @@ -281,7 +280,7 @@ class MegaFontRenderer(Grid.PyGridCellRenderer): dc.SetTextForeground(self.color) dc.SetFont(self.font) - dc.DrawText(text, (rect.x+1, rect.y+1)) + dc.DrawText(text, rect.x+1, rect.y+1) # Okay, now for the advanced class :) # Let's add three dots "..." @@ -293,8 +292,8 @@ class MegaFontRenderer(Grid.PyGridCellRenderer): if width > rect.width-2: width, height = dc.GetTextExtent("...") x = rect.x+1 + rect.width-2 - width - dc.DrawRectangle((x, rect.y+1), (width+1, height)) - dc.DrawText("...", (x, rect.y+1)) + dc.DrawRectangle(x, rect.y+1, width+1, height) + dc.DrawText("...", x, rect.y+1) dc.DestroyClippingRegion() @@ -355,7 +354,7 @@ class MegaGrid(Grid.Grid): self.Bind(wx.EVT_MENU, append, id=appendID) self.Bind(wx.EVT_MENU, delete, id=deleteID) - self.PopupMenu(menu, (x, yo)) + self.PopupMenu(menu) menu.Destroy() return @@ -389,7 +388,7 @@ class MegaGrid(Grid.Grid): if len(cols) == 1: self.Bind(wx.EVT_MENU, sort, id=sortID) - self.PopupMenu(menu, (xo, 0)) + self.PopupMenu(menu) menu.Destroy() return @@ -447,10 +446,25 @@ class TestFrame(wx.Frame): #--------------------------------------------------------------------------- +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + b = wx.Button(self, -1, "Show the MegaGrid", (50,50)) + self.Bind(wx.EVT_BUTTON, self.OnButton, b) + + + def OnButton(self, evt): + win = TestFrame(self) + win.Show(True) + +#--------------------------------------------------------------------------- + + def runTest(frame, nb, log): - win = TestFrame(frame) - frame.otherWin = win - win.Show(True) + win = TestPanel(nb, log) + return win @@ -479,5 +493,5 @@ behavior and various hacks. if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])