- let href_callback uri =
- let term = CicAst.Uri (UriManager.string_of_uri uri, None) in
- ignore (interpreter#evalAst (TacticAst.Command (TacticAst.Check term)))
- in
- sequent_viewer#set_href_callback (Some href_callback)
-
-(** {2 Script window handling} *)
-
-let script_forward _ =
- let buf = gui#script#scriptTextView#buffer in
- let locked_iter = buf#get_iter_at_mark (`NAME "locked") in
- let (success, hide) =
- interpreter#evalPhrase
- (buf#get_text ~start:locked_iter ~stop:buf#end_iter ())
- in
- if success then
- gui#lockScript (locked_iter#offset + interpreter#endOffset)
-
-let script_jump _ =
- let buf = gui#script#scriptTextView#buffer in
- let locked_iter = buf#get_iter_at_mark (`NAME "locked") in
- let cursor_iter = buf#get_iter_at_mark (`NAME "insert") in
- let raw_text = buf#get_text ~start:locked_iter ~stop:cursor_iter () in
- let len = String.length raw_text in
- let rec parse offset =
- if offset < len then begin
- let (success, hide) =
- interpreter#evalPhrase (String.sub raw_text offset (len - offset))
- in
- if success then begin
- let new_offset = interpreter#endOffset + offset in
- gui#lockScript (new_offset + locked_iter#offset);
- parse new_offset
- end else
- raise Exit
- end
- in
- try
- parse 0
- with Exit -> ()
-
-let script_back _ = not_implemented "script_back"
-
-let load_script fname =
- gui#script#scriptTextView#buffer#set_text (input_file fname);
- gui#script#scriptWin#show ();
- gui#main#showScriptMenuItem#set_active true
-
-(** {2 GUI callbacks} *)
+ ignore (gui#main#newCicBrowserMenuItem#connect#activate (fun _ ->
+ ignore (MatitaMathView.cicBrowser ())));
+ (* font sizes *)
+ ignore (gui#main#increaseFontSizeMenuItem#connect#activate (fun _ ->
+ gui#increaseFontSize ();
+ MatitaMathView.increase_font_size ();
+ MatitaMathView.update_font_sizes ()));
+ ignore (gui#main#decreaseFontSizeMenuItem#connect#activate (fun _ ->
+ gui#decreaseFontSize ();
+ MatitaMathView.decrease_font_size ();
+ MatitaMathView.update_font_sizes ()));
+ ignore (gui#main#normalFontSizeMenuItem#connect#activate (fun _ ->
+ gui#resetFontSize ();
+ MatitaMathView.reset_font_size ();
+ MatitaMathView.update_font_sizes ()));
+ MatitaMathView.reset_font_size ();
+ (* disambiguator callback *)
+ MatitaDisambiguator.set_choose_uris_callback
+ (MatitaGui.interactive_uri_choice ());
+ MatitaDisambiguator.set_choose_interp_callback
+ (MatitaGui.interactive_interp_choice ())
+
+let script =
+ MatitaScript.script
+ ~buffer:gui#sourceView#buffer
+ ~init:(Lazy.force MatitaEngine.initial_status)
+ ~mathviewer:(MatitaMathView.mathViewer ())
+ ~urichooser:(fun uris ->
+ try
+ MatitaGui.interactive_uri_choice ~selection_mode:`SINGLE
+ ~title:"Matita: URI chooser"
+ ~msg:"Select the URI" ~hide_uri_entry:true
+ ~hide_try:true ~ok_label:"_Apply" ~ok_action:`SELECT
+ ~copy_cb:(fun s -> gui#sourceView#buffer#insert ("\n"^s^"\n"))
+ () ~id:"boh?" uris
+ with MatitaTypes.Cancel -> [])
+ ~set_star:gui#setStar
+ ()