]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/DragScroller.py
added wOnAssert(..., wxCStrData) overload to fix compilation of code using wxASSERT...
[wxWidgets.git] / wxPython / demo / DragScroller.py
1 import wx
2 import wx.lib.dragscroller
3
4 #-------------------------------------------------------------------------------
5
6 def runTest(frame, nb, log):
7 win = DragScrollerExample(nb, -1)
8 return win
9
10 class DragScrollerExample(wx.ScrolledWindow):
11 def __init__(self, parent, id=-1):
12 wx.ScrolledWindow.__init__(self, parent, id)
13 self.Bind(wx.EVT_PAINT, self.OnPaint)
14 self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)
15 self.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)
16
17 self.SetScrollbars(1, 1, 2000, 2000, 0, 0)
18
19 self.scroller = wx.lib.dragscroller.DragScroller(self)
20
21 def OnPaint(self, event):
22 dc = wx.PaintDC(self)
23 self.DoPrepareDC(dc)
24
25 pen = wx.Pen(wx.BLACK, 5)
26 dc.SetPen(pen)
27
28 for y in range(10):
29 for x in range(10):
30 dc.DrawCircle(x*400+20, y*400+20, 200)
31
32 dc.DrawText('Right click and drag in the direction you want to scroll.',
33 20, 20)
34 dc.DrawText('The distance from the start of the drag determines the speed.',
35 20, 50)
36
37 def OnRightDown(self, event):
38 self.scroller.Start(event.GetPosition())
39
40 def OnRightUp(self, event):
41 self.scroller.Stop()
42
43
44 #-------------------------------------------------------------------------------
45
46 overview = """<html><body>
47 <h2>DragScroller</h2>
48 <p>
49 A helper class that adds scrolling to a wx.ScrolledWindow in the direction
50 of the drag.
51 </body></html>
52 """
53
54 if __name__ == '__main__':
55 import sys,os
56 import run
57 run.main(['', os.path.basename(sys.argv[0])])