]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/matitaMisc.ml
On-going porting to lablgtk3
[helm.git] / matita / matita / matitaMisc.ml
index 6e733cd1f893f56954b6dd429d1eaf0c6a15504c..e612b88031396548b92cbc5f1ae69579d7da14b9 100644 (file)
@@ -78,7 +78,7 @@ class shell_history size =
   let decr x = let x' = x - 1 in if x' < 0 then size + x' else x' in
   let incr x = (x + 1) mod size in
   object (self)
-    val data = Array.create size ""
+    val data = Array.make size ""
 
     inherit basic_history (0, -1 , -1)
     
@@ -106,7 +106,7 @@ class shell_history size =
 class ['a] browser_history ?memento size init =
   object (self)
     initializer match memento with Some m -> self#load m | _ -> ()
-    val data = Array.create size init
+    val data = Array.make size init
 
     inherit basic_history (0, 0, 0)
     
@@ -191,14 +191,24 @@ let left_button = 1
 let middle_button = 2
 let right_button = 3
 
+(* Font size management *)
 let default_font_size () =
   Helm_registry.get_opt_default Helm_registry.int
     ~default:BuildTimeConf.default_font_size "matita.font_size"
-let current_font_size = ref ~-1
+let current_font_size = ref (default_font_size ())
+let font_size_observers = ref [];;
+let observe_font_size (f: int -> unit) =
+ f !current_font_size;
+ font_size_observers := f :: !font_size_observers;;
+let observe () =
+ List.iter (fun f -> f !current_font_size) !font_size_observers;;
 let get_current_font_size () = !current_font_size
-let increase_font_size () = incr current_font_size
-let decrease_font_size () = decr current_font_size
-let reset_font_size () = current_font_size := default_font_size ()
+let increase_font_size () =
+ incr current_font_size; observe ()
+let decrease_font_size () =
+ decr current_font_size; observe ()
+let reset_font_size () =
+ current_font_size := default_font_size (); observe ()
 
 let gui_instance = ref None
 let set_gui (gui : MatitaGuiTypes.gui) = gui_instance := Some gui