]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ColourDB.py
WinCE patches from "Viktor Voroshylo" <viktor@voroshylo.com>
[wxWidgets.git] / wxPython / demo / ColourDB.py
index 1f0978818dc64aa955097c995758abc38006d794..e07a27bf27bc00b0ee63ad52ab7396e1bc77b822 100644 (file)
@@ -5,11 +5,6 @@ from wxPython.lib import colourdb
 import images
 
 
-# This loads a whole bunch of new color names and values
-# into wxTheColourDatabase
-
-colourdb.updateColourDB()
-
 #----------------------------------------------------------------------
 
 class TestWindow(wxScrolledWindow):
@@ -17,6 +12,7 @@ class TestWindow(wxScrolledWindow):
         wxScrolledWindow.__init__(self, parent, -1)
 
         self.clrList = colourdb.getColourList()
+        #self.clrList.sort()
         self.bg_bmp = images.getGridBGBitmap()
 
         EVT_PAINT(self, self.OnPaint)
@@ -27,7 +23,7 @@ class TestWindow(wxScrolledWindow):
         dc = wxClientDC(self)
         dc.SetFont(self.font)
 
-        w,h,d,e = dc.GetFullTextExtent("Wy") # a wide character and one that decends
+        w,h,d,e = dc.GetFullTextExtent("Wy") # a wide character and one that descends
         self.textHeight = h + d
         self.lineHeight = self.textHeight + 5
         self.cellWidth = w
@@ -51,7 +47,7 @@ class TestWindow(wxScrolledWindow):
         while x < sz.width:
             y = -dy
             while y < sz.height:
-                dc.DrawBitmap(self.bg_bmp, x, y)
+                dc.DrawBitmap(self.bg_bmp, (x, y))
                 y = y + h
             x = x + w
 
@@ -60,6 +56,8 @@ class TestWindow(wxScrolledWindow):
         dc = evt.GetDC()
         if not dc:
             dc = wxClientDC(self)
+            rect = self.GetUpdateRegion().GetBox()
+            dc.SetClippingRegion(rect.x, rect.y, rect.width, rect.height)
         self.TileBackground(dc)
 
 
@@ -86,29 +84,53 @@ class TestWindow(wxScrolledWindow):
             stop = pixStop / self.lineHeight
         else:
             start = 0
-            stop = len(numColours)
+            stop = numColours
 
         for line in range(max(0,start), min(stop,numColours)):
             clr = colours[line]
             y = (line+1) * self.lineHeight + 2
-            dc.DrawText(clr, self.cellWidth, y)
+            dc.DrawText(clr, (self.cellWidth, y))
 
             brush = wxBrush(clr, wxSOLID)
             dc.SetBrush(brush)
-            dc.DrawRectangle(12 * self.cellWidth, y, 6 * self.cellWidth, self.textHeight)
+            dc.DrawRectangle((12 * self.cellWidth, y),
+                             (6 * self.cellWidth, self.textHeight))
 
         dc.EndDrawing()
 
 
+# On wxGTK there needs to be a panel under wxScrolledWindows if they are
+# going to be in a wxNotebook...
+class TestPanel(wxPanel):
+    def __init__(self, parent):
+        wxPanel.__init__(self, parent, -1)
+        self.win = TestWindow(self)
+        EVT_SIZE(self, self.OnSize)
+
+    def OnSize(self, evt):
+        self.win.SetSize(evt.GetSize())
+
+
 
 #----------------------------------------------------------------------
 
 
 def runTest(frame, nb, log):
-    win = TestWindow(nb)
+    # This loads a whole bunch of new color names and values
+    # into wxTheColourDatabase
+    colourdb.updateColourDB()
+
+    win = TestPanel(nb)
     return win
 
 #----------------------------------------------------------------------
 
 overview = """
 """
+
+
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])
+