]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk_gtkmathview/lablgtk-20000829_gtkmathview-0.2.1/gtkMathView.ml
This commit was manufactured by cvs2svn to create branch 'start'.
[helm.git] / helm / DEVEL / lablgtk_gtkmathview / lablgtk-20000829_gtkmathview-0.2.1 / gtkMathView.ml
diff --git a/helm/DEVEL/lablgtk_gtkmathview/lablgtk-20000829_gtkmathview-0.2.1/gtkMathView.ml b/helm/DEVEL/lablgtk_gtkmathview/lablgtk-20000829_gtkmathview-0.2.1/gtkMathView.ml
new file mode 100644 (file)
index 0000000..2bedc2f
--- /dev/null
@@ -0,0 +1,120 @@
+open Gtk
+open Gtk_mathview
+open Tags
+open GtkBase
+open Gpointer
+
+external mDOMNode_of_boxed_option :
+ Gpointer.boxed option -> Minidom.mDOMNode =
+  "ml_gtk_math_view_mDOMNode_of_bodex_option"
+
+external mDOMNode_option_of_boxed_option :
+ Gpointer.boxed option -> Minidom.mDOMNode option =
+  "ml_gtk_math_view_mDOMNode_option_of_bodex_option"
+
+let o_mDOMNode_of_mDOMNode node = new Ominidom.o_mDOMNode node
+
+let o_mDOMNode_option_of_mDOMNode_option =
+  function
+  | Some x -> Some (o_mDOMNode_of_mDOMNode x)
+  | None   -> None
+
+module MathView = struct
+  exception NoSelection
+
+  type font_manager_id = FontManagerGtk | FontManagerT1
+  
+  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 load : [>`math_view] obj -> filename:string -> bool =
+   "ml_gtk_math_view_load"
+  external unload : [>`math_view] obj -> unit =
+   "ml_gtk_math_view_unload"
+  external raw_get_selection : [>`math_view] obj -> Minidom.mDOMNode option =
+   "ml_gtk_math_view_get_selection"
+  let has_selection obj =
+    match raw_get_selection obj with
+    | None -> false
+    | _ -> true
+  let get_selection obj =
+    match raw_get_selection obj with
+    | Some x -> o_mDOMNode_of_mDOMNode x
+    | None -> raise NoSelection
+  external raw_set_selection : [>`math_view] obj -> Minidom.mDOMNode option -> unit=
+   "ml_gtk_math_view_set_selection"
+  let set_selection obj (node : Ominidom.o_mDOMNode) = raw_set_selection obj (Some (node#get_dom_node))
+  let reset_selection obj = raw_set_selection obj None
+  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) =
+   "ml_gtk_math_view_get_top"
+  external set_top : [>`math_view] obj -> int -> int -> unit =
+   "ml_gtk_math_view_set_top"
+  external set_adjustments : [>`math_view] 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 =
+   "ml_gtk_math_view_get_buffer"
+  external get_frame : [>`math_view] obj -> [`frame] obj =
+   "ml_gtk_math_view_get_frame"
+  external set_font_size : [>`math_view] obj -> int -> unit =
+   "ml_gtk_math_view_set_font_size"
+  external get_font_size : [>`math_view] 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_kerning : [>`math_view] obj -> bool -> unit =
+   "ml_gtk_math_view_set_kerning"
+  external get_kerning : [>`math_view] obj -> bool =
+   "ml_gtk_math_view_get_kerning"
+  external set_log_verbosity : [>`math_view] obj -> int -> unit =
+   "ml_gtk_math_view_set_log_verbosity"
+  external get_log_verbosity : [>`math_view] 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_id =
+   "ml_gtk_math_view_get_font_manager_type"
+  external set_font_manager_type : [>`math_view] obj -> fm_type:font_manager_id -> unit =
+   "ml_gtk_math_view_set_font_manager_type"
+  
+  module Signals = struct
+    open GtkSignal
+
+    let clicked : ([>`math_view],_) t =
+     let marshal_clicked f _ =
+      function
+         [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_clicked"
+     in
+      { name = "clicked"; marshaller = marshal_clicked }
+
+    let jump : ([>`math_view],_) t =
+     let marshal_jump f _ =
+      function
+         [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_jump"
+     in
+      { name = "jump"; marshaller = marshal_jump }
+
+    let selection_changed : ([>`math_view],_) t =
+     let marshal_selection_changed f _ =
+      function
+         [GtkArgv.POINTER node] -> f (o_mDOMNode_option_of_mDOMNode_option (mDOMNode_option_of_boxed_option node))
+       | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_selection_changed"
+     in
+      { name = "selection_changed"; marshaller = marshal_selection_changed }
+  end
+end