]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk_gtkmathview/lablgtk-20000829_gtkmathview-0.2.0/ml_gtk_mathview.c
Fixing the selections
[helm.git] / helm / DEVEL / lablgtk_gtkmathview / lablgtk-20000829_gtkmathview-0.2.0 / ml_gtk_mathview.c
index 184977e5e15018d1ba39f82af35eff74f6b9939c..84e21a6c84e0490b4c370e42b0d887025b96e4a6 100644 (file)
@@ -1,4 +1,5 @@
 #include <string.h>
+#include <assert.h>
 #include <gtk/gtk.h>
 #include <caml/mlvalues.h>
 #include <caml/alloc.h>
@@ -25,8 +26,8 @@ ML_3 (gtk_math_view_new,GtkAdjustment_val, GtkAdjustment_val, Bool_val, Val_GtkW
 ML_2 (gtk_math_view_load, GtkMathView_val, String_val, Val_bool)
 ML_1 (gtk_math_view_unload, GtkMathView_val, Unit)
 /*ML_1 (gtk_math_view_dump, GtkMathView_val, Unit)*/
-ML_1 (gtk_math_view_get_selection, GtkMathView_val, Val_ptr)
-ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNode_val, Unit)
+ML_1 (gtk_math_view_get_selection, GtkMathView_val, Val_mDOMNode_option)
+ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNode_option_val, Unit)
 ML_1 (gtk_math_view_get_width, GtkMathView_val, Val_int)
 ML_1 (gtk_math_view_get_height, GtkMathView_val, Val_int)
 ML_3 (gtk_math_view_set_top, GtkMathView_val, Int_val, Int_val, Unit)
@@ -84,7 +85,7 @@ value ml_gtk_math_view_mDOMNode_of_bodex_option (value arg1)
    CAMLlocal1 (tmp);
 
    if (arg1==Val_int(0)) {
-      nr = NULL;
+      assert(0);
    } else {
       tmp = Field(arg1, 0);
       nr = (mDOMNodeRef) Field(tmp, 1);
@@ -92,3 +93,20 @@ value ml_gtk_math_view_mDOMNode_of_bodex_option (value arg1)
 
   CAMLreturn((value) nr);
 }
+
+value ml_gtk_math_view_mDOMNode_option_of_bodex_option (value arg1)
+{
+   CAMLparam1(arg1);
+
+   mDOMNodeRef nr;
+   CAMLlocal1 (tmp);
+
+   if (arg1==Val_int(0)) {
+      nr = NULL;
+   } else {
+      tmp = Field(arg1, 0);
+      nr = (mDOMNodeRef) Field(tmp, 1);
+   }
+
+  CAMLreturn(Val_option(nr, Val_ptr));
+}