main(!IO) :- mtcltk.main( pred(TkVersteher::in, I::di, O::uo) is det :- aufgabe(TkVersteher, I, O), ["Tasten"], !IO). :-pred aufgabe(tcl_interp, io, io). :-mode aufgabe(in, di, uo) is det. aufgabe(TkVersteher, !IO) :- GesamtCockpit = mtk_core.root_window, configure(TkVersteher, GesamtCockpit, [height(40), width(400), background("green"), padx(50), pady(10)], !IO), bildeTaste(":-0", "yellow", TkVersteher, GesamtCockpit, GelbeTaste, !IO), bildeTaste(":-o", "red", TkVersteher, GesamtCockpit, RoteTaste, !IO), bildeTaste(";-)", "blue", TkVersteher, GesamtCockpit, BlaueTaste, !IO), mtk.pack(TkVersteher, [pack(GelbeTaste, []), pack(RoteTaste, []), pack(BlaueTaste, [])], !IO). :-pred bildeTaste(string, string, tcl_interp, widget, widget, io, io). :-mode bildeTaste(in, in, in, in(toplevel), out, di, uo) is det. bildeTaste(Beschriftung, Farbe, TkVersteher, GesamtCockpit, Taste, !IO) :- mtk.button(TkVersteher, [text(Beschriftung), background(Farbe), active_background(Farbe), padx(50)], GesamtCockpit, Taste, !IO), configure(TkVersteher, Taste, [command(meldeFarbe(Taste))], !IO). :-pred meldeFarbe(widget, tcl_interp, io, io). :-mode meldeFarbe(in(button), in, di, uo) is det. meldeFarbe(Taste, TkVersteher, !IO) :- cget_string(TkVersteher, Taste, "background", HgFarbe, !IO), io.write_string("klicked: '-background "++HgFarbe++"'", !IO), nl(!IO).