type html_msg = [ `Error of html_tag | `Msg of html_tag ]
-class html_logger ~width ~height ~packing ~show () =
- let scrolled_window = GBin.scrolled_window ~packing ~show () in
+let string_of_html_msg =
+ let rec string_of_html_tag = function
+ | `T s -> s
+ | `L msgs -> String.concat "\n" (List.map string_of_html_tag msgs)
+ | `BR -> "\n"
+ in
+ function
+ | `Error tag -> "Error: " ^ string_of_html_tag tag
+ | `Msg tag -> string_of_html_tag tag
+
+let html_of_html_msg =
+ let rec string_of_html_tag = function
+ | `T s -> s
+ | `L msgs ->
+ sprintf "<ul>\n%s\n</ul>"
+ (String.concat "\n"
+ (List.map
+ (fun msg -> sprintf "<li>%s</li>" (string_of_html_tag msg))
+ msgs))
+ | `BR -> "<br />\n"
+ in
+ function
+ | `Error tag -> "<b>Error: " ^ string_of_html_tag tag ^ "</b>"
+ | `Msg tag -> string_of_html_tag tag
+
+class html_logger ?width ?height ?packing ?show () =
+ let scrolled_window = GBin.scrolled_window ?packing ?show () in
let vadj = scrolled_window#vadjustment in
let tv =
GText.view ~editable:false ~cursor_visible:false
- ~width ~height ~packing:(scrolled_window#add) ()
+ ?width ?height ~packing:(scrolled_window#add) ()
in
let green =
tv#buffer#create_tag