------------------------------------------------------------------------------------- --# Custom Tooltips - routine to build fancier tooltips with images, etc... ------------------------------------------------------------------------------------- include GtkEngine.e sequence docs = ` This is just some various stuff stuck into a Window. Mouse over the Help button to see a Custom Tooltip. ` if inet_connected() then -- add optional link to website if connected to internets; docs &= `In addition, here's a link to gtk.org` end if constant txt = {"Click to exit","Click button to see help"} constant img = { create(GdkPixbuf,"thumbnails/clown.png",80,80,1), create(GdkPixbuf,"thumbnails/gtk-logo-rgb.gif",80,80,1)} constant win = create(GtkWindow, "size=400x400,border_width=10,position=1,$destroy=Quit") constant panel = create(GtkBox,VERTICAL) add(win,panel) constant photo = create(GtkImage,"thumbnails/jeff.jpg") add(panel,photo) constant lbl1 = create(GtkLabel) set(lbl1,"markup",docs) add(panel,lbl1) sequence btn = repeat(0,2) btn[1] = create(GtkButton,"gtk-quit","Quit") set(btn[1],"has tooltip",TRUE) connect(btn[1],"query-tooltip","MakeCustomTooltip") -- call custom tip builder func; btn[2] = create(GtkButton,"gtk-help","Help") set(btn[2],"has tooltip",TRUE) connect(btn[2],"query-tooltip","MakeCustomTooltip") -- call custom tip builder func; constant btnbox = create(GtkButtonBox) add(btnbox,btn) pack(panel,-btnbox) show_all(win) main() -- must write a function to build a custom tooltip on 'query-tooltip' signal; -------------------------------------------------------------------------------- global function MakeCustomTooltip(atom b, integer x, integer y, atom mode, Tooltip tip) -------------------------------------------------------------------------------- integer n = find(b,btn) set(tip,"icon",img[n]) set(tip,"markup",txt[n]) return 1 end function ------------------------------------------------------------------------ global function Help() ------------------------------------------------------------------------ return Info(win,"Help","Some help", "could appear here,\nif I weren't too lazy to type some...",,,img[2]) end function