---------------------------
-- GtkListView
---------------------------
include GtkEngine.e
include std/machine.e
constant win = create(GtkWindow)
connect(win,"destroy",quit)
set(win,"title","ListView")
set(win,"position",GTK_WIN_POS_CENTER)
constant view = create(GtkTreeView)
set(view,"rules hint",TRUE)
set(view,"columns autosize")
set(view,"grid lines",GTK_TREE_VIEW_GRID_LINES_BOTH)
add(win,view)
constant renderer = create(GtkCellRendererText)
enum NAME=0,ADDR,CITY,AGE
constant store = create(GtkListStore,gSTR,gSTR,gSTR,gINT)
set(view,"model",store)
set(view,"insert column with attributes",-1,"Name",renderer,"text",NAME)
set(view,"insert column with attributes",-1,"Address",renderer,"text",ADDR)
set(view,"insert column with attributes",-1,"City",renderer,"text",CITY)
set(view,"insert column with attributes",-1,"Age",renderer,"text",AGE)
constant list = {
{"Fred Flinstone","301 Cobblestone Way","Bedrock",38},
{"Wilma Flinstone","301 Cobblestone Way","Bedrock",31},
{"Barney Rubble","303 Cobblestone Way","Bedrock",42},
{"Betty Rubble","303 Cobblestone Way","Bedrock",39}
}
object iter = allocate(32)
atom row
for i = 1 to length(list) do
set(store,"append",iter)
set(store,"set",iter,NAME,allocate_string(list[i][1]),-1)
set(store,"set",iter,ADDR,allocate_string(list[i][2]),-1)
set(store,"set",iter,CITY,allocate_string(list[i][3]),-1)
set(store,"set",iter,AGE,list[i][4],-1)
end for
show_all(win)
main()
-------------------------------------------------------------------
-- copyright 2010 by Irv Mullins, code released under the LGPL
-------------------------------------------------------------------