summaryrefslogtreecommitdiffstats
path: root/ibus/setup/main.py
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()