X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2FmatitaMathView.ml;h=ee49267fe3c57d1579fb2924dd07dc4c7e1c0150;hb=ecc6a77fcb57cbab35fddfdb34514edf6a57ad71;hp=4b54f60ac1e7f36bdd355147166e9790f53476fa;hpb=2066e0e9fcd678b61fcf7911ea3976344d5a85ab;p=helm.git diff --git a/matita/matitaMathView.ml b/matita/matitaMathView.ml index 4b54f60ac..ee49267fe 100644 --- a/matita/matitaMathView.ml +++ b/matita/matitaMathView.ml @@ -844,12 +844,15 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) let load_easter_egg = lazy ( win#browserImage#set_file (MatitaMisc.image_path "meegg.png")) in - let load_coerchgraph () = + let load_coerchgraph tred () = let str = CoercGraph.generate_dot_file () in let filename, oc = Filename.open_temp_file "matita" ".dot" in output_string oc str; close_out oc; - gviz#load_graph_from_file filename; + if tred then + gviz#load_graph_from_file ~gviz_cmd:"tred|dot" filename + else + gviz#load_graph_from_file filename; HExtlib.safe_remove filename in object (self) @@ -925,6 +928,10 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) match self#currentCicUri with | Some uri -> self#load (`Metadata (`Deps (`Back, uri))) | None -> ()); + connect_menu_item win#hBugsTutorsMenuItem (fun () -> + self#load (`HBugs `Tutors)); + connect_menu_item win#browserUrlMenuItem (fun () -> + win#browserUri#entry#misc#grab_focus ()); (* fill dep graph contextual menu *) let go_menu_item = @@ -1000,9 +1007,10 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) * * Use only these functions to switch between the tabs *) - method private _showMath = win#mathOrListNotebook#goto_page 0 - method private _showList = win#mathOrListNotebook#goto_page 1 - method private _showGviz = win#mathOrListNotebook#goto_page 3 + method private _showMath = win#mathOrListNotebook#goto_page 0 + method private _showList = win#mathOrListNotebook#goto_page 1 + method private _showGviz = win#mathOrListNotebook#goto_page 3 + method private _showHBugs = win#mathOrListNotebook#goto_page 4 method private back () = try @@ -1019,17 +1027,19 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) method private _load ?(force=false) entry = handle_error (fun () -> if entry <> current_entry || entry = `About `Current_proof || entry = - `About `Coercions || force then + `About `Coercions || entry = `About `CoercionsFull || force then begin (match entry with | `About `Current_proof -> self#home () | `About `Blank -> self#blank () | `About `Us -> self#egg () - | `About `Coercions -> self#coerchgraph () + | `About `CoercionsFull -> self#coerchgraph false () + | `About `Coercions -> self#coerchgraph true () | `Check term -> self#_loadCheck term | `Cic (term, metasenv) -> self#_loadTermCic term metasenv | `Development d -> self#_showDevelDeps d | `Dir dir -> self#_loadDir dir + | `HBugs `Tutors -> self#_loadHBugsTutors | `Metadata (`Deps ((`Fwd | `Back) as dir, uri)) -> self#dependencies dir uri () | `Uri uri -> self#_loadUriManagerUri uri @@ -1073,8 +1083,8 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) self#redraw_gviz ~center_on:uri (); self#_showGviz - method private coerchgraph () = - load_coerchgraph (); + method private coerchgraph tred () = + load_coerchgraph tred (); self#_showGviz method private home () = @@ -1111,6 +1121,9 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) lastDir <- dir; self#_loadList l + method private _loadHBugsTutors = + self#_showHBugs + method private setEntry entry = win#browserUri#entry#set_text (MatitaTypes.string_of_entry entry); current_entry <- entry @@ -1176,6 +1189,7 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) `Uri (UriManager.uri_of_string ((*fix_uri*) txt)) | txt when is_dir txt -> `Dir (MatitaMisc.normalize_dir txt) | txt when is_metadata txt -> `Metadata (parse_metadata txt) + | "hbugs:/tutors/" -> `HBugs `Tutors | txt -> (try MatitaTypes.entry_of_string txt