-let _ = Helm_registry.load_from "matita.conf.xml"
-let _ = GMain.Main.init ()
-let gui = new MatitaGui.gui (Helm_registry.get "matita.glade_file")
-let parserr = new MatitaDisambiguator.parserr ()
-let mqiconn = MQIConn.init ()
-let disambiguator =
- new MatitaDisambiguator.disambiguator ~parserr ~mqiconn
- ~chooseUris:(interactive_user_uri_choice ~gui)
- ~chooseInterp:(interactive_interp_choice ~gui)
- ()
-let proof_viewer =
- let mml_of_cic_object = BuildTimeConf.Transformer.mml_of_cic_object in
-(*
- let frame = GBin.frame ~packing:(gui#proof#scrolledProof#add) ~show:true () in
- MatitaMathView.proof_viewer ~show:true ~packing:(frame#add) ()
-*)
- MatitaMathView.proof_viewer ~show:true ~packing:(gui#proof#scrolledProof#add) ()
-(*
-let sequent_viewer =
- let mml_of_cic_sequent = BuildTimeConf.Transformer.mml_of_cic_sequent in
- MatitaMathView.sequent_viewer ~mml_of_cic_sequent ~show:true
- ~packing:(gui#main#scrolledSequents#add) ()
-*)
-
-let new_proof (proof: MatitaTypes.proof) =
- (* TODO Zack a lot:
- * - ids_to_inner_types, ids_to_inner_sorts handling
- * - sequent viewer notification
- *)
- let xmldump_observer _ _ = print_endline proof#toString in
- let proof_observer _ (status, metadata) =
- debug_print "proof_observer";
- let (acic, ids_to_terms, ids_to_father_ids, ids_to_inner_sorts,
- ids_to_inner_types, ids_to_conjectures, ids_to_hypotheses) =
- metadata
- in
- let ((uri_opt, _, _, _), _) = status in
- let uri = MatitaTypes.unopt_uri uri_opt in
- debug_print "apply transformation";
- let mathml =
- BuildTimeConf.Transformer.mml_of_cic_object
- ~explode_all:true uri acic ids_to_inner_sorts ids_to_inner_types
- in
- if BuildTimeConf.debug then save_dom ~doc:mathml ~dest:"/tmp/matita.xml";
- proof_viewer#load_proof mathml metadata;
- debug_print "/proof_observer"
+let _ =
+ Helm_registry.load_from BuildTimeConf.matita_conf;
+ CicNotation.load_notation BuildTimeConf.core_notation_script;
+ Http_getter.init ();
+ MetadataTypes.ownerize_tables (Helm_registry.get "matita.owner");
+ MatitaDb.create_owner_environment ();
+ MatitamakeLib.initialize ();
+ CicEnvironment.set_trust (* environment trust *)
+ (let trust = Helm_registry.get_bool "matita.environment_trust" in
+ fun _ -> trust)
+
+(** {2 GUI callbacks} *)
+
+let gui = MatitaGui.instance ()
+
+let script =
+ let s =
+ MatitaScript.script
+ ~source_view:gui#sourceView
+ ~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
+ ~ask_confirmation:
+ (fun ~title ~message ->
+ MatitaGtkMisc.ask_confirmation ~title ~message
+ ~parent:gui#main#toplevel ())
+ ~develcreator:gui#createDevelopment
+ ()