]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtkmathview/gtkMathView.ml
debian release 0.0.4-1
[helm.git] / helm / DEVEL / lablgtkmathview / gtkMathView.ml
index ef2df07224f1b11ed4e256a046f0102f562da3f9..2420c94c110f2c3ca6f2edee7d32e9a01decf82c 100644 (file)
@@ -1,4 +1,5 @@
-(* Copyright (C) 2000, Luca Padovani <luca.padovani@cs.unibo.it>.
+(* Copyright (C) 2000-2003, Luca Padovani <luca.padovani@cs.unibo.it>,
+ *                          Claudio Sacerdoti Coen <sacerdot@cs.unibo.it>.
  *
  * This file is part of lablgtkmathview, the Ocaml binding
  * for the GtkMathView widget.
@@ -61,6 +62,9 @@ module MathView = struct
   external is_selected :
    [>`math_view] obj -> [> `Element] GdomeT.t -> bool =
    "ml_gtk_math_view_is_selected"
+  external get_element_at :
+   [> `math_view] obj -> int -> int -> TElement.t option =
+   "ml_gtk_math_view_get_element_at"
   external get_width : [>`math_view] obj -> int =
    "ml_gtk_math_view_get_width"
   external get_height : [>`math_view] obj -> int =
@@ -79,6 +83,8 @@ module MathView = struct
    "ml_gtk_math_view_get_buffer"
   external get_frame : [>`math_view] obj -> Gtk.frame obj =
    "ml_gtk_math_view_get_frame"
+  external get_drawing_area : [>`math_view] obj -> Gtk.drawing_area obj =
+   "ml_gtk_math_view_get_drawing_area"
   external set_font_size : [>`math_view] obj -> int -> unit =
    "ml_gtk_math_view_set_font_size"
   external get_font_size : [>`math_view] obj -> int =
@@ -108,32 +114,62 @@ module MathView = struct
   module Signals = struct
     open GtkSignal
 
-    let clicked : ([>`math_view],_) t =
-     let marshal_clicked f _ =
+    let click : ([>`math_view],_) t =
+     let marshal_click f _ =
       function
-         [GtkArgv.POINTER element] -> f (gdome_element_of_boxed_option element)
-       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_clicked"
+         [GtkArgv.POINTER element; GtkArgv.INT state] ->
+          f (gdome_element_option_of_boxed_option element) state
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_click"
      in
-      { name = "clicked"; classe = `math_view; marshaller = marshal_clicked }
+      { name = "click"; classe = `math_view; marshaller = marshal_click }
 
-    let press_move : ([>`math_view],_) t =
-     let marshal_press_move f _ =
+    let element_over : ([>`math_view],_) t =
+     let marshal_element_over f _ =
       function
-         [GtkArgv.POINTER first; GtkArgv.POINTER last] ->
-          f (gdome_element_option_of_boxed_option first)
-            (gdome_element_option_of_boxed_option last)
-       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_press_move"
+         [GtkArgv.POINTER element; GtkArgv.INT state] ->
+          f (gdome_element_option_of_boxed_option element) state
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_element_over"
      in
-      { name = "press_move"; classe = `math_view;
-        marshaller = marshal_press_move }
+      { name = "element_over"; classe = `math_view;
+        marshaller = marshal_element_over }
 
-    let element_changed : ([>`math_view],_) t =
-     let marshal_element_changed f _ =
+    let select_begin : ([>`math_view],_) t =
+     let marshal_select_begin f _ =
       function
-         [GtkArgv.POINTER element] -> f (gdome_element_option_of_boxed_option element)
-       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_element_changed"
+         [GtkArgv.POINTER element; GtkArgv.INT state] ->
+          f (gdome_element_option_of_boxed_option element) state
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_select_begin"
      in
-      { name = "element_changed"; classe = `math_view;
-        marshaller = marshal_element_changed }
+      { name = "select_begin"; classe = `math_view;
+        marshaller = marshal_select_begin }
+
+    let select_over : ([>`math_view],_) t =
+     let marshal_select_over f _ =
+      function
+         [GtkArgv.POINTER element; GtkArgv.INT state] ->
+          f (gdome_element_option_of_boxed_option element) state
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_select_over"
+     in
+      { name = "select_over"; classe = `math_view;
+        marshaller = marshal_select_over }
+
+    let select_end : ([>`math_view],_) t =
+     let marshal_select_end f _ =
+      function
+         [GtkArgv.POINTER element; GtkArgv.INT state] ->
+          f (gdome_element_option_of_boxed_option element) state
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_select_end"
+     in
+      { name = "select_end"; classe = `math_view;
+        marshaller = marshal_select_end }
+
+    let select_abort : ([>`math_view],_) t =
+     let marshal_select_abort f _ =
+      function
+         [] -> f ()
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_select_abort"
+     in
+      { name = "select_abort"; classe = `math_view;
+        marshaller = marshal_select_abort }
   end
 end