]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaGui.ml
name specifications added for elim_intros, elim_intros_simpl and elim_type
[helm.git] / helm / matita / matitaGui.ml
index dc81593c54cddffc035aa0c30bc81e951e8e5d36..5ac24f8f66c9abdd262e6f477dd368188edc01e9 100644 (file)
@@ -156,8 +156,8 @@ class gui () =
       connect_button tbar#introsButton (tac (A.Intros (loc, None, [])));
       connect_button tbar#applyButton (tac_w_term (A.Apply (loc, hole)));
       connect_button tbar#exactButton (tac_w_term (A.Exact (loc, hole)));
-      connect_button tbar#elimButton (tac_w_term (A.Elim (loc, hole, None)));
-      connect_button tbar#elimTypeButton (tac_w_term (A.ElimType (loc, hole)));
+      connect_button tbar#elimButton (tac_w_term (A.Elim (loc, hole, None, None, [])));
+      connect_button tbar#elimTypeButton (tac_w_term (A.ElimType (loc, hole, None, None, [])));
       connect_button tbar#splitButton (tac (A.Split loc));
       connect_button tbar#leftButton (tac (A.Left loc));
       connect_button tbar#rightButton (tac (A.Right loc));
@@ -186,9 +186,7 @@ class gui () =
         (* log *)
       MatitaLog.set_log_callback self#console#log_callback;
       GtkSignal.user_handler :=
-        (fun exn ->
-           MatitaLog.error
-             (sprintf "Uncaught exception: %s" (Printexc.to_string exn)));
+        (fun exn -> MatitaLog.error (MatitaExcPp.to_string exn));
         (* script *)
       let _ =
         match GSourceView.source_language_from_file BuildTimeConf.lang_file with
@@ -251,17 +249,23 @@ class gui () =
       in
         (* quit *)
       self#setQuitCallback (fun () -> 
-        if 
-          MatitaGtkMisc.ask_confirmation 
-            ~parent:main#toplevel
-            ~title:"Unsaved work!" 
-            ~message:("Your work is <b>unsaved</b>!\n\n"^
-                 "<i>Do you want to save the script before exiting?</i>")
-            ()
-        then 
-          (saveScript ();prerr_endline "SAVE";GMain.Main.quit ())
-        else
-          GMain.Main.quit ());
+        if source_view#buffer#modified then
+          begin
+            let rc =  
+              MatitaGtkMisc.ask_confirmation 
+                ~parent:main#toplevel
+                ~title:"Unsaved work!" 
+                ~message:("Your work is <b>unsaved</b>!\n\n"^
+                     "<i>Do you want to save the script before exiting?</i>")
+                ()
+            in
+            match rc with
+            | `YES -> saveScript ();
+                      if not source_view#buffer#modified then
+                        GMain.Main.quit ()
+            | `NO -> GMain.Main.quit ()
+            | `CANCEL -> ()
+          end else GMain.Main.quit ());
       connect_button self#main#scriptAdvanceButton advance;
       connect_button self#main#scriptRetractButton retract;
       connect_button self#main#scriptTopButton top;