blob: 114b4d42e4c70073a2200d2936bba73d3cc09ac3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
import gtk
_ = lambda a : a
TYPE_NOTEBOOK, \
TYPE_FRAME = range(2)
general_page = [
]
notebook = [
(_("General"), general_page),
]
root_ui = [
(TYPE_NOTEBOOK, notebook)
]
class SetupDialog(gtk.Dialog):
def __init__(self):
super(SetupDialog, self).__init__()
self.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_OK)
for i in root_ui:
widget = self.__create_ui(i)
self.vbox.pack_start(widget)
self.vbox.show_all()
def __create_ui(self, ui):
print ui
type, data = ui
if type == TYPE_NOTEBOOK:
widget = self.__create_notebook(data)
else:
widget = None
return widget
def __create_notebook(self, notebook):
widget = gtk.Notebook()
for page_name, data in notebook:
vbox = gtk.VBox()
for i in data:
widget = self.__create_ui(i)
vbox.pack_start(widget)
widget.append_page(vbox, gtk.Label(page_name))
return widget
def main():
dlg = SetupDialog()
dlg.run()
if __name__ == "__main__":
main()
|