]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtkmathview/gtkMathView.ml
ocaml 3.09 transition
[helm.git] / helm / DEVEL / lablgtkmathview / gtkMathView.ml
index dbb1463b7b825095078e9957f7957c7241969b32..0b9d453498cd8dd40a049c7d41c85ea413bd7304 100644 (file)
-(* Copyright (C) 2000, Luca Padovani <luca.padovani@cs.unibo.it>.
+(* Copyright (C) 2000-2005,
+ *    Luca Padovani          <lpadovan@cs.unibo.it>
+ *    Claudio Sacerdoti Coen  <sacerdot@cs.unibo.it>
+ *    Stefano Zacchiroli      <zacchiro@cs.unibo.it>
  *
- * This file is part of lablgtkmathview, the Ocaml binding
- * for the GtkMathView widget.
+ * This file is part of lablgtkmathview, the Ocaml binding for the
+ * GtkMathView widget.
  * 
  * lablgtkmathview is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
  *
  * lablgtkmathview 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with lablgtkmathview; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
  * 
- * For details, send a mail to the author.
+ * For details, send a mail to the authors.
  *)
 
-open Gtk
 open Gtk_mathview
+open Gaux
+open Gobject
+open Gtk
 open Tags
+open GtkMathViewProps
 open GtkBase
-open Gpointer
 
-external gdome_element_of_boxed_option :
- Gpointer.boxed option -> TElement.t =
-  "ml_gtk_math_view_gdome_element_of_boxed_option"
+external _gtkmathview_init : unit -> unit = "ml_gtk_mathview_init"
+let () = _gtkmathview_init ()
 
-external gdome_element_option_of_boxed_option :
- Gpointer.boxed option -> TElement.t option =
-  "ml_gtk_math_view_gdome_element_option_of_boxed_option"
+external add_configuration_path : string -> unit =
+  "ml_gtk_math_view_add_configuration_path"
 
 module MathView = struct
-  exception NoSelection
-
-  let cast w : math_view obj = Object.try_cast w "GtkMathView"
-  external create : Gtk.adjustment optobj -> Gtk.adjustment optobj -> 
-   math_view obj = "ml_gtk_math_view_new"
-  let create ~adjustmenth ~adjustmentv () =
-   create (optboxed adjustmenth) (optboxed adjustmentv)
-  external freeze : [>`math_view] obj -> unit =
+  include MathView_GMetaDOM
+  external freeze : [>`mathview_gmetadom] obj -> unit =
    "ml_gtk_math_view_freeze"
-  external thaw : [>`math_view] obj -> unit =
+  external thaw : [>`mathview_gmetadom] obj -> unit =
    "ml_gtk_math_view_thaw"
-  external load_uri : [>`math_view] obj -> filename:string -> bool =
+  external load_uri : [>`mathview_gmetadom] obj -> filename:string -> bool =
    "ml_gtk_math_view_load_uri"
-  external load_doc : [>`math_view] obj -> dom:[> `Document] GdomeT.t -> bool =
-   "ml_gtk_math_view_load_doc"
-  external unload : [>`math_view] obj -> unit =
+  external load_root : [>`mathview_gmetadom] obj -> root:[> `Element] GdomeT.t -> bool =
+   "ml_gtk_math_view_load_root"
+  external unload : [>`mathview_gmetadom] obj -> unit =
    "ml_gtk_math_view_unload"
   external select :
-   [>`math_view] obj -> [> `Element] GdomeT.t -> unit =
+   [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit =
    "ml_gtk_math_view_select"
   external unselect :
-   [>`math_view] obj -> [> `Element] GdomeT.t -> unit =
+   [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit =
    "ml_gtk_math_view_unselect"
   external is_selected :
-   [>`math_view] obj -> [> `Element] GdomeT.t -> bool =
+   [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> bool =
    "ml_gtk_math_view_is_selected"
-  external get_width : [>`math_view] obj -> int =
-   "ml_gtk_math_view_get_width"
-  external get_height : [>`math_view] obj -> int =
-   "ml_gtk_math_view_get_height"
-  external get_top : [>`math_view] obj -> (int * int) =
+  external structure_changed :
+   [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> unit =
+   "ml_gtk_math_view_structure_changed"
+  external attribute_changed :
+   [>`mathview_gmetadom] obj -> [> `Element] GdomeT.t -> name:TDOMString.t -> unit =
+   "ml_gtk_math_view_attribute_changed"
+  external get_bounding_box :
+   [>`mathview_gmetadom] obj -> (int * int * int) =
+   "ml_gtk_math_view_get_bounding_box"
+  external get_element_at :
+   [> `mathview_gmetadom] obj -> int -> int -> TElement.t option =
+   "ml_gtk_math_view_get_element_at"
+  external get_document :
+   [> `mathview_gmetadom] obj -> TDocument.t option =
+   "ml_gtk_math_view_get_document"
+   (* beginning of prop-like methods *)
+  external get_size : [>`mathview_gmetadom] obj -> int * int =
+    "ml_gtk_math_view_get_size"
+  external get_top : [>`mathview_gmetadom] obj -> (int * int) =
    "ml_gtk_math_view_get_top"
-  external set_top : [>`math_view] obj -> int -> int -> unit =
+  external set_top : [>`mathview_gmetadom] obj -> int -> int -> unit =
    "ml_gtk_math_view_set_top"
-  external set_adjustments : [>`math_view] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
+  external set_adjustments : [>`mathview_gmetadom] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
    "ml_gtk_math_view_set_adjustments"
-  external get_hadjustment : [>`math_view] obj -> Gtk.adjustment obj =
-   "ml_gtk_math_view_get_hadjustment"
-  external get_vadjustment : [>`math_view] obj -> Gtk.adjustment obj =
-   "ml_gtk_math_view_get_vadjustment"
-  external get_buffer : [>`math_view] obj -> Gdk.pixmap =
+  external get_adjustments : [>`mathview_gmetadom] obj ->
+    Gtk.adjustment obj * Gtk.adjustment obj =
+      "ml_gtk_math_view_get_adjustments"
+  external get_buffer : [>`mathview_gmetadom] obj -> Gdk.pixmap =
    "ml_gtk_math_view_get_buffer"
-  external get_frame : [>`math_view] obj -> Gtk.frame obj =
-   "ml_gtk_math_view_get_frame"
-  external set_font_size : [>`math_view] obj -> int -> unit =
+  external set_font_size : [>`mathview_gmetadom] obj -> int -> unit =
    "ml_gtk_math_view_set_font_size"
-  external get_font_size : [>`math_view] obj -> int =
+  external get_font_size : [>`mathview_gmetadom] obj -> int =
    "ml_gtk_math_view_get_font_size"
-  external set_anti_aliasing : [>`math_view] obj -> bool -> unit =
-   "ml_gtk_math_view_set_anti_aliasing"
-  external get_anti_aliasing : [>`math_view] obj -> bool =
-   "ml_gtk_math_view_get_anti_aliasing"
-  external set_transparency : [>`math_view] obj -> bool -> unit =
-   "ml_gtk_math_view_set_transparency"
-  external get_transparency : [>`math_view] obj -> bool =
-   "ml_gtk_math_view_get_transparency"
-  external set_log_verbosity : [>`math_view] obj -> int -> unit =
+  external set_log_verbosity : [>`mathview_gmetadom] obj -> int -> unit =
    "ml_gtk_math_view_set_log_verbosity"
-  external get_log_verbosity : [>`math_view] obj -> int =
+  external get_log_verbosity : [>`mathview_gmetadom] obj -> int =
    "ml_gtk_math_view_get_log_verbosity"
-  external export_to_postscript :
-   [>`math_view] obj -> width:int -> height:int -> x_margin:int -> y_margin:int -> disable_colors:bool -> filename:string -> bool =
-   "ml_gtk_math_view_export_to_postscript_bytecode" "ml_gtk_math_view_export_to_postscript_native"
-  external get_font_manager_type : [>`math_view] obj ->
-   [`font_manager_gtk | `font_manager_t1] =
-   "ml_gtk_math_view_get_font_manager_type"
-  external set_font_manager_type : [>`math_view] obj ->
-    fm_type:[`font_manager_gtk | `font_manager_t1] -> unit =
-   "ml_gtk_math_view_set_font_manager_type"
-  
-  module Signals = struct
-    open GtkSignal
-
-    let click : ([>`math_view],_) t =
-     let marshal_click f _ =
-      function
-         [GtkArgv.POINTER element; GtkArgv.INT state] ->
-          f (gdome_element_of_boxed_option element) state
-       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_click"
-     in
-      { name = "click"; classe = `math_view; marshaller = marshal_click }
-
-    let element_over : ([>`math_view],_) t =
-     let marshal_element_over f _ =
-      function
-         [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 = "element_over"; classe = `math_view;
-        marshaller = marshal_element_over }
-
-    let select_begin : ([>`math_view],_) t =
-     let marshal_select_begin f _ =
-      function
-         [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 = "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
+  external set_t1_opaque_mode : [>`mathview_gmetadom] obj -> bool -> unit =
+   "ml_gtk_math_view_set_t1_opaque_mode"
+  external get_t1_opaque_mode : [>`mathview_gmetadom] obj -> bool =
+   "ml_gtk_math_view_get_t1_opaque_mode"
+  external set_t1_anti_aliased_mode : [>`mathview_gmetadom] obj -> bool -> unit =
+   "ml_gtk_math_view_set_t1_anti_aliased_mode"
+  external get_t1_anti_aliased_mode : [>`mathview_gmetadom] obj -> bool =
+   "ml_gtk_math_view_get_t1_anti_aliased_mode"
 end