--------------------------------
-- ComboBox.exu
-- Demonstrates:
-- GTK Combo Box Text
-- GTK Combo Box Entry
--------------------------------
include GtkEngine.e
include std/dll.e
constant lbl0 = create(GtkLabel)
set(lbl0,"markup",
"Second box is tearoff\n" &
"Drop down, click on the dotted line at top\n" &
"and drag it elsewhere on your screen")
-----------------------------------------
function ShowResults(atom ctl, atom data)
-----------------------------------------
set(lbl0,"markup",
sprintf("Combo %d sez: %s\n",
{data,get(ctl,"active text")}))
return 1
end function
constant show_results = call_back(routine_id("ShowResults"))
constant win = create(GtkWindow)
connect(win,"destroy",quit)
set(win,"Border width",10)
set(win,"Default size",300,300)
set(win,"Position",GTK_WIN_POS_CENTER)
constant panel = create(GtkVBox)
add(win,panel)
constant lbl1 = create(GtkLabel,"GTK Combo Box Text")
constant combo1 = create(GtkComboBoxText)
set(combo1,"append text","One")
set(combo1,"append text","Two")
connect(combo1,"changed",show_results,1)
constant sep1 = create(GtkHSeparator)
constant lbl2 = create(GtkLabel,"GTK Combo Box Entry")
constant combo2 = create(GtkComboBoxEntry)
set(combo2,"append text","One Potato")
set(combo2,"append text","Two Potato")
set(combo2,"append text","Three Potato")
set(combo2,"add tearoffs",TRUE)
connect(combo2,"changed",show_results,2)
pack(panel,{lbl1,combo1,sep1,lbl2,combo2})
add(panel,lbl0)
show_all(win)
main()
--------------------------------------------------------------
-- copyright 2009 by Irv Mullins, code released under the LGPL
--------------------------------------------------------------