X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Focaml%2Fml_mathml_editor.c;fp=helm%2FDEVEL%2Fmathml_editor%2Focaml%2Fml_mathml_editor.c;h=0000000000000000000000000000000000000000;hp=c74dfd01cf4b02aebe237e61dd447353389c28ec;hb=1696761e4b8576e8ed81caa905fd108717019226;hpb=5325734bc2e4927ed7ec146e35a6f0f2b49f50c1 diff --git a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c b/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c deleted file mode 100644 index c74dfd01c..000000000 --- a/helm/DEVEL/mathml_editor/ocaml/ml_mathml_editor.c +++ /dev/null @@ -1,210 +0,0 @@ -/* 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 "mlgdomevalue.h" - -#include "c_mathml_editor.h" - -typedef struct -{ - Editor* c_editor; - value callback; -} ml_Editor; - -ml_Editor* -Editor_val(value v) -{ - ml_Editor* editor = *((ml_Editor**) Data_custom_val(v)); - assert(editor != NULL); - return editor; -} - -static void -ml_mathml_editor_finalize(value v) -{ - ml_Editor* editor = Editor_val(v); - assert(editor); - - remove_global_root(&editor->callback); - c_mathml_editor_destroy(editor->c_editor); - free(editor); -} - -static void -ml_mathml_editor_log_callback(int level, const char* msg, void* user_data) -{ - ml_Editor* ml_editor = (ml_Editor*) user_data; - assert(ml_editor); - callback2(ml_editor->callback, Val_int(level), copy_string(msg)); -} - -value -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 = - { - "HELM/MathML Editor", - ml_mathml_editor_finalize, - custom_compare_default, - custom_hash_default, - custom_serialize_default, - custom_deserialize_default - }; - - 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(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; - register_global_root(&ml_editor->callback); - - return v; -} - -value -ml_mathml_editor_freeze(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_freeze(editor->c_editor))); -} - -value -ml_mathml_editor_thaw(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_thaw(editor->c_editor))); -} - -value -ml_mathml_editor_push(value v, value ch) -{ - CAMLparam2(v, ch); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_push(editor->c_editor, Int_val(ch)); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_drop(value v, value alt) -{ - CAMLparam2(v, alt); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_drop(editor->c_editor, Bool_val(alt)); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_cursor_hide(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_cursor_hide(editor->c_editor))); -} - -value -ml_mathml_editor_cursor_show(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - CAMLreturn(Val_bool(c_mathml_editor_cursor_show(editor->c_editor))); -} - -value -ml_mathml_editor_get_tex(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - char* res = c_mathml_editor_get_tex(editor->c_editor); - CAMLlocal1(ml_res); - ml_res = copy_string(res); - free(res); - CAMLreturn(ml_res); -} - -value -ml_mathml_editor_reset(value v, value s) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - c_mathml_editor_reset(editor->c_editor); - CAMLreturn(Val_unit); -} - -value -ml_mathml_editor_get_tml(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - GdomeDocument* doc = c_mathml_editor_get_tml(editor->c_editor); - CAMLreturn(Val_Document(doc)); -} - -value -ml_mathml_editor_get_mml(value v) -{ - CAMLparam1(v); - ml_Editor* editor = Editor_val(v); - GdomeDocument* doc = c_mathml_editor_get_mml(editor->c_editor); - CAMLreturn(Val_Document(doc)); -} -