1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
(**************************************************************************)
(* Lablgtk - Examples *)
(* *)
(* This code is in the public domain. *)
(* You may freely copy parts of it in your application. *)
(* *)
(**************************************************************************)
(* $Id$ *)
open Printf
open GMain
let enter_callback entry =
printf "Entry contents: %s\n" entry#text;
flush stdout
let entry_toggle_editable button entry =
entry#set_editable button#active
let entry_toggle_visibility button entry =
entry#set_visibility button#active
let main () =
let window =
GWindow.window ~title: "GTK Entry" ~width: 200 ~height: 100 () in
window#connect#destroy ~callback:Main.quit;
let vbox = GPack.vbox ~packing: window#add () in
let entry = GEdit.entry ~max_length: 50 ~packing: vbox#add () in
entry#connect#activate ~callback:(fun () -> enter_callback entry);
entry#set_text "Hello";
entry#append_text " world";
entry#select_region ~start:0 ~stop:entry#text_length;
let hbox = GPack.hbox ~packing: vbox#add () in
let check = GButton.check_button ~label: "Editable" ~active: true
~packing: hbox#add () in
check#connect#toggled
~callback:(fun () -> entry_toggle_editable check entry);
let check =
GButton.check_button ~label:"Visible" ~active:true ~packing:hbox#add () in
check#connect#toggled
~callback:(fun () -> entry_toggle_visibility check entry);
let button = GButton.button ~label: "Close" ~packing: vbox#add () in
button#connect#clicked ~callback:window#destroy;
button#grab_default ();
window#show ();
Main.main ()
let _ = main ()
|