#!/usr/bin/env exu ----------------------------------------------------------- -- Entry.exu Aug.4, 2008 -- Demonstrates: -- GtkEntry widget, GtkCheckButton, GtkButtonBox, Password ----------------------------------------------------------- include GtkEngine.e include dll.e -- for eu function call-backs constant win = create(GtkWindow) connect(win,"destroy",quit) set(win,"default size",200,100) set(win,"position",GTK_WIN_POS_CENTER) ----------------------------------------- -- Display the contents of the entry box ----------------------------------------- function Foo(atom ctl, atom input) return Info(win,"Results",sprintf("You entered: %s",{get(input,"Text")})) end function constant foo = call_back(routine_id("Foo")) ----------------------------------------------------------- -- Toggle display-as-password (GTK calls it 'visibility') ----------------------------------------------------------- function TogglePW(atom ctl, atom input) set(input,"visibility",not get(input,"visibility")) return 1 end function constant togglepw = call_back(routine_id("TogglePW")) constant panel = create(GtkVBox) add(win,panel) constant input = create(GtkEntry) set(input,"text","Type here") pack(panel,input) constant ckbox = create(GtkCheckButton,"as _Password") connect(ckbox,"clicked",togglepw,input) pack(panel,ckbox) constant btnbox = create(GtkHButtonBox) pack(panel,-btnbox) constant btn1 = create(GtkButton,"gtk-quit") connect(btn1,"clicked",quit) constant btn2 = create(GtkButton,"gtk-ok") connect(btn2,"clicked",foo,input) add(btnbox,{btn1,btn2}) show_all(win) main() -------------------------------------------------------------- -- copyright 2008 by Irv Mullins, code released under the LGPL --------------------------------------------------------------