10
11
function MainWin.new()
13
setmetatable(self, MainWin)
15
-- create visible widgets
16
self.w = gtk.window_new(gtk.GTK_WINDOW_TOPLEVEL)
17
self.w:connect('destroy', function() gtk.main_quit() end)
18
self.w:set_default_size(200, 50)
19
self.w:set_title("ComboBox Demo")
21
local vbox = gtk.vbox_new(false, 3)
24
self.combobox = gtk.combo_box_new()
25
vbox:add(self.combobox)
28
self.store = gtk.tree_store_new(4, gtk.G_TYPE_INT, gtk.G_TYPE_STRING,
29
gtk.G_TYPE_STRING, gtk.G_TYPE_STRING)
30
self.combobox:set_model(self.store)
32
-- define visible columns
33
local r = gtk.cell_renderer_text_new()
34
self.combobox:pack_start(r, false)
35
self.combobox:set_attributes(r, 'text', 1, 'foreground', 3, nil)
37
r = gtk.cell_renderer_text_new()
38
self.combobox:pack_start(r, false)
39
self.combobox:set_attributes(r, 'text', 2, nil)
43
local iter1, iter2 = gtk.new "GtkTreeIter", gtk.new "GtkTreeIter"
45
self.store:append1(iter1, nil, i, "Item " .. i,
46
"Info " .. i, "green")
48
self.store:append1(iter2, iter1, i*10+j-1,
49
"Subitem " .. j, "Subinfo " .. j, "blue")
14
setmetatable(self, MainWin)
16
-- create visible widgets
17
self.w = gtk.window_new(gtk.WINDOW_TOPLEVEL)
18
self.w:connect('destroy', gtk.main_quit)
19
self.w:set_default_size(200, 50)
20
self.w:set_title("ComboBox Demo")
22
local vbox = gtk.vbox_new(false, 3)
25
self.combobox = gtk.combo_box_new()
26
vbox:add(self.combobox)
29
self.store = gtk.tree_store_new(4, glib.TYPE_INT, glib.TYPE_STRING,
30
glib.TYPE_STRING, glib.TYPE_STRING)
31
self.combobox:set_model(self.store)
33
-- define visible columns
34
local r = gtk.cell_renderer_text_new()
35
self.combobox:pack_start(r, false)
36
self.combobox:set_attributes(r, 'text', 1, 'foreground', 3, nil)
38
r = gtk.cell_renderer_text_new()
39
self.combobox:pack_start(r, false)
40
self.combobox:set_attributes(r, 'text', 2, nil)
44
local iter1, iter2 = gtk.new "GtkTreeIter", gtk.new "GtkTreeIter"
46
self.store:append(iter1, nil)
54
self.store:append(iter2, iter1)