]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/examples/entry.ml
* new semantics with 2 continuations
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20000829-0.1.0 / examples / entry.ml
1 (* $Id$ *)
2
3 open Printf
4 open GMain
5
6 let enter_callback entry =
7   printf "Entry contents: %s\n" entry#text;
8   flush stdout
9
10 let entry_toggle_editable button entry =
11   entry#set_editable button#active
12
13 let entry_toggle_visibility button entry =
14   entry#set_visibility button#active
15
16 let main () =
17
18   let window = GWindow.window ~title: "GTK Entry" ~width: 200 ~height: 100 () in
19   window#connect#destroy ~callback:Main.quit;
20
21   let vbox = GPack.vbox ~packing: window#add () in
22
23   let entry = GEdit.entry ~max_length: 50 ~packing: vbox#add () in
24   entry#connect#activate ~callback:(fun () -> enter_callback entry);
25   entry#set_text "Hello";
26   entry#append_text " world";
27   entry#select_region ~start:0 ~stop:entry#text_length;
28
29   let hbox = GPack.hbox ~packing: vbox#add () in
30
31   let check = GButton.check_button ~label: "Editable" ~active: true
32       ~packing: hbox#add () in
33   check#connect#toggled ~callback:(fun () -> entry_toggle_editable check entry);
34
35   let check =
36     GButton.check_button ~label:"Visible" ~active:true ~packing:hbox#add () in
37   check#connect#toggled
38     ~callback:(fun () -> entry_toggle_visibility check entry);
39
40   let button = GButton.button ~label: "Close" ~packing: vbox#add () in
41   button#connect#clicked ~callback:window#destroy;
42   button#grab_default ();
43
44   window#show ();
45
46   Main.main ()
47
48 let _ = main ()