X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Flablgtkmathview%2Fml_gtk_mathview.c;h=2c3d80c8112a86aec568d818b0c52a5048015e95;hb=56b68e877e6eb517c3efba7d9485947e940f7785;hp=5f86ff03c4bc35a057f16159b340b0ac014542ee;hpb=4a97b3700b140024e1783ac12501ad5dfa4be9b5;p=helm.git diff --git a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c b/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c index 5f86ff03c..2c3d80c81 100644 --- a/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c +++ b/helm/DEVEL/lablgtkmathview/ml_gtk_mathview.c @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include @@ -39,25 +39,21 @@ #include #include -#include -#include "mlminidom/ml_minidom.h" - -/* : Next row should be put in a .h of lablgtk. */ -#define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val) -/* : Next rows too */ - -extern value Val_GtkObject_sink(); - -#define Val_GtkAny(w) Val_GtkObject((GtkObject*)w) -#define Val_GtkAny_sink(w) Val_GtkObject_sink((GtkObject*)w) -#define Val_GtkWidget Val_GtkAny -#define Val_GtkWidget_sink Val_GtkAny_sink +#include #define GtkMathView_val(val) check_cast(GTK_MATH_VIEW,val) #define FontManagerId_val(val) Int_val(val) #define Val_FontManagerId(val) Val_int(val) +// As ML_1, but the result is optional +#define OML_1(cname, conv1, conv) \ +value ml_##cname (value arg1) { return Val_option_ptr((cname (conv1 (arg1))),conv); } +// As ML_2, but the second argument is optional +#define ML_2O(cname, conv1, conv2, conv) \ +value ml_##cname (value arg1, value arg2) \ +{ return conv (cname (conv1(arg1), ptr_val_option(arg2,conv2))); } + FontManagerId font_manager_id_of_value(value v) { @@ -81,11 +77,14 @@ value_of_font_manager_id(FontManagerId id) } ML_2 (gtk_math_view_new,GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink) -ML_2 (gtk_math_view_load, GtkMathView_val, String_val, Val_bool) +ML_1 (gtk_math_view_freeze, GtkMathView_val, Unit) +ML_1 (gtk_math_view_thaw, GtkMathView_val, Unit) +ML_2 (gtk_math_view_load_uri, GtkMathView_val, String_val, Val_bool) +ML_2 (gtk_math_view_load_doc, GtkMathView_val, Document_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_mDOMNodeRef) -ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNodeRef_val, Unit) +ML_2 (gtk_math_view_select, GtkMathView_val, Element_val, Unit) +ML_2 (gtk_math_view_unselect, GtkMathView_val, Element_val, Unit) +ML_2 (gtk_math_view_is_selected, GtkMathView_val, Element_val, Val_bool) 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) @@ -98,8 +97,8 @@ ML_2 (gtk_math_view_set_font_size, GtkMathView_val, Int_val, Unit) ML_1 (gtk_math_view_get_font_size, GtkMathView_val, Val_int) ML_2 (gtk_math_view_set_anti_aliasing, GtkMathView_val, Bool_val, Unit) ML_1 (gtk_math_view_get_anti_aliasing, GtkMathView_val, Val_bool) -ML_2 (gtk_math_view_set_kerning, GtkMathView_val, Bool_val, Unit) -ML_1 (gtk_math_view_get_kerning, GtkMathView_val, Val_bool) +ML_2 (gtk_math_view_set_transparency, GtkMathView_val, Bool_val, Unit) +ML_1 (gtk_math_view_get_transparency, GtkMathView_val, Val_bool) ML_2 (gtk_math_view_set_log_verbosity, GtkMathView_val, Int_val, Unit) ML_1 (gtk_math_view_get_log_verbosity, GtkMathView_val, Val_int) ML_2 (gtk_math_view_set_font_manager_type, GtkMathView_val, font_manager_id_of_value, Unit) @@ -145,32 +144,39 @@ value ml_gtk_math_view_get_top (value arg1) CAMLreturn (result); } -value ml_gtk_math_view_mDOMNode_of_boxed (value arg1) +value ml_gtk_math_view_gdome_element_of_boxed_option (value arg1) { CAMLparam1(arg1); - mDOMNodeRef nr; - CAMLlocal1 (optval); + GdomeElement* nr; CAMLlocal1 (res); - nr = (mDOMNodeRef) Field(arg1, 1); - optval = Val_mDOMNodeRef(nr); - if (optval==Val_int(0)) { + if (arg1==Val_int(0)) { assert(0); } else { - res = Field(optval, 0); + nr = (GdomeElement*) Field(Field(arg1,0),1); + } + res = Val_Element(nr); + if (res==Val_int(0)) { + assert(0); } - CAMLreturn(res); + CAMLreturn(res); } -value ml_gtk_math_view_mDOMNode_option_of_boxed (value arg1) +value ml_gtk_math_view_gdome_element_option_of_boxed_option (value arg1) { CAMLparam1(arg1); - mDOMNodeRef nr; + GdomeElement* nr; + CAMLlocal1 (valnr); + CAMLlocal1 (res); - nr = (mDOMNodeRef) Field(arg1, 1); + if (arg1==Val_int(0)) { + res=Val_unit; + } else { + res = Val_option_ptr((GdomeElement*) Field(Field(arg1,0),1),Val_Element); + } - CAMLreturn(Val_mDOMNodeRef(nr)); + CAMLreturn(res); }