diff options
author | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2000-04-20 02:45:44 +0000 |
---|---|---|
committer | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2000-04-20 02:45:44 +0000 |
commit | cd10f285b1056d02338b718b0c675d2e1765036a (patch) | |
tree | 18bbb0d9e29767ec6f4fa17de84157983973ad21 /otherlibs/labltk/browser/jg_message.ml | |
parent | f07fed5f1bf8b0c0ef61346ae240fb7dad274391 (diff) |
do not propose to cancel when you cannot do it
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3112 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/labltk/browser/jg_message.ml')
-rw-r--r-- | otherlibs/labltk/browser/jg_message.ml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/otherlibs/labltk/browser/jg_message.ml b/otherlibs/labltk/browser/jg_message.ml index 30d8d8154..97a90bf9f 100644 --- a/otherlibs/labltk/browser/jg_message.ml +++ b/otherlibs/labltk/browser/jg_message.ml @@ -70,7 +70,7 @@ let formatted ~title ?on ?(ppf = Format.std_formatter) pack [Jg_text.add_scrollbar tw] ~before:tw ~side:`Right ~fill:`Y end -let ask ~title ?master text = +let ask ~title ?master ?(cancel=true) text = let tl = Jg_toplevel.titled title in begin match master with None -> () | Some master -> Wm.transient_set tl ~master @@ -84,12 +84,13 @@ let ask ~title ?master text = ~command:(fun () -> r := `yes; destroy tl) and refuse = Button.create fw ~text:"No" ~command:(fun () -> r := `no; destroy tl) - and cancel = Button.create fw ~text:"Cancel" + and cancelB = Button.create fw ~text:"Cancel" ~command:(fun () -> r := `cancel; destroy tl) in bind tl ~events:[`Destroy] ~extend:true ~action:(fun _ -> Textvariable.set sync "1"); - pack [accept; refuse; cancel] ~side:`Left ~fill:`X ~expand:true; + pack [accept; refuse] ~side:`Left ~fill:`X ~expand:true; + if cancel then pack [cancelB] ~side:`Left ~fill:`X ~expand:true; pack [mw] ~side:`Top ~fill:`Both; pack [fw] ~side:`Bottom ~fill:`X ~expand:true; Grab.set tl; |