dump_moo.cmx: buildTimeConf.cmx
lablGraphviz.cmo: lablGraphviz.cmi
lablGraphviz.cmx: lablGraphviz.cmi
-matitaAutoGui.cmo: matitaGeneratedGui.cmx applyTransformation.cmi \
- matitaAutoGui.cmi
-matitaAutoGui.cmx: matitaGeneratedGui.cmx applyTransformation.cmx \
- matitaAutoGui.cmi
+matitaAutoGui.cmo: matitaGeneratedGui.cmx buildTimeConf.cmx \
+ applyTransformation.cmi matitaAutoGui.cmi
+matitaAutoGui.cmx: matitaGeneratedGui.cmx buildTimeConf.cmx \
+ applyTransformation.cmx matitaAutoGui.cmi
matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi
matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi
matitacLib.cmo: matitaExcPp.cmi matitaEngine.cmi buildTimeConf.cmx \
matitaGui.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \
matitaMathView.cmx matitaGtkMisc.cmx matitaGeneratedGui.cmx \
matitaExcPp.cmx matitaAutoGui.cmx buildTimeConf.cmx matitaGui.cmi
-matitaInit.cmo: matitacLib.cmi matitaExcPp.cmi buildTimeConf.cmx \
- matitaInit.cmi
-matitaInit.cmx: matitacLib.cmx matitaExcPp.cmx buildTimeConf.cmx \
- matitaInit.cmi
+matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi
+matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi
matitaMathView.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \
matitaGuiTypes.cmi matitaGtkMisc.cmi matitaExcPp.cmi lablGraphviz.cmi \
buildTimeConf.cmx applyTransformation.cmi matitaMathView.cmi
applyTransformation.mli \
matitacLib.mli \
matitaInit.mli \
- matitaAutoGui.mli \
matitaGtkMisc.mli \
+ matitaAutoGui.mli \
matitaScript.mli \
matitaMathView.mli \
matitaGui.mli \
~what:[Cic.Rel 1] ~with_what:[Cic.Implicit None] ~where:t
in
(if size > 0 then "<span font_desc=\""^string_of_int size^"\">" else "") ^
- (Pcre.replace ~pat:"<" ~templ:"<"
- (Pcre.replace ~pat:">" ~templ:">"
+ (MatitaGtkMisc.escape_pango_markup
(ApplyTransformation.txt_of_cic_term ~map_unicode_to_tex:false
- max_int [] c t)))^
+ max_int [] c t))^
(if size > 0 then "</span>" else "")
;;
let pp_goal context x =
let old_size = ref 0;;
let fill_win (win : MatitaGeneratedGui.autoWin) cb =
- let init = Unix.gettimeofday () in
+(* let init = Unix.gettimeofday () in *)
try
let (status : status) = cb () in
let win_size = win#toplevel#misc#allocation.Gtk.width in
List.iter win#table#remove win#table#children;
let height = win#viewportAREA#misc#allocation.Gtk.height in
elems_to_rows height ctx win_size win#table displayed_status;
+(*
Printf.eprintf
"REDRAW COST: %2.1f\n%!" (Unix.gettimeofday () -. init);
+*)
end
with exn -> prerr_endline (Printexc.to_string exn); ()
;;
Auto.step ();
win#toplevel#destroy ();
GMain.Main.quit ();true));
- let redraw_callback _ = fill_win win elems;true in
+ let redraw_callback _ =
+ fill_win win elems;
+ true
+ in
let redraw = GMain.Timeout.add ~ms:400 ~callback:redraw_callback in
ignore(win#buttonPAUSE#connect#clicked
(fun _ ->
if BuildTimeConf.debug then
assert(Glib.Utf8.validate s);
Glib.Utf8.length s
+
+let escape_pango_markup text =
+ let text = Pcre.replace ~pat:"&" ~templ:"&" text in
+ let text = Pcre.replace ~pat:"<" ~templ:"<" text in
+ let text = Pcre.replace ~pat:"'" ~templ:"'" text in
+ let text = Pcre.replace ~pat:"\"" ~templ:""" text in
+ text
+;;
+
(* the length in characters, not bytes *)
val utf8_string_length: string -> int
+
+val escape_pango_markup: string -> string
tree_store#get ~row:iter ~column:interp_no_col
end
+
let interactive_string_choice
text prefix_len ?(title = "") ?(msg = "") () ~id locs uris
=
-
- let text = Pcre.replace ~pat:"<" ~templ:"<" text in
- let text = Pcre.replace ~pat:"'" ~templ:"'" text in
- let text = Pcre.replace ~pat:"\"" ~templ:""" text in
- let text = Pcre.replace ~pat:">" ~templ:">" text in
let gui = instance () in
let dialog = gui#newUriDialog () in
dialog#uriEntryHBox#misc#hide ();
let rec colorize acc_len = function
| [] ->
let floc = HExtlib.floc_of_loc (acc_len,hack_len) in
- fst(MatitaGtkMisc.utf8_parsed_text text floc)
+ escape_pango_markup (fst(MatitaGtkMisc.utf8_parsed_text text floc))
| he::tl ->
let start, stop = HExtlib.loc_of_floc he in
let floc1 = HExtlib.floc_of_loc (acc_len,start) in
let str1,_=MatitaGtkMisc.utf8_parsed_text text floc1 in
let str2,_ = MatitaGtkMisc.utf8_parsed_text text he in
- str1 ^ "<b>" ^ str2 ^ "</b>" ^ colorize stop tl
+ escape_pango_markup str1 ^ "<b>" ^
+ escape_pango_markup str2 ^ "</b>" ^
+ colorize stop tl
in
(* List.iter (fun l -> let start, stop = HExtlib.loc_of_floc l in
Printf.eprintf "(%d,%d)" start stop) locs; *)
let txt,_ = MatitaGtkMisc.utf8_parsed_text txt
(HExtlib.floc_of_loc (prefix_len,MatitaGtkMisc.utf8_string_length txt))
in
+ prerr_endline ("txt:" ^ txt);
dialog#uriChoiceLabel#set_label txt;
List.iter model#easy_append uris;
let return v =