---------------------------------------------------------------
--# GtkAppChooserWidget
---------------------------------------------------------------
include GtkEngine.e
-- note: appears to be a bug in Gtk14
constant docs = `App Chooser
Below is an app chooser widget for file types 'image/png'.
The Info button gives more info about the selected app.
`
constant win = create(GtkWindow,"size=300x100,border_width=10,position=1,$destroy=Quit")
constant panel = create(GtkBox,"orientation=VERTICAL,spacing=5")
add(win,panel)
constant lbl = create(GtkLabel)
set(lbl,"markup",docs)
add(panel,lbl)
constant appchooser = create(GtkAppChooserWidget,"image/png")
set(appchooser,{
{"show default",TRUE},
{"show recommended",TRUE},
{"default text",
"Sorry, I don't know how to handle that type of file!"},
{"connect","application-activated",_("Foo")}})
add(panel,appchooser)
constant btnbox = create(GtkButtonBox)
pack(panel,-btnbox)
constant btn1 = create(GtkButton,"gtk-quit","Quit")
constant btn2 = create(GtkButton,"gtk-info",_("Foo"))
set(btn2,"tooltip text","Click to see a description of this program")
add(btnbox,{btn1,btn2})
show_all(win)
main()
------------------------------------------------------------------------
function Foo()
------------------------------------------------------------------------
object app = get(appchooser,"app info")
object name = get(app,"name")
object icon = get(app,"icon")
object descr = get(app,"description")
if atom(descr) then descr = "No description available for this item" end if
object myimg = create(GtkImage)
set(myimg,"from gicon",icon,5)
return Info(win,"You Chose",name,descr,,,myimg)
end function