11
11
-- change the state of the toggle
12
12
function toggle_func(toggle, path, store)
13
local iter = gtk.new "GtkTreeIter"
13
local iter = gtk.new "TreeIter"
14
14
if store:get_iter_from_string(iter, path) then
15
15
local val = store:get_value(iter, 2)
24
24
setmetatable(self, MainWin)
26
26
-- create visible widgets
27
self.w = gtk.window_new(gtk.GTK_WINDOW_TOPLEVEL)
28
self.w:connect('destroy', function() gtk.main_quit() end)
27
self.w = gtk.window_new(gtk.WINDOW_TOPLEVEL)
28
self.w:connect('destroy', gtk.main_quit)
29
29
self.w:set_default_size(200, 250)
30
30
self.w:set_title("Tree View 2 Demo")
31
31
local sw = gtk.scrolled_window_new(nil, nil)
32
sw:set_policy(gtk.GTK_POLICY_NEVER, gtk.GTK_POLICY_AUTOMATIC)
32
sw:set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
34
34
self.tree_view = gtk.tree_view_new()
35
35
sw:add(self.tree_view)
38
38
self.store = gtk.tree_store_new(3,
39
gtk.G_TYPE_INT, -- [0] some ID
40
gtk.G_TYPE_STRING, -- [1] label
41
gtk.G_TYPE_INT) -- [2] checkbox status
39
glib.TYPE_INT, -- [0] some ID
40
glib.TYPE_STRING, -- [1] label
41
glib.TYPE_INT) -- [2] checkbox status
42
42
self.tree_view:set_model(self.store)
44
44
-- column with text
46
46
r = gtk.cell_renderer_text_new()
47
c = gtk.tree_view_column_new_with_attributes("Name",
47
c = gtk.tree_view_column_new_with_attributes("Name", r, "text", 1, nil)
49
48
self.tree_view:append_column(c)
51
50
-- column with checkbox
57
56
self.tree_view:append_column(c)
60
local iter1 = gtk.new "GtkTreeIter"
61
local pix_open = self.tree_view:render_icon(gtk.GTK_STOCK_OPEN,
62
gtk.GTK_ICON_SIZE_SMALL_TOOLBAR, "")
63
local pix_closed = self.tree_view:render_icon(gtk.GTK_STOCK_CLOSE,
64
gtk.GTK_ICON_SIZE_SMALL_TOOLBAR, "")
59
local iter1 = gtk.new "TreeIter"
60
local pix_open = self.tree_view:render_icon(gtk.STOCK_OPEN,
61
gtk.ICON_SIZE_SMALL_TOOLBAR, "")
62
local pix_closed = self.tree_view:render_icon(gtk.STOCK_CLOSE,
63
gtk.ICON_SIZE_SMALL_TOOLBAR, "")
66
self.store:append1(iter1, nil, i, "Item " .. i, i % 2)
65
self.store:append(iter1, nil)