let start = ref 0;;
let len = ref 10;;
-let pp c t =
+
+let font_size = ref
+ (Helm_registry.get_opt_default Helm_registry.int
+ ~default:BuildTimeConf.default_font_size "matita.font_size")
+;;
+
+let set_font_size n = font_size := n;;
+
+let pp ?(size=(!font_size)) c t =
let t =
ProofEngineReduction.replace
~equality:(fun a b -> match b with Cic.Meta _ -> true | _ -> false)
~what:[Cic.Rel 1] ~with_what:[Cic.Implicit None] ~where:t
in
+ (if size > 0 then "<span font_desc=\""^string_of_int size^"\">" else "") ^
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 =
if x == fake_goal then "" else pp context x
;;
let pp_candidate context x = pp context x
+let pp_candidate_tip context x = pp ~size:0 context x
+let pp_candidate_type context x =
+ try
+ let ty, _ =
+ CicTypeChecker.type_of_aux' [] ~subst:[]
+ context x CicUniv.oblivion_ugraph
+ in
+ pp ~size:0 context ty
+ with CicUtil.Meta_not_found _ -> pp ~size:0 context x
+;;
let sublist start len l =
let rec aux pos len = function
let cell_of_candidate height context ?(active=false) g id c =
let tooltip = GData.tooltips () in (* should be only one isn't it? *)
- let button =
- GButton.button
- ~label:(pp_candidate context c(* ^ " - " ^ string_of_int id*))
- ()
- in
+ let button = GButton.button () in
+ let l = GMisc.label ~markup:(pp_candidate context c) () in
+ button#add l#coerce;
button#misc#set_size_request ~height ();
if active then
button#misc#set_sensitive false;
let text =
- "Follow computation of "^pp_candidate context c^" on "^pp_goal context g
+ "Follow/Prune computation of\n"^pp_candidate_tip context c^": "^
+ pp_candidate_type context c
in
tooltip#set_tip ~text (button :> GObj.widget);
ignore(button#connect#clicked
begin
old_displayed_status := displayed_status;
old_size := win_size;
+(*
win#labelLAST#set_text
(String.concat ";" (List.map (pp_candidate ctx) last_moves));
+*)
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;