2004-09-18 23:51:14 +00:00
|
|
|
|
|
|
|
import wx
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
pageTexts = [ "Yet",
|
|
|
|
"Another",
|
|
|
|
"Way",
|
|
|
|
"To",
|
|
|
|
"Select",
|
|
|
|
"Pages"
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
class TestCB(wx.Choicebook):
|
|
|
|
def __init__(self, parent, id, log):
|
2006-02-01 23:46:43 +00:00
|
|
|
wx.Choicebook.__init__(self, parent, id)
|
2004-09-18 23:51:14 +00:00
|
|
|
self.log = log
|
|
|
|
|
|
|
|
# Now make a bunch of panels for the choice book
|
|
|
|
count = 1
|
|
|
|
for txt in pageTexts:
|
|
|
|
win = wx.Panel(self)
|
|
|
|
if count == 1:
|
|
|
|
st = wx.StaticText(win, -1,
|
|
|
|
"wx.Choicebook is yet another way to switch between 'page' windows",
|
|
|
|
(10, 10))
|
|
|
|
else:
|
|
|
|
st = wx.StaticText(win, -1, "Page: %d" % count, (10,10))
|
|
|
|
count += 1
|
|
|
|
|
|
|
|
self.AddPage(win, txt)
|
|
|
|
|
|
|
|
self.Bind(wx.EVT_CHOICEBOOK_PAGE_CHANGED, self.OnPageChanged)
|
|
|
|
self.Bind(wx.EVT_CHOICEBOOK_PAGE_CHANGING, self.OnPageChanging)
|
|
|
|
|
|
|
|
|
|
|
|
def OnPageChanged(self, event):
|
|
|
|
old = event.GetOldSelection()
|
|
|
|
new = event.GetSelection()
|
|
|
|
sel = self.GetSelection()
|
|
|
|
self.log.write('OnPageChanged, old:%d, new:%d, sel:%d\n' % (old, new, sel))
|
|
|
|
event.Skip()
|
|
|
|
|
|
|
|
def OnPageChanging(self, event):
|
|
|
|
old = event.GetOldSelection()
|
|
|
|
new = event.GetSelection()
|
|
|
|
sel = self.GetSelection()
|
|
|
|
self.log.write('OnPageChanging, old:%d, new:%d, sel:%d\n' % (old, new, sel))
|
|
|
|
event.Skip()
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
def runTest(frame, nb, log):
|
|
|
|
testWin = TestCB(nb, -1, log)
|
|
|
|
return testWin
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
overview = """\
|
|
|
|
<html><body>
|
|
|
|
<h2>wx.Choicebook</h2>
|
|
|
|
<p>
|
|
|
|
|
|
|
|
This class is a control similar to a notebook control, but uses a
|
|
|
|
wx.Choice to manage the selection of the pages.
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys,os
|
|
|
|
import run
|
|
|
|
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
|
|
|
|
|
|
|
|
|
|
|
|
|