let select_date title (day,mon,year) =
let v_opt = ref None in
let window = GWindow.dialog ~modal:true ~title () in
let hbox = GPack.hbox ~border_width:10 ~packing:window#vbox#add () in
let cal = GMisc.calendar ~packing: (hbox#pack ~expand: true) () in
cal#select_month ~month: mon ~year: year ;
cal#select_day day;
let bbox = window#action_area in
let bok = GButton.button ~label: Configwin_messages.mOk
~packing:(bbox#pack ~expand:true ~padding:4) ()
in
let bcancel = GButton.button ~label: Configwin_messages.mCancel
~packing:(bbox#pack ~expand:true ~padding:4) ()
in
ignore (bok#connect#clicked ~callback:
(fun () -> v_opt := Some (cal#date); window#destroy ()));
ignore(bcancel#connect#clicked ~callback: window#destroy);
bok#grab_default ();
ignore(window#connect#destroy ~callback: GMain.Main.quit);
window#set_position `CENTER;
window#show ();
GMain.Main.main ();
!v_opt