]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/DragScroller.py
corrected exit/about menu command ids in the code after replacing them with the stock...
[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])])