]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/wxNotebook.py
compilation error fix (trailing comma in an enum)
[wxWidgets.git] / wxPython / demo / wxNotebook.py
CommitLineData
cf694132
RD
1
2from wxPython.wx import *
f0261a72 3
cf694132 4import ColorPanel
f6bcfd97 5import GridSimple
f0261a72
RD
6import wxListCtrl
7import wxScrolledWindow
cf694132 8
dfef5d51
RD
9import sys
10
cf694132
RD
11#----------------------------------------------------------------------------
12
eec92d76
RD
13class TestNB(wxNotebook):
14 def __init__(self, parent, id, log):
15 wxNotebook.__init__(self, parent, id, style=wxNB_BOTTOM)
16 self.log = log
cf694132 17
eec92d76
RD
18 win = ColorPanel.ColoredPanel(self, wxBLUE)
19 self.AddPage(win, "Blue")
20 st = wxStaticText(win, -1,
21 "You can put nearly any type of window here,\n"
22 "and the tabs can be on any side... (look below.)",
23 wxPoint(10, 10))
24 st.SetForegroundColour(wxWHITE)
25 st.SetBackgroundColour(wxBLUE)
cf694132 26
eec92d76
RD
27 win = ColorPanel.ColoredPanel(self, wxRED)
28 self.AddPage(win, "Red")
cf694132 29
eec92d76
RD
30 win = wxScrolledWindow.MyCanvas(self)
31 self.AddPage(win, 'ScrolledWindow')
cf694132 32
eec92d76
RD
33 win = ColorPanel.ColoredPanel(self, wxGREEN)
34 self.AddPage(win, "Green")
f0261a72 35
f6bcfd97 36 win = GridSimple.SimpleGrid(self, log)
eec92d76 37 self.AddPage(win, "Grid")
cf694132 38
eec92d76
RD
39 win = wxListCtrl.TestListCtrlPanel(self, log)
40 self.AddPage(win, 'List')
f0261a72 41
eec92d76
RD
42 win = ColorPanel.ColoredPanel(self, wxCYAN)
43 self.AddPage(win, "Cyan")
f0261a72 44
eec92d76
RD
45 win = ColorPanel.ColoredPanel(self, wxWHITE)
46 self.AddPage(win, "White")
cf694132 47
eec92d76
RD
48 win = ColorPanel.ColoredPanel(self, wxBLACK)
49 self.AddPage(win, "Black")
cf694132 50
eec92d76
RD
51 win = ColorPanel.ColoredPanel(self, wxNamedColour('MIDNIGHT BLUE'))
52 self.AddPage(win, "MIDNIGHT BLUE")
cf694132 53
eec92d76
RD
54 win = ColorPanel.ColoredPanel(self, wxNamedColour('INDIAN RED'))
55 self.AddPage(win, "INDIAN RED")
cf694132 56
eec92d76 57 EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged)
3bd1e033 58 EVT_NOTEBOOK_PAGE_CHANGING(self, self.GetId(), self.OnPageChanging)
cf694132 59
cf694132 60
eec92d76 61 def OnPageChanged(self, event):
3bd1e033
RD
62 old = event.GetOldSelection()
63 new = event.GetSelection()
64 self.log.write('OnPageChanged, old:%d, new:%d\n' % (old, new))
65 event.Skip()
66
67 def OnPageChanging(self, event):
68 old = event.GetOldSelection()
69 new = event.GetSelection()
70 self.log.write('OnPageChanging, old:%d, new:%d\n' % (old, new))
eec92d76 71 event.Skip()
cf694132
RD
72
73
eec92d76 74#----------------------------------------------------------------------------
cf694132 75
eec92d76
RD
76def runTest(frame, nb, log):
77 testWin = TestNB(nb, -1, log)
78 return testWin
79
80#----------------------------------------------------------------------------
cf694132
RD
81
82
83
84
85
86
87
88
89
90
91
92
93overview = """\
94This class represents a notebook control, which manages multiple windows with associated tabs.
95
96To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook.
97
cf694132 98"""
dfef5d51
RD
99
100
101if __name__ == "__main__":
102 app = wxPySimpleApp()
103 frame = wxFrame(None, -1, "Test Notebook", size=(600, 400))
104 win = TestNB(frame, -1, sys.stdout)
105 frame.Show(true)
106 app.MainLoop()
107
108
109