]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk_gtkmathview/lablgtk-20000829_gtkmathview-0.2.1/gtkMathView.ml
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / DEVEL / lablgtk_gtkmathview / lablgtk-20000829_gtkmathview-0.2.1 / gtkMathView.ml
1 open Gtk
2 open Gtk_mathview
3 open Tags
4 open GtkBase
5 open Gpointer
6
7 external mDOMNode_of_boxed_option :
8  Gpointer.boxed option -> Minidom.mDOMNode =
9   "ml_gtk_math_view_mDOMNode_of_bodex_option"
10
11 external mDOMNode_option_of_boxed_option :
12  Gpointer.boxed option -> Minidom.mDOMNode option =
13   "ml_gtk_math_view_mDOMNode_option_of_bodex_option"
14
15 let o_mDOMNode_of_mDOMNode node = new Ominidom.o_mDOMNode node
16
17 let o_mDOMNode_option_of_mDOMNode_option =
18   function
19   | Some x -> Some (o_mDOMNode_of_mDOMNode x)
20   | None   -> None
21
22 let mDOMNode_option_of_o_mDOMNode_option =
23   function
24   | Some x -> Some (x#get_dom_node)
25   | None   -> None
26
27 module MathView = struct
28   exception NoSelection
29
30   let cast w : math_view obj = Object.try_cast w "GtkMathView"
31   external create : Gtk.adjustment optobj -> Gtk.adjustment optobj -> 
32    math_view obj = "ml_gtk_math_view_new"
33   let create ~adjustmenth ~adjustmentv () =
34    create (optboxed adjustmenth) (optboxed adjustmentv)
35   external load : [>`math_view] obj -> filename:string -> bool =
36    "ml_gtk_math_view_load"
37   external unload : [>`math_view] obj -> unit =
38    "ml_gtk_math_view_unload"
39   external raw_get_selection : [>`math_view] obj -> Minidom.mDOMNode option =
40    "ml_gtk_math_view_get_selection"
41   let get_selection obj =
42    o_mDOMNode_option_of_mDOMNode_option (raw_get_selection obj)
43   external raw_set_selection : [>`math_view] obj -> Minidom.mDOMNode option -> unit=
44    "ml_gtk_math_view_set_selection"
45   let set_selection obj node =
46    raw_set_selection obj (mDOMNode_option_of_o_mDOMNode_option node)
47   external get_width : [>`math_view] obj -> int =
48    "ml_gtk_math_view_get_width"
49   external get_height : [>`math_view] obj -> int =
50    "ml_gtk_math_view_get_height"
51   external get_top : [>`math_view] obj -> (int * int) =
52    "ml_gtk_math_view_get_top"
53   external set_top : [>`math_view] obj -> int -> int -> unit =
54    "ml_gtk_math_view_set_top"
55   external set_adjustments : [>`math_view] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
56    "ml_gtk_math_view_set_adjustments"
57   external get_hadjustment : [>`math_view] obj -> Gtk.adjustment obj =
58    "ml_gtk_math_view_get_hadjustment"
59   external get_vadjustment : [>`math_view] obj -> Gtk.adjustment obj =
60    "ml_gtk_math_view_get_vadjustment"
61   external get_buffer : [>`math_view] obj -> Gdk.pixmap =
62    "ml_gtk_math_view_get_buffer"
63   external get_frame : [>`math_view] obj -> [`frame] obj =
64    "ml_gtk_math_view_get_frame"
65   external set_font_size : [>`math_view] obj -> int -> unit =
66    "ml_gtk_math_view_set_font_size"
67   external get_font_size : [>`math_view] obj -> int =
68    "ml_gtk_math_view_get_font_size"
69   external set_anti_aliasing : [>`math_view] obj -> bool -> unit =
70    "ml_gtk_math_view_set_anti_aliasing"
71   external get_anti_aliasing : [>`math_view] obj -> bool =
72    "ml_gtk_math_view_get_anti_aliasing"
73   external set_kerning : [>`math_view] obj -> bool -> unit =
74    "ml_gtk_math_view_set_kerning"
75   external get_kerning : [>`math_view] obj -> bool =
76    "ml_gtk_math_view_get_kerning"
77   external set_log_verbosity : [>`math_view] obj -> int -> unit =
78    "ml_gtk_math_view_set_log_verbosity"
79   external get_log_verbosity : [>`math_view] obj -> int =
80    "ml_gtk_math_view_get_log_verbosity"
81   external export_to_postscript :
82    [>`math_view] obj -> width:int -> height:int -> x_margin:int -> y_margin:int -> disable_colors:bool -> filename:string -> bool =
83    "ml_gtk_math_view_export_to_postscript_bytecode" "ml_gtk_math_view_export_to_postscript_native"
84   external get_font_manager_type : [>`math_view] obj ->
85    [`font_manager_gtk | `font_manager_t1] =
86    "ml_gtk_math_view_get_font_manager_type"
87   external set_font_manager_type : [>`math_view] obj ->
88     fm_type:[`font_manager_gtk | `font_manager_t1] -> unit =
89    "ml_gtk_math_view_set_font_manager_type"
90   
91   module Signals = struct
92     open GtkSignal
93
94     let clicked : ([>`math_view],_) t =
95      let marshal_clicked f _ =
96       function
97          [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
98        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_clicked"
99      in
100       { name = "clicked"; marshaller = marshal_clicked }
101
102     let jump : ([>`math_view],_) t =
103      let marshal_jump f _ =
104       function
105          [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
106        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_jump"
107      in
108       { name = "jump"; marshaller = marshal_jump }
109
110     let selection_changed : ([>`math_view],_) t =
111      let marshal_selection_changed f _ =
112       function
113          [GtkArgv.POINTER node] -> f (o_mDOMNode_option_of_mDOMNode_option (mDOMNode_option_of_boxed_option node))
114        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_selection_changed"
115      in
116       { name = "selection_changed"; marshaller = marshal_selection_changed }
117   end
118 end