]> matita.cs.unibo.it Git - helm.git/commitdiff
added {get,set,pp}_attr
authorStefano Zacchiroli <zack@upsilon.cc>
Tue, 6 Sep 2005 16:48:04 +0000 (16:48 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Tue, 6 Sep 2005 16:48:04 +0000 (16:48 +0000)
helm/ocaml/cic_notation/box.ml
helm/ocaml/cic_notation/box.mli

index 7c4026d8120f0df49214b636f9598d66d9163c0f..c11558a2796040a01b633a892f481d646bd310b8 100644 (file)
@@ -119,3 +119,32 @@ let b_indent = indent
 let b_space = Space [None, "width", "0.5em"]
 let b_kw = b_text (RenderingAttrs.object_keyword_attributes `BoxML)
 
+let pp_attr attr =
+  let pp (ns, n, v) =
+    Printf.sprintf "%s%s=%s" (match ns with None -> "" | Some s -> s ^ ":") n v
+  in
+  String.concat " " (List.map pp attr)
+
+let get_attr = function
+  | Text (attr, _)
+  | Space attr
+  | Ink attr
+  | H (attr, _)
+  | V (attr, _)
+  | HV (attr, _)
+  | HOV (attr, _)
+  | Object (attr, _)
+  | Action (attr, _) ->
+      attr
+
+let set_attr attr = function
+  | Text (_, x) -> Text (attr, x)
+  | Space _ -> Space attr
+  | Ink _ -> Ink attr
+  | H (_, x) -> H (attr, x)
+  | V (_, x) -> V (attr, x)
+  | HV (_, x) -> HV (attr, x)
+  | HOV (_, x) -> HOV (attr, x)
+  | Object (_, x) -> Object (attr, x)
+  | Action (_, x) -> Action (attr, x)
+
index 29669578088a875be7e86a819d8437a072d1c7b3..56c0869640fd72ed4c9ea397506ba6a639bac252 100644 (file)
@@ -46,6 +46,9 @@ type
 
 and attr = (string option * string * string) list
 
+val get_attr: 'a box -> attr
+val set_attr: attr -> 'a box -> 'a box
+
 val smallskip : 'expr box
 val skip: 'expr box
 val indent : 'expr box -> 'expr box
@@ -71,3 +74,5 @@ val b_indent: 'expr box -> 'expr box
 val b_space: 'expr box
 val b_kw: string -> 'expr box
 
+val pp_attr: attr -> string
+