9 class callbackCollector:
12 def __call__(self, pageName):
13 self.list.append(pageName)
19 createCallback = callbackCollector()
20 raiseCallback = callbackCollector()
21 lowerCallback = callbackCollector()
23 def checkCallbacks(clear = 0):
24 rtn = createCallback.get(), raiseCallback.get(), lowerCallback.get()
28 def _populatePage(pageName):
29 w = Test.currentWidget()
30 page = w.page(pageName)
31 text = Tkinter.Text(page)
33 return w.pagenames()[w.index(pageName)]
35 def _getTopPageName():
36 w = Test.currentWidget()
39 kw_1 = {'tabpos' : None}
41 (Test.num_options, (), 7),
42 ('createcommand', createCallback),
43 ('raisecommand', raiseCallback),
44 ('lowercommand', lowerCallback),
46 (c.index, Pmw.END, 'ValueError: NoteBook has no pages'),
47 (c.index, Pmw.SELECT, 'ValueError: NoteBook has no pages'),
48 (c.setnaturalsize, ()),
49 (c.getcurselection, ()),
50 (c.insert, ('Temp', 0), {'page_pyclass' : Tkinter.Canvas}, Tkinter.Canvas),
51 (checkCallbacks, (), (['Temp'], ['Temp'], [])),
52 (c.getcurselection, (), 'Temp'),
53 (c.setnaturalsize, ()),
55 (checkCallbacks, (), ([], [], [])),
56 (c.getcurselection, ()),
57 (c.insert, ('Temp', Pmw.END), Tkinter.Frame),
58 (checkCallbacks, (), (['Temp'], ['Temp'], [])),
60 (c.add, 'Start', Tkinter.Frame),
61 ('Start_background', 'green'),
62 (c.insert, ('Final', Pmw.END), {'page_background' : 'blue'}, Tkinter.Frame),
63 (c.insert, ('Middle', 'Final'), Tkinter.Frame),
64 (c.index, Pmw.SELECT, 0),
65 (c.insert, ('First', 'Start'), Tkinter.Frame),
66 (c.index, Pmw.SELECT, 1),
67 (c.getcurselection, (), 'Start'),
68 (c.selectpage, Pmw.END),
69 (checkCallbacks, (), (['Start', 'Final'], ['Start', 'Final'], ['Start'])),
70 (c.index, Pmw.SELECT, 3),
71 (c.getcurselection, (), 'Final'),
72 (c.recolorborders, ()),
74 (c.index, Pmw.SELECT, 2),
75 (c.getcurselection, (), 'Middle'),
76 (checkCallbacks, (), (['Middle'], ['Middle'], ['Final'])),
79 (checkCallbacks, (), ([], ['Final', 'Middle'], ['Middle', 'Final'])),
80 (c.selectpage, 'Final'),
81 (c.index, Pmw.SELECT, 3),
82 (c.getcurselection, (), 'Final'),
83 (c.add, 'Last', Tkinter.Frame),
84 (c.pagenames, (), ['First', 'Start', 'Middle', 'Final', 'Last']),
85 (c.setnaturalsize, ()),
86 (_populatePage, Pmw.SELECT, 'Final'),
87 (_populatePage, 'Middle', 'Middle'),
88 (c.setnaturalsize, ()),
89 (c.add, 'Start', 'ValueError: Page "Start" already exists.'),
90 ('Page_background', 'yellow'),
92 (c.index, 10, 'ValueError: index "10" is out of range'),
93 (c.index, Pmw.END, 4),
94 (c.index, 'First', 0),
95 (c.index, 'Middle', 2),
96 (c.index, 'bogus', 'ValueError: bad index "bogus": ' + \
97 'must be a name, a number, Pmw.END or Pmw.SELECT'),
99 (c.getcurselection, (), 'Middle'),
100 (c.previouspage, 'Start'),
101 (c.getcurselection, (), 'First'),
103 (c.getcurselection, (), 'Start'),
104 (c.nextpage, 'Middle'),
105 (c.getcurselection, (), 'Final'),
106 (c.delete, ('First', 'Start', 'Middle', 'Final', 'Last')),
107 (c.add, 'Temp', {'page_pyclass' : Tkinter.Button}, Tkinter.Button),
109 (c.add, 'Temp', {'page_pyclass' : Tkinter.Text}, Tkinter.Text),
111 (c.add, 'Temp', {'page_pyclass' : Pmw.ScrolledText,
112 'page_vscrollmode' : 'static', 'page_text_state' : 'disabled'},
114 ('Temp_text_background', 'red'),
115 (c.page, 'Temp', Pmw.ScrolledText),
116 (c.pagenames, (), ['Temp']),
117 (c.getcurselection, (), 'Temp'),
119 (c.getcurselection, (), None),
120 (c.add, 'Start', Tkinter.Frame),
121 (c.getcurselection, (), 'Start'),
124 tests_1 = tests_1_common + (
125 (_getTopPageName, (), None),
127 (_getTopPageName, (), 'Start'),
129 ) + tests_1_common + (
130 (_getTopPageName, (), 'Start'),
133 ) + tests_1_common + (
134 (_getTopPageName, (), None),
136 (_getTopPageName, (), 'Start'),
147 ('hull_relief', 'sunken'),
148 ('hull_borderwidth', 20),
155 ) + tests_1_common + (
156 ('Tab_background', 'red'),
157 (c.add, 'One', Tkinter.Frame),
158 (c.tab, 'One', Tkinter.Button),
170 testData = ((c, alltests),)
172 if __name__ == '__main__':
173 Test.runTests(testData)