]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/content_pres/cicNotationPres.ml
Huge commit with several changes:
[helm.git] / helm / software / components / content_pres / cicNotationPres.ml
index 77dc2b08cf8c52ebfcf2fb7f49b8e98f2eaa6903..35f128a05b524078b117a394cb51b87a8554f6d1 100644 (file)
@@ -200,16 +200,17 @@ let add_parens child_prec curr_prec t =
       BoxPp.render_to_string (function x::_->x|_->assert false)
         ~map_unicode_to_tex:false 80 t);*)t)
 
-let render ids_to_uris ?(prec=(-1)) =
+let lookup_uri ids_to_uris id =
+ try
+   let uri = Hashtbl.find ids_to_uris id in
+   Some (UriManager.string_of_uri uri)
+ with Not_found -> None
+;;
+
+let render ~lookup_uri ?(prec=(-1)) =
   let module A = Ast in
   let module P = Mpresentation in
 (*   let use_unicode = true in *)
-  let lookup_uri id =
-    (try
-      let uri = Hashtbl.find ids_to_uris id in
-      Some (UriManager.string_of_uri uri)
-    with Not_found -> None)
-  in
   let make_href xmlattrs xref =
     let xref_uris =
       List.fold_right
@@ -405,6 +406,14 @@ let render ids_to_uris ?(prec=(-1)) =
            box_of mathonly (A.H, false, false) attrs 
             (aux_children mathonly false xref  prec 
               (CicNotationUtil.ungroup terms)))
+    | A.Mpadded (l,terms) -> 
+        Mpres.Mpadded 
+          (List.map (fun (k,v) -> None,k,v) l, 
+           box_of mathonly (A.H, false, false) attrs 
+            (aux_children mathonly false xref  prec 
+              (CicNotationUtil.ungroup terms)))
+    | A.Maction alternatives -> 
+         toggle_action (List.map invoke_reinit alternatives)
     | A.Group terms ->
        let children =
           aux_children mathonly false xref  prec