]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/DragScroller.py
don't leave gaps around hidden columns/rows in wxFlexGridSizer (closes bug 1659872...
[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])])