]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtkmathview/gtkMathView.ml
* restored binding with gtkmathview 0.4.0
[helm.git] / helm / DEVEL / lablgtkmathview / gtkMathView.ml
1 (* Copyright (C) 2000, Luca Padovani <luca.padovani@cs.unibo.it>.
2  *
3  * This file is part of lablgtkmathview, the Ocaml binding
4  * for the GtkMathView widget.
5  * 
6  * lablgtkmathview is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * lablgtkmathview is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with lablgtkmathview; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  * 
20  * For details, send a mail to the author.
21  *)
22
23 open Gtk
24 open Gtk_mathview
25 open Tags
26 open GtkBase
27 open Gpointer
28
29 external gdome_element_of_boxed_option :
30  Gpointer.boxed option -> TElement.t =
31   "ml_gtk_math_view_gdome_element_of_boxed_option"
32
33 external gdome_element_option_of_boxed_option :
34  Gpointer.boxed option -> TElement.t option =
35   "ml_gtk_math_view_gdome_element_option_of_boxed_option"
36
37 module MathView = struct
38   exception NoSelection
39
40   let cast w : math_view obj = Object.try_cast w "GtkMathView"
41   external create : Gtk.adjustment optobj -> Gtk.adjustment optobj -> 
42    math_view obj = "ml_gtk_math_view_new"
43   let create ~adjustmenth ~adjustmentv () =
44    create (optboxed adjustmenth) (optboxed adjustmentv)
45   external freeze : [>`math_view] obj -> unit =
46    "ml_gtk_math_view_freeze"
47   external thaw : [>`math_view] obj -> unit =
48    "ml_gtk_math_view_thaw"
49   external load_uri : [>`math_view] obj -> filename:string -> bool =
50    "ml_gtk_math_view_load_uri"
51   external load_doc : [>`math_view] obj -> dom:[> `Document] GdomeT.t -> bool =
52    "ml_gtk_math_view_load_doc"
53   external unload : [>`math_view] obj -> unit =
54    "ml_gtk_math_view_unload"
55   external select :
56    [>`math_view] obj -> [> `Element] GdomeT.t -> unit =
57    "ml_gtk_math_view_select"
58   external unselect :
59    [>`math_view] obj -> [> `Element] GdomeT.t -> unit =
60    "ml_gtk_math_view_unselect"
61   external is_selected :
62    [>`math_view] obj -> [> `Element] GdomeT.t -> bool =
63    "ml_gtk_math_view_is_selected"
64   external get_width : [>`math_view] obj -> int =
65    "ml_gtk_math_view_get_width"
66   external get_height : [>`math_view] obj -> int =
67    "ml_gtk_math_view_get_height"
68   external get_top : [>`math_view] obj -> (int * int) =
69    "ml_gtk_math_view_get_top"
70   external set_top : [>`math_view] obj -> int -> int -> unit =
71    "ml_gtk_math_view_set_top"
72   external set_adjustments : [>`math_view] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
73    "ml_gtk_math_view_set_adjustments"
74   external get_hadjustment : [>`math_view] obj -> Gtk.adjustment obj =
75    "ml_gtk_math_view_get_hadjustment"
76   external get_vadjustment : [>`math_view] obj -> Gtk.adjustment obj =
77    "ml_gtk_math_view_get_vadjustment"
78   external get_buffer : [>`math_view] obj -> Gdk.pixmap =
79    "ml_gtk_math_view_get_buffer"
80   external get_frame : [>`math_view] obj -> Gtk.frame obj =
81    "ml_gtk_math_view_get_frame"
82   external set_font_size : [>`math_view] obj -> int -> unit =
83    "ml_gtk_math_view_set_font_size"
84   external get_font_size : [>`math_view] obj -> int =
85    "ml_gtk_math_view_get_font_size"
86   external set_anti_aliasing : [>`math_view] obj -> bool -> unit =
87    "ml_gtk_math_view_set_anti_aliasing"
88   external get_anti_aliasing : [>`math_view] obj -> bool =
89    "ml_gtk_math_view_get_anti_aliasing"
90   external set_transparency : [>`math_view] obj -> bool -> unit =
91    "ml_gtk_math_view_set_transparency"
92   external get_transparency : [>`math_view] obj -> bool =
93    "ml_gtk_math_view_get_transparency"
94   external set_log_verbosity : [>`math_view] obj -> int -> unit =
95    "ml_gtk_math_view_set_log_verbosity"
96   external get_log_verbosity : [>`math_view] obj -> int =
97    "ml_gtk_math_view_get_log_verbosity"
98   external export_to_postscript :
99    [>`math_view] obj -> width:int -> height:int -> x_margin:int -> y_margin:int -> disable_colors:bool -> filename:string -> bool =
100    "ml_gtk_math_view_export_to_postscript_bytecode" "ml_gtk_math_view_export_to_postscript_native"
101   external get_font_manager_type : [>`math_view] obj ->
102    [`font_manager_gtk | `font_manager_t1] =
103    "ml_gtk_math_view_get_font_manager_type"
104   external set_font_manager_type : [>`math_view] obj ->
105     fm_type:[`font_manager_gtk | `font_manager_t1] -> unit =
106    "ml_gtk_math_view_set_font_manager_type"
107   
108   module Signals = struct
109     open GtkSignal
110
111     let clicked : ([>`math_view],_) t =
112      let marshal_clicked f _ =
113       function
114          [GtkArgv.POINTER element] -> f (gdome_element_of_boxed_option element)
115        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_clicked"
116      in
117       { name = "clicked"; classe = `math_view; marshaller = marshal_clicked }
118
119     let press_move : ([>`math_view],_) t =
120      let marshal_press_move f _ =
121       function
122          [GtkArgv.POINTER first; GtkArgv.POINTER last] ->
123            f (gdome_element_option_of_boxed_option first)
124              (gdome_element_option_of_boxed_option last)
125        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_press_move"
126      in
127       { name = "press_move"; classe = `math_view;
128         marshaller = marshal_press_move }
129
130     let element_changed : ([>`math_view],_) t =
131      let marshal_element_changed f _ =
132       function
133          [GtkArgv.POINTER element] -> f (gdome_element_option_of_boxed_option element)
134        | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_element_changed"
135      in
136       { name = "element_changed"; classe = `math_view;
137         marshaller = marshal_element_changed }
138   end
139 end