--# Passing formatting data attached to buttons include GtkEngine.e constant docs = `Sending Formatting data We can attach formatting data to controls and it will be sent to our user-written routine.` constant win = create(GtkWindow,"size=300x100,position=1,border_width=10,$destroy=Quit") constant panel = create(GtkBox,"orientation=VERTICAL") add(win,panel) constant lbl1 = create(GtkLabel) set(lbl1,"markup",docs) add(panel,lbl1) constant sep = add(panel,create(GtkSeparator,"margin_top=5,margin_bottom=5")) constant n = 12.345 constant lbl2 = create(GtkLabel,"12.345") add(panel,lbl2) integer x = _("X") constant box = create(GtkButtonBox) pack(panel,-box) add(box, {create(GtkButton,"Dollar",x,"$%2.2f"), create(GtkButton,"Integer",x,"%d"), create(GtkButton,"Hex",x,"#%06x"), create(GtkButton,"gtk-revert-to-saved",x,"%g")}) show_all(win) main() ------------------------------------------------------------------------ function X(atom ctl, object fmt) ------------------------------------------------------------------------ fmt = unpack(fmt) set(lbl2,"markup",sprintf(fmt,{n})) return 1 end function