]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/matitaMathView.ml
freescale porting, work in progress
[helm.git] / helm / software / matita / matitaMathView.ml
index c666a34f7d7fe5f06efe5827e3660a5900e7bfc2..38c46da8c74c80b17744f5c342090ca9efbf73de 100644 (file)
@@ -1035,6 +1035,25 @@ 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_hints () =
+      let module Pp = GraphvizPp.Dot in
+      let filename, oc = Filename.open_temp_file "matita" ".dot" in
+      let fmt = Format.formatter_of_out_channel oc in
+      let status = (MatitaScript.current ())#grafite_status in
+      Pp.header 
+        ~name:"Hints"
+        ~graph_type:"graph"
+        ~graph_attrs:["overlap", "false"]
+        ~node_attrs:["fontsize", "9"; "width", ".4"; 
+            "height", ".4"; "shape", "box"]
+        ~edge_attrs:["fontsize", "10"; "len", "2"] fmt;
+      NCicUnifHint.generate_dot_file status fmt;
+      Pp.trailer fmt;
+      Pp.raw "@." fmt;
+      close_out oc;
+      gviz#load_graph_from_file ~gviz_cmd:"neato -Tpng" filename;
+      (*HExtlib.safe_remove filename*)
+  in
   let load_coerchgraph tred () = 
       let module Pp = GraphvizPp.Dot in
       let filename, oc = Filename.open_temp_file "matita" ".dot" in
@@ -1261,6 +1280,7 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history)
           | `About `Us -> self#egg ()
           | `About `CoercionsFull -> self#coerchgraph false ()
           | `About `Coercions -> self#coerchgraph true ()
+          | `About `Hints -> self#hints ()
           | `About `TeX -> self#tex ()
           | `About `Grammar -> self#grammar () 
           | `Check term -> self#_loadCheck term
@@ -1324,6 +1344,10 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history)
       load_coerchgraph tred ();
       self#_showGviz
 
+    method private hints () =
+      load_hints ();
+      self#_showGviz
+
     method private tex () =
       let b = Buffer.create 1000 in
       Printf.bprintf b "UTF-8 equivalence classes (rotate with ALT-L):\n\n";
@@ -1452,7 +1476,7 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history)
 
     method private _loadTermNCic term m s c =
       let d = 0 in
-      let m = (0,(None,c,term))::m in
+      let m = (0,([],c,term))::m in
       let status = (MatitaScript.current ())#grafite_status in
       mathView#nload_sequent status m s d;
       self#_showMath