X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Fmatita.ml;h=b62587e1d229a389d88c7fc64e7006e35554f3b5;hb=eb5345bc1314ca8bf8b9ea2293dbe0aa496b2d69;hp=6e57c2e8ffd7614eb280330a8aaa249ac2f198cd;hpb=92b20571ab97c7d662304926c113fc42292b4435;p=helm.git diff --git a/helm/matita/matita.ml b/helm/matita/matita.ml index 6e57c2e8f..b62587e1d 100644 --- a/helm/matita/matita.ml +++ b/helm/matita/matita.ml @@ -32,26 +32,26 @@ open MatitaMisc (** {2 Initialization} *) let _ = - Helm_registry.load_from "matita.conf.xml"; - GtkMain.Rc.add_default_file BuildTimeConf.gtkrc; - GMain.Main.init () - -let parserr = new MatitaDisambiguator.parserr () -let dbd = - Mysql.quick_connect - ~host:(Helm_registry.get "db.host") - ~user:(Helm_registry.get "db.user") - ~database:(Helm_registry.get "db.database") - () -let _ = MetadataDb.clean ~dbd ~owner:(Helm_registry.get "matita.owner") + Helm_registry.load_from "matita.conf.xml"; (* read conf *) + Http_getter.init (); + MetadataTypes.ownerize_tables (Helm_registry.get "matita.owner"); + MatitaDb.clean_owner_environment (); + MatitaDb.create_owner_environment (); + GtkMain.Rc.add_default_file BuildTimeConf.gtkrc; (* loads gtk rc files *) + ignore (GMain.Main.init ()) + let gui = MatitaGui.instance () -let disambiguator = - new MatitaDisambiguator.disambiguator ~parserr ~dbd - ~chooseUris:(interactive_user_uri_choice ~gui) - ~chooseInterp:(interactive_interp_choice ~gui) - () +let _ = (* set disambiguator callbacks *) + let disambiguator = MatitaDisambiguator.instance () in + disambiguator#setChooseUris (interactive_user_uri_choice ~gui); + disambiguator#setChooseInterp (interactive_interp_choice ~gui) +let _ = (* environment trust *) + CicEnvironment.set_trust + (let trust = Helm_registry.get_bool "matita.environment_trust" in + fun _ -> trust) + +let currentProof = MatitaProof.instance () -let currentProof = new MatitaProof.currentProof let sequent_viewer = MatitaMathView.sequent_viewer ~show:true () let sequents_viewer = @@ -83,15 +83,9 @@ let _ = (* attach observers to proof status *) false); currentProof#connect `Abort (fun () -> sequents_viewer#reset; false) -let currentProof = (currentProof :> MatitaTypes.currentProof) -let mathViewer = - MatitaMathView.mathViewer ~disambiguator - ~currentProof:(currentProof :> MatitaTypes.currentProof) () let interpreter = - let console = (gui#console :> MatitaTypes.console) in - new MatitaInterpreter.interpreter - ~disambiguator ~currentProof:(currentProof :> MatitaTypes.currentProof) - ~console ~mathViewer ~dbd () + let mathViewer = MatitaMathView.mathViewer () in + MatitaInterpreter.interpreter ~console:gui#console ~mathViewer () let _ = let href_callback uri = let term = CicAst.Uri (UriManager.string_of_uri uri, None) in @@ -159,8 +153,7 @@ let _ = "Don't know what to do with file: %s\nUnrecognized file format." f))); ignore (gui#main#newCicBrowserMenuItem#connect#activate (fun _ -> - let currentProof = (currentProof :> MatitaTypes.currentProof) in - ignore (MatitaMathView.cicBrowser ~disambiguator ~currentProof ()))); + ignore (MatitaMathView.cicBrowser ()))); connect_button gui#script#scriptWinForwardButton script_forward; connect_button gui#script#scriptWinBackButton script_back; connect_button gui#script#scriptWinJumpButton script_jump; @@ -200,11 +193,6 @@ let _ = in ignore (item#connect#activate callback) in - addDebugItem "toggle auto disambiguation" (fun _ -> - Helm_registry.set_bool "matita.auto_disambiguation" - (not (Helm_registry.get_bool "matita.auto_disambiguation"))); - addDebugItem "dump proof status to stdout" (fun _ -> - print_endline (currentProof#proof#toString)); addDebugItem "dump environment to \"env.dump\"" (fun _ -> let oc = open_out "env.dump" in CicEnvironment.dump_to_channel oc; @@ -214,21 +202,29 @@ let _ = List.iter (fun t -> incr i; debug_print (sprintf "%d: %s" !i (CicPp.ppterm t))) sequent_viewer#get_selected_terms); - addDebugItem "refresh all browsers" MatitaMathView.refresh_all_browsers; + addDebugItem "dump getter settings" (fun _ -> + prerr_endline (Http_getter_env.env_to_string ())); + addDebugItem "getter: update" Http_getter.update; + addDebugItem "getter: getalluris" (fun _ -> + List.iter prerr_endline (Http_getter.getalluris ())); end (** *) let _ = -(* CicEnvironment.set_trust (fun _ -> false); *) (* (try load_script Sys.argv.(1) with Invalid_argument _ -> ()); *) - if Pcre.pmatch ~pat:"cicbrowser$" Sys.argv.(0) then begin - ignore (MatitaMathView.cicBrowser ~disambiguator ~currentProof ()) - end else begin + if Filename.basename Sys.argv.(0) = "cicbrowser" then begin (* cicbrowser *) + Helm_registry.set "matita.mode" "cicbrowser"; + let browser = MatitaMathView.cicBrowser () in + try + browser#loadUri Sys.argv.(1) + with Invalid_argument _ -> () + end else begin (* matita *) + Helm_registry.set "matita.mode" "matita"; gui#main#mainWin#show (); gui#toolbar#toolBarWin#show (); gui#console#show ()