X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Flablgtk%2Flablgtk_20001129-0.1.0%2Fexamples%2Fclist.ml;fp=helm%2FDEVEL%2Flablgtk%2Flablgtk_20001129-0.1.0%2Fexamples%2Fclist.ml;h=f900f1781e67987647e6c0f0ed2bf02026184377;hb=7aa91a2cd4497f68ebf5b9dd85b5f2c791f738a1;hp=0000000000000000000000000000000000000000;hpb=044a71416237d8e2b575678b5f49b8c9380ca409;p=helm.git diff --git a/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/examples/clist.ml b/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/examples/clist.ml new file mode 100644 index 000000000..f900f1781 --- /dev/null +++ b/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/examples/clist.ml @@ -0,0 +1,51 @@ +(* $Id$ *) + +open GMain + +let main () = + let window = GWindow.window ~title:"CList example" ~width:300 ~height:150 () in + window#connect#destroy ~callback:Main.quit; + + let vbox = GPack.vbox ~border_width:5 ~packing:window#add () in + + let hbox = GPack.hbox ~packing:vbox#add () in + let sb = + GRange.scrollbar `VERTICAL ~packing:(hbox#pack ~from:`END) () in + let clist = + GList.clist ~titles:["Ingredients";"Amount"] ~shadow_type:`OUT + ~packing:hbox#add ~vadjustment:sb#adjustment () in + clist#connect#select_row ~callback: + begin fun ~row ~column ~event -> + let text = clist#cell_text row column in + Printf.printf "You selected row %d. More specifically you clicked in column %d, and the text in this cell is %s\n\n" row column text; + flush stdout + end; + + let hbox = GPack.hbox ~packing:vbox#pack () in + + let button_add = GButton.button ~label:"Add List" ~packing:hbox#add () in + button_add#connect#clicked ~callback: + begin fun () -> + List.iter ~f:(fun t -> ignore (clist#append t)) + [ ["Milk"; "3 Oz"]; + ["Water"; "6 l"]; + ["Carrots"; "2"]; + ["Snakes"; "55"] ] + end; + + let button_clear = GButton.button ~label:"Clear List" ~packing:hbox#add () in + button_clear#connect#clicked ~callback:clist#clear; + + let button_hide_show = + GButton.button ~label:"Hide/Show titles" ~packing:hbox#add () in + let flag = ref false in + button_hide_show#connect#clicked ~callback: + begin fun () -> + clist#set_titles_show !flag; + flag := not !flag + end; + + window#show (); + Main.main () + +let _ = main ()