~ubuntu-branches/ubuntu/natty/lua-gtk/natty

« back to all changes in this revision

Viewing changes to examples/combobox.lua

  • Committer: Bazaar Package Importer
  • Author(s): Enrico Tassi
  • Date: 2009-05-17 18:16:21 UTC
  • mfrom: (1.2.1 upstream) (4.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090517181621-9kmdd82nxg54jsio
* new upstream snapshot comprising many more GNOME libraries:
    Gtk, GDK, GLib, Pango, Atk, Libxml2, Cairo, Clutter, Gtkhtml, 
    GtkSourceView, Gio, Gtkspell and GConf. 
* new upstream release includes a new configure script written in Lua,
  no more bashisms there (Closes: #507205)
* renamed binary packages to liblua5.1-gnome-*
* updated standards-version to 3.8.1, no changes needed
* patch to load .so.* version of libraries and not .so (that was requiring
  -dev packages) (Closes: #522087)
* removed redundant Architecture line from the source stanza of control
  (Closes: #498120)
* updated copyright file, Wolfgang Oertl holds it for 2009 too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /usr/bin/env lua
 
2
-- vim:sw=4:sts=4
2
3
 
3
4
-- demonstration of a tree view
4
5
 
9
10
 
10
11
function MainWin.new()
11
12
 
12
 
        local self = {}
13
 
        setmetatable(self, MainWin)
14
 
 
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")
20
 
 
21
 
        local vbox = gtk.vbox_new(false, 3)
22
 
        self.w:add(vbox)
23
 
 
24
 
        self.combobox = gtk.combo_box_new()
25
 
        vbox:add(self.combobox)
26
 
 
27
 
        -- create store
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)
31
 
 
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)
36
 
 
37
 
        r = gtk.cell_renderer_text_new()
38
 
        self.combobox:pack_start(r, false)
39
 
        self.combobox:set_attributes(r, 'text', 2, nil)
40
 
 
41
 
 
42
 
        -- add some items
43
 
        local iter1, iter2 = gtk.new "GtkTreeIter", gtk.new "GtkTreeIter"
44
 
        for i = 1, 10 do
45
 
                self.store:append1(iter1, nil, i, "Item " .. i,
46
 
                        "Info " .. i, "green")
47
 
                for j = 1, 10 do
48
 
                        self.store:append1(iter2, iter1, i*10+j-1,
49
 
                                "Subitem " .. j, "Subinfo " .. j, "blue")
50
 
                end
51
 
 
 
13
    local self = {}
 
14
    setmetatable(self, MainWin)
 
15
 
 
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")
 
21
 
 
22
    local vbox = gtk.vbox_new(false, 3)
 
23
    self.w:add(vbox)
 
24
 
 
25
    self.combobox = gtk.combo_box_new()
 
26
    vbox:add(self.combobox)
 
27
 
 
28
    -- create store
 
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)
 
32
 
 
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)
 
37
 
 
38
    r = gtk.cell_renderer_text_new()
 
39
    self.combobox:pack_start(r, false)
 
40
    self.combobox:set_attributes(r, 'text', 2, nil)
 
41
 
 
42
 
 
43
    -- add some items
 
44
    local iter1, iter2 = gtk.new "GtkTreeIter", gtk.new "GtkTreeIter"
 
45
    for i = 1, 10 do
 
46
        self.store:append(iter1, nil)
 
47
        self.store:set(iter1,
 
48
            0, i,
 
49
            1, "Item " .. i,
 
50
            2, "Info " .. i,
 
51
            3, "green",
 
52
            -1)
 
53
        for j = 1, 10 do
 
54
            self.store:append(iter2, iter1)
 
55
            self.store:set(iter2,
 
56
                0, i*10+j-1,
 
57
                1, "Subitem " .. j,
 
58
                2, "Subinfo " .. j,
 
59
                3, "blue",
 
60
                -1)
52
61
        end
53
62
 
54
 
        self.w:show_all()
55
 
        return self
 
63
    end
 
64
 
 
65
    self.w:show_all()
 
66
    return self
56
67
 
57
68
end
58
69