1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
import unittest
from unittests import wtc
import wx
#---------------------------------------------------------------------------
class scrolwin_Tests(wtc.WidgetTestCase):
def commonBits(self, w):
vsize = 750
rate = 20
w.SetSize(self.frame.GetClientSize())
w.EnableScrolling(True, True)
w.ShowScrollbars(wx.SHOW_SB_ALWAYS, wx.SHOW_SB_ALWAYS)
w.SetVirtualSize((vsize, vsize))
w.SetScrollRate(rate, rate)
w.Scroll(3,3) # in scroll units
self.myYield()
self.assertEqual(w.GetVirtualSize(), (vsize,vsize))
self.assertEqual(w.GetScrollPixelsPerUnit(), (rate,rate))
self.assertEqual(w.GetViewStart(), (3,3)) # scroll units
self.assertEqual(w.CalcScrolledPosition(0,0), (-3*rate,-3*rate)) # pixels
self.assertEqual(w.CalcUnscrolledPosition(0,0),(3*rate,3*rate)) # pixels
# also test the Point overloads
self.assertEqual(w.CalcScrolledPosition( (0,0) ), (-3*rate,-3*rate)) # pixels
self.assertEqual(w.CalcUnscrolledPosition( (0,0) ),(3*rate,3*rate)) # pixels
vs = w.GetVirtualSize()
assert isinstance(vs, wx.Size)
def test_scrolwinCtor(self):
w = wx.ScrolledWindow(self.frame)
self.commonBits(w)
def test_scrolwinDefaultCtor(self):
w = wx.ScrolledWindow()
w.Create(self.frame)
self.commonBits(w)
def test_scrolcvsCtor(self):
w = wx.ScrolledCanvas(self.frame)
self.commonBits(w)
def test_scrolcvsDefaultCtor(self):
w = wx.ScrolledCanvas()
w.Create(self.frame)
self.commonBits(w)
def test_scrolwinOnDraw(self):
class MyScrolledWin(wx.ScrolledWindow):
def __init__(self, *args, **kw):
wx.ScrolledWindow.__init__(self, *args, **kw)
self.flag = False
def OnDraw(self, dc):
self.flag = True
sz = dc.GetSize()
dc.SetPen(wx.Pen('blue', 3))
dc.DrawLine(0, 0, sz.width, sz.height)
w = MyScrolledWin(self.frame)
self.commonBits(w)
w.Refresh()
self.myUpdate(w)
self.waitFor(100)
self.assertTrue(w.flag) # True if OnDraw was called
def test_SetFocusIgnoringChildren(self):
sw = wx.ScrolledWindow(self.frame)
sw.SetFocusIgnoringChildren()
#---------------------------------------------------------------------------
if __name__ == '__main__':
unittest.main()
|