]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxNotebook.py
patch from Dimitri fixing a few memory leaks and unTABbing the sources
[wxWidgets.git] / wxPython / demo / wxNotebook.py
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