--------------------------------------------------------------- --# GtkHeaderBar --------------------------------------------------------------- include GtkEngine.e requires("3.10","GtkHeaderBar") constant msg = {"Euphoria is great!","C is too much work"} constant sub = {"Easy to use","overly complex"} constant goose = create(GdkPixbuf,"thumbnails/mongoose.png",30,0,1) constant win = create(GtkWindow,{ {"title","GtkHeaderBar"}, {"border width",10}, {"default size",300,300}, {"position",GTK_WIN_POS_CENTER}, {"connect","destroy","Quit"}}) constant panel = create(GtkBox,"orientation=VERTICAL,spacing=10") add(win,panel) constant bar = create(GtkHeaderBar,{ {"title","Header Bar"}, {"subtitle","New in GTK 10"}, {"show close button",FALSE}}) pack(panel,bar) constant list = create(GtkListBox,"$row-activated=Boo") add(panel,list) constant item1 = create(GtkButtonBox), cap1 = create(GtkLabel,"Euphoria Mascot"), img1 = create(GtkImage,goose) add(item1,{cap1,img1}) constant item2 = create(GtkButtonBox), cap2 = create(GtkLabel,"C Mascot"), btn2 = create(GtkButton,"Click me","ShowInfo") add(item2,{cap2,btn2}) constant item3 = create(GtkLabel,{{"text",LGPL}}) set(item3,"tooltip text","Click me") set(list,{ {"insert",item1,-1}, {"insert",item2,-1}, {"insert",item3,-1}}) constant box = create(GtkButtonBox), okbtn = create(GtkButton,"gtk-quit","Quit") pack(panel,-box) add(box,okbtn) show_all(win) main() --------------------------------------------------------- global function Boo(atom ctl, ListBoxRow row, atom data) --------------------------------------------------------- integer i = get(row,"index") if i > 0 and i < 3 then set(bar,"title",msg[i]) set(bar,"subtitle",sub[i]) else Info(,,"LGPL","EuGTK is licensed under the LGPL",,goose) end if return 1 end function -------------------------- global function ShowInfo() -------------------------- return Info(,"Mascots","The C Mascot","is an aspirin tablet") end function