----------------------------------------------------------------------------------- --# Label justification -- justifies lines within multi-line labels, not single line labels. ----------------------------------------------------------------------------------- include GtkEngine.e constant win = create(GtkWindow,"border=10,size=400x300,position=1,$destroy=Quit") constant panel = add(win,create(GtkBox,VERTICAL)) constant lbl = add(panel,create(GtkLabel,{{"markup",Twain()}})) -- you remember Markup Twain, don't you? constant justify = _("Justify") -- link to local function below; constant box = pack_end(panel,create(GtkButtonBox)) add(box, -- all call the same function, passing different justification enums as data. {create(GtkButton,"gtk-justify-left",justify,GTK_JUSTIFY_LEFT), create(GtkButton,"gtk-justify-center",justify,GTK_JUSTIFY_CENTER), create(GtkButton,"gtk-justify-right",justify,GTK_JUSTIFY_RIGHT), create(GtkButton,"gtk-quit","Quit")}) show_all(win) main() ------------------------------------------------ function Justify(atom ctl, atom j) ------------------------------------------------ set(lbl,"justify",j) return 1 end function ------------------------ function Twain() -- a function so quoted text can be at end of program; ------------------------ return remove_all("\n\n", """In the space of one hundred and seventy-six years the Mississippi has shortened itself two hundred and forty-two miles. Therefore ... in the Old Silurian Period the Mississippi River was upward of one million three hundred thousand miles long ... Seven hundred and forty-two years from now the Mississippi will be only a mile and three-quarters long. ... There is something fascinating about science. One gets such wholesome returns of conjecture out of such a trifling investment of fact. -- Mark Twain """) end function