let errorll' =
let remove_non_significant =
List.filter (fun (_env,_diff,_loc,_msg,significant) -> significant) in
- if all_passes then errorll else
+ let annotated_errorll () =
+ List.rev
+ (snd
+ (List.fold_left (fun (pass,res) item -> pass+1,(pass+1,item)::res) (0,[])
+ errorll)) in
+ if all_passes then annotated_errorll () else
let safe_list_nth l n = try List.nth l n with Failure _ -> [] in
(* We remove passes 1,2 and 5,6 *)
let res =
- []::[]
- ::(remove_non_significant (safe_list_nth errorll 2))
- ::(remove_non_significant (safe_list_nth errorll 3))
- ::[]::[]
+ (1,[])::(2,[])
+ ::(3,remove_non_significant (safe_list_nth errorll 2))
+ ::(4,remove_non_significant (safe_list_nth errorll 3))
+ ::(5,[])::(6,[])::[]
in
- if List.flatten res <> [] then res
+ if List.flatten (List.map snd res) <> [] then res
else
(* all errors (if any) are not significant: we keep them *)
let res =
- []::[]
- ::(safe_list_nth errorll 2)
- ::(safe_list_nth errorll 3)
- ::[]::[]
+ (1,[])::(2,[])
+ ::(3,(safe_list_nth errorll 2))
+ ::(4,(safe_list_nth errorll 3))
+ ::(5,[])::(6,[])::[]
in
- if List.flatten res <> [] then
+ if List.flatten (List.map snd res) <> [] then
begin
HLog.warn
"All disambiguation errors are not significant. Showing them anyway." ;
begin
HLog.warn
"No errors in phases 2 and 3. Showing all errors in all phases" ;
- errorll
+ annotated_errorll ()
end
in
let choices =
- let pass = ref 0 in
List.flatten
(List.map
- (fun l ->
- incr pass;
+ (fun (pass,l) ->
List.map
(fun (env,diff,offset,msg,significant) ->
- offset, [[!pass], [[!pass], env, diff], msg, significant]) l
+ offset, [[pass], [[pass], env, diff], msg, significant]) l
) errorll') in
(* Here we are doing a stable sort and list_uniq returns the latter
"equal" element. I.e. we are showing the error corresponding to the
(fun () -> MatitamakeLib.clean_development_in_bg refresh d)
in
ignore(clean ())));
+ (* publish button hidden, use command line
connect_button develList#publishButton
(locker (fun () ->
match get_devel_selected () with
let publish = locker (fun () ->
MatitamakeLib.publish_development_in_bg refresh d) in
ignore(publish ())));
+ *)
+ develList#publishButton#misc#hide ();
connect_button develList#graphButton (fun () ->
match get_devel_selected () with
| None -> ()
ignore (adj#connect#changed
(fun _ -> adj#set_value (adj#upper -. adj#page_size)));
console#message (sprintf "\tMatita version %s\n" BuildTimeConf.version);
- (* toolbar *)
- let module A = GrafiteAst in
- let hole = CicNotationPt.UserInput in
- let loc = HExtlib.dummy_floc in
- let tac ast _ =
- if (MatitaScript.current ())#onGoingProof () then
- (MatitaScript.current ())#advance
- ~statement:("\n"
- ^ GrafiteAstPp.pp_tactic
- ~map_unicode_to_tex:(Helm_registry.get_bool
- "matita.paste_unicode_as_tex")
- ~term_pp:CicNotationPp.pp_term
- ~lazy_term_pp:CicNotationPp.pp_term ast)
- ()
- in
- let tac_w_term ast _ =
- if (MatitaScript.current ())#onGoingProof () then
- let buf = source_buffer in
- buf#insert ~iter:(buf#get_iter_at_mark (`NAME "locked"))
- ("\n"
- ^ GrafiteAstPp.pp_tactic ~term_pp:CicNotationPp.pp_term
- ~map_unicode_to_tex:(Helm_registry.get_bool
- "matita.paste_unicode_as_tex")
- ~lazy_term_pp:CicNotationPp.pp_term ast)
- in
- let tbar = main in
- 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
- (let pattern = None, [], Some CicNotationPt.UserInput in
- A.Elim (loc, hole, None, pattern, (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));
- connect_button tbar#existsButton (tac (A.Exists loc));
- connect_button tbar#reflexivityButton (tac (A.Reflexivity loc));
- connect_button tbar#symmetryButton (tac (A.Symmetry loc));
- connect_button tbar#transitivityButton
- (tac_w_term (A.Transitivity (loc, hole)));
- connect_button tbar#assumptionButton (tac (A.Assumption loc));
- connect_button tbar#cutButton (tac_w_term (A.Cut (loc, None, hole)));
- connect_button tbar#autoButton (tac (A.AutoBatch (loc,[])));
- MatitaGtkMisc.toggle_widget_visibility
- ~widget:(main#tacticsButtonsHandlebox :> GObj.widget)
- ~check:main#tacticsBarMenuItem;
+ (* TO BE REMOVED *)
+ main#tacticsButtonsHandlebox#misc#hide ();
+ main#tacticsBarMenuItem#misc#hide ();
+ main#scriptNotebook#remove_page 1;
+ main#scriptNotebook#set_show_tabs false;
+ (* / TO BE REMOVED *)
let module Hr = Helm_registry in
- if
- not (Hr.get_opt_default Hr.bool ~default:false "matita.tactics_bar")
- then
- main#tacticsBarMenuItem#set_active false;
MatitaGtkMisc.toggle_callback ~check:main#fullscreenMenuItem
~callback:(function
| true -> main#toplevel#fullscreen ()
self#updateFontSize ();
(* debug menu *)
main#debugMenu#misc#hide ();
- (* status bar *)
+ (* HBUGS *)
+ main#hintNotebook#misc#hide ();
+ (*
main#hintLowImage#set_file (image_path "matita-bulb-low.png");
main#hintMediumImage#set_file (image_path "matita-bulb-medium.png");
main#hintHighImage#set_file (image_path "matita-bulb-high.png");
+ *)
(* focus *)
self#sourceView#misc#grab_focus ();
(* main win dimension *)
end
method setStar name b =
- let l = main#scriptLabel in
+ let w = main#toplevel in
+ let set x = w#set_title x in
+ let name = "Matita - " ^ name in
if b then
- l#set_text (name ^ " *")
+ set (name ^ " *")
else
- l#set_text (name)
+ set (name)
method private _enableSaveTo file =
script_fname <- Some file;