]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ScrolledWindow.py
default values for option and flag (TODO: preferences dialog)
[wxWidgets.git] / wxPython / demo / ScrolledWindow.py
index 411d73aee74686e5410e55c5aa4c1cf1a4185b0e..35087538d88afcf835ccb0c3a727b76a8e2d0a50 100644 (file)
@@ -1,11 +1,5 @@
-# 11/12/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# o Rudimentary overview doc added.
-#
 
 import  wx
-
 import  images
 
 BUFFERED = 1
@@ -26,11 +20,12 @@ class MyCanvas(wx.ScrolledWindow):
         self.SetBackgroundColour("WHITE")
         self.SetCursor(wx.StockCursor(wx.CURSOR_PENCIL))
         bmp = images.getTest2Bitmap()
-        mask = wx.MaskColour(bmp, wx.BLUE)
+        mask = wx.Mask(bmp, wx.BLUE)
         bmp.SetMask(mask)
         self.bmp = bmp
 
-        self.SetScrollbars(20, 20, self.maxWidth/20, self.maxHeight/20)
+        self.SetVirtualSize((self.maxWidth, self.maxHeight))
+        self.SetScrollRate(20,20)
 
         if BUFFERED:
             # Initialize the buffer bitmap.  No real DC is needed at this point.
@@ -59,7 +54,7 @@ class MyCanvas(wx.ScrolledWindow):
             # wx.PaintDC and then blit the bitmap to it when dc is
             # deleted.  Since we don't need to draw anything else
             # here that's all there is to it.
-            dc = wx.BufferedPaintDC(self, self.buffer)
+            dc = wx.BufferedPaintDC(self, self.buffer, wx.BUFFER_VIRTUAL_AREA)
         else:
             dc = wx.PaintDC(self)
             self.PrepareDC(dc)
@@ -71,19 +66,19 @@ class MyCanvas(wx.ScrolledWindow):
     def DoDrawing(self, dc, printing=False):
         dc.BeginDrawing()
         dc.SetPen(wx.Pen('RED'))
-        dc.DrawRectangle((5, 5), (50, 50))
+        dc.DrawRectangle(5, 5, 50, 50)
 
         dc.SetBrush(wx.LIGHT_GREY_BRUSH)
         dc.SetPen(wx.Pen('BLUE', 4))
-        dc.DrawRectangle((15, 15), (50, 50))
+        dc.DrawRectangle(15, 15, 50, 50)
 
         dc.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL))
         dc.SetTextForeground(wx.Colour(0xFF, 0x20, 0xFF))
         te = dc.GetTextExtent("Hello World")
-        dc.DrawText("Hello World", (60, 65))
+        dc.DrawText("Hello World", 60, 65)
 
         dc.SetPen(wx.Pen('VIOLET', 4))
-        dc.DrawLine((5, 65+te[1]), (60+te[0], 65+te[1]))
+        dc.DrawLine(5, 65+te[1], 60+te[0], 65+te[1])
 
         lst = [(100,110), (150,110), (150,160), (100,160)]
         dc.DrawLines(lst, -60)
@@ -92,13 +87,13 @@ class MyCanvas(wx.ScrolledWindow):
         dc.SetPen(wx.GREEN_PEN)
         dc.DrawSpline(lst+[(100,100)])
 
-        dc.DrawBitmap(self.bmp, (200, 20), True)
+        dc.DrawBitmap(self.bmp, 200, 20, True)
         dc.SetTextForeground(wx.Colour(0, 0xFF, 0x80))
-        dc.DrawText("a bitmap", (200, 85))
+        dc.DrawText("a bitmap", 200, 85)
 
 ##         dc.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL))
 ##         dc.SetTextForeground("BLACK")
-##         dc.DrawText("TEST this STRING", (10, 200))
+##         dc.DrawText("TEST this STRING", 10, 200)
 ##         print dc.GetFullTextExtent("TEST this STRING")
 
         font = wx.Font(20, wx.SWISS, wx.NORMAL, wx.NORMAL)
@@ -106,15 +101,15 @@ class MyCanvas(wx.ScrolledWindow):
         dc.SetTextForeground(wx.BLACK)
 
         for a in range(0, 360, 45):
-            dc.DrawRotatedText("Rotated text...", (300, 300), a)
+            dc.DrawRotatedText("Rotated text...", 300, 300, a)
 
         dc.SetPen(wx.TRANSPARENT_PEN)
         dc.SetBrush(wx.BLUE_BRUSH)
-        dc.DrawRectangle((50,500),(50,50))
-        dc.DrawRectangle((100,500),(50,50))
+        dc.DrawRectangle(50,500, 50,50)
+        dc.DrawRectangle(100,500, 50,50)
 
         dc.SetPen(wx.Pen('RED'))
-        dc.DrawEllipticArc((200, 500), (50, 75), 0, 90)
+        dc.DrawEllipticArc(200,500, 50,75, 0, 90)
 
         if not printing:
             # This has troubles when used on a print preview in wxGTK,
@@ -129,19 +124,23 @@ class MyCanvas(wx.ScrolledWindow):
                     pen.SetDashes([1,2])
                     pen.SetColour("RED")
                 dc.SetPen(pen)
-                dc.DrawLine((300, y), (400, y))
+                dc.DrawLine(300,y, 400,y)
                 y = y + 10
 
         dc.SetBrush(wx.TRANSPARENT_BRUSH)
         dc.SetPen(wx.Pen(wx.Colour(0xFF, 0x20, 0xFF), 1, wx.SOLID))
-        dc.DrawRectangle((450, 50), (100, 100))
+        dc.DrawRectangle(450,50,  100,100)
         old_pen = dc.GetPen()
         new_pen = wx.Pen("BLACK", 5)
         dc.SetPen(new_pen)
-        dc.DrawRectangle((470, 70), (60, 60))
+        dc.DrawRectangle(470,70,  60,60)
         dc.SetPen(old_pen)
-        dc.DrawRectangle((490, 90), (20, 20))
+        dc.DrawRectangle(490,90, 20,20)
 
+        dc.GradientFillLinear((20, 260, 50, 50),
+                              "red", "blue")
+        dc.GradientFillConcentric((20, 325, 50, 50),
+                                  "red", "blue", (25,25))
         self.DrawSavedLines(dc)
         dc.EndDrawing()
 
@@ -184,9 +183,9 @@ class MyCanvas(wx.ScrolledWindow):
 
             dc.BeginDrawing()
             dc.SetPen(wx.Pen('MEDIUM FOREST GREEN', 4))
-            coords = [(self.x, self.y) , self.ConvertEventCoords(event)]
+            coords = (self.x, self.y) + self.ConvertEventCoords(event)
             self.curLine.append(coords)
-            apply(dc.DrawLine, coords)
+            dc.DrawLine(*coords)
             self.SetXY(event)
             dc.EndDrawing()
 
@@ -244,5 +243,5 @@ thumb sizes and ranges according to the area in view.
 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:])