]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | from wxPython.wx import * | |
3 | ||
4 | import ColorPanel | |
5 | import GridSimple | |
6 | import wxListCtrl | |
7 | import wxScrolledWindow | |
8 | ||
9 | import sys | |
10 | ||
11 | #---------------------------------------------------------------------------- | |
12 | ||
13 | class TestNB(wxNotebook): | |
14 | def __init__(self, parent, id, log): | |
15 | wxNotebook.__init__(self, parent, id, style=wxNB_BOTTOM) | |
16 | self.log = log | |
17 | ||
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) | |
26 | ||
27 | win = ColorPanel.ColoredPanel(self, wxRED) | |
28 | self.AddPage(win, "Red") | |
29 | ||
30 | win = wxScrolledWindow.MyCanvas(self) | |
31 | self.AddPage(win, 'ScrolledWindow') | |
32 | ||
33 | win = ColorPanel.ColoredPanel(self, wxGREEN) | |
34 | self.AddPage(win, "Green") | |
35 | ||
36 | win = GridSimple.SimpleGrid(self, log) | |
37 | self.AddPage(win, "Grid") | |
38 | ||
39 | win = wxListCtrl.TestListCtrlPanel(self, log) | |
40 | self.AddPage(win, 'List') | |
41 | ||
42 | win = ColorPanel.ColoredPanel(self, wxCYAN) | |
43 | self.AddPage(win, "Cyan") | |
44 | ||
45 | win = ColorPanel.ColoredPanel(self, wxWHITE) | |
46 | self.AddPage(win, "White") | |
47 | ||
48 | win = ColorPanel.ColoredPanel(self, wxBLACK) | |
49 | self.AddPage(win, "Black") | |
50 | ||
51 | win = ColorPanel.ColoredPanel(self, wxNamedColour('MIDNIGHT BLUE')) | |
52 | self.AddPage(win, "MIDNIGHT BLUE") | |
53 | ||
54 | win = ColorPanel.ColoredPanel(self, wxNamedColour('INDIAN RED')) | |
55 | self.AddPage(win, "INDIAN RED") | |
56 | ||
57 | EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged) | |
58 | ||
59 | ||
60 | def OnPageChanged(self, event): | |
61 | self.log.write('OnPageChanged\n') | |
62 | event.Skip() | |
63 | ||
64 | ||
65 | #---------------------------------------------------------------------------- | |
66 | ||
67 | def runTest(frame, nb, log): | |
68 | testWin = TestNB(nb, -1, log) | |
69 | return testWin | |
70 | ||
71 | #---------------------------------------------------------------------------- | |
72 | ||
73 | ||
74 | ||
75 | ||
76 | ||
77 | ||
78 | ||
79 | ||
80 | ||
81 | ||
82 | ||
83 | ||
84 | overview = """\ | |
85 | This class represents a notebook control, which manages multiple windows with associated tabs. | |
86 | ||
87 | 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. | |
88 | ||
89 | """ | |
90 | ||
91 | ||
92 | if __name__ == "__main__": | |
93 | app = wxPySimpleApp() | |
94 | frame = wxFrame(None, -1, "Test Notebook", size=(600, 400)) | |
95 | win = TestNB(frame, -1, sys.stdout) | |
96 | frame.Show(true) | |
97 | app.MainLoop() | |
98 | ||
99 | ||
100 |