X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Focaml%2Fml_mathml_editor.c;h=c74dfd01cf4b02aebe237e61dd447353389c28ec;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=7dd6bd050f21ad5948159f5c1202752b6f647e90;hpb=e3d3386861ccaed8b573173db458e315b06d233f;p=helm.git diff --git a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c index 7dd6bd050..c74dfd01c 100644 --- a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c +++ b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c @@ -1,16 +1,38 @@ +/* This file is part of EdiTeX, an editor of mathematical + * expressions based on TeX syntax. + * + * Copyright (C) 2002-2003 Luca Padovani , + * 2003 Paolo Marinelli . + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * For more information, please visit the project's home page + * http://helm.cs.unibo.it/editex/ + * or send an email to + */ + +#include #include #include #include -#include #include "mlgdomevalue.h" #include "c_mathml_editor.h" -#undef assert -#define assert(x) {} - typedef struct { Editor* c_editor; @@ -36,7 +58,7 @@ ml_mathml_editor_finalize(value v) free(editor); } -void +static void ml_mathml_editor_log_callback(int level, const char* msg, void* user_data) { ml_Editor* ml_editor = (ml_Editor*) user_data; @@ -45,9 +67,31 @@ ml_mathml_editor_log_callback(int level, const char* msg, void* user_data) } value -ml_mathml_editor_new(value dictionary, - value tml_mml, - value tml_tex, +ml_mathml_editor_get_default_dictionary_path(value unit) +{ + CAMLparam1(unit); + CAMLreturn(copy_string(c_mathml_editor_get_default_dictionary_path())); +} + +value +ml_mathml_editor_get_default_mathml_stylesheet_path(value unit) +{ + CAMLparam1(unit); + CAMLreturn(copy_string(c_mathml_editor_get_default_mathml_stylesheet_path())); +} + +value +ml_mathml_editor_get_default_tex_stylesheet_path(value unit) +{ + CAMLparam1(unit); + CAMLreturn(copy_string(c_mathml_editor_get_default_tex_stylesheet_path())); +} + +value +ml_mathml_editor_new(value alt, + value dictionary_uri, + value tml_mml_uri, + value tml_tex_uri, value log_message_cb) { static struct custom_operations ops = @@ -63,9 +107,10 @@ ml_mathml_editor_new(value dictionary, value v = alloc_custom(&ops, sizeof(ml_Editor*), 0, 1); ml_Editor** ml_editor_ref = (ml_Editor**) Data_custom_val(v); ml_Editor* ml_editor = *ml_editor_ref = malloc(sizeof(ml_Editor)); - ml_editor->c_editor = c_mathml_editor_new(Document_val(dictionary), - Document_val(tml_mml), - Document_val(tml_tex), + ml_editor->c_editor = c_mathml_editor_new(Bool_val(alt), + String_val(dictionary_uri), + String_val(tml_mml_uri), + String_val(tml_tex_uri), ml_mathml_editor_log_callback, (void*) ml_editor); ml_editor->callback = log_message_cb;