]>
Commit | Line | Data |
---|---|---|
cf694132 RD |
1 | |
2 | from wxPython.wx import * | |
f0261a72 | 3 | |
cf694132 | 4 | import ColorPanel |
f6bcfd97 | 5 | import GridSimple |
f0261a72 RD |
6 | import wxListCtrl |
7 | import wxScrolledWindow | |
cf694132 | 8 | |
dfef5d51 RD |
9 | import sys |
10 | ||
cf694132 RD |
11 | #---------------------------------------------------------------------------- |
12 | ||
eec92d76 RD |
13 | class 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 |
76 | def 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 | ||
93 | overview = """\ | |
94 | This class represents a notebook control, which manages multiple windows with associated tabs. | |
95 | ||
96 | To 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 | ||
101 | if __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 |