--- /dev/null
+open Gaux
+open Gtk
+open Gtk_mathview
+open GtkBase
+open GtkMathView
+open GObj
+
+exception ErrorLoadingFile of string;;
+
+class math_view_signals obj = object
+ inherit GContainer.container_signals obj
+ method jump = GtkSignal.connect ~sgn:MathView.Signals.jump obj ~after
+ method clicked = GtkSignal.connect ~sgn:MathView.Signals.clicked obj ~after
+end
+
+class math_view obj = object
+ inherit GContainer.container (obj : Gtk_mathview.math_view obj)
+ method connect = new math_view_signals obj
+ method load ~filename =
+ if not (MathView.load obj ~filename) then raise (ErrorLoadingFile filename)
+ method get_selection = MathView.get_selection obj
+ method unload = MathView.unload obj
+ method dump = MathView.dump obj
+ method get_width = MathView.get_width obj
+ method get_height = MathView.get_height obj
+ method set_adjustments =
+ fun adj1 adj2 ->
+ MathView.set_adjustments obj (GData.as_adjustment adj1)
+ (GData.as_adjustment adj2)
+ method get_hadjustment = new GData.adjustment (MathView.get_hadjustment obj)
+ method get_vadjustment = new GData.adjustment (MathView.get_vadjustment obj)
+ method get_buffer = MathView.get_buffer obj
+ method get_frame = new GBin.frame (MathView.get_frame obj)
+ method set_font_size = MathView.set_font_size obj
+ (*method get_top = MathView.get_top obj
+ method set_top = MathView.set_top obj*)
+end
+
+let math_view ?adjustmenth ?adjustmentv ?border_width ?width ?height
+ ?packing ?show ()
+=
+ let w =
+ MathView.create
+ ?adjustmenth:(may_map ~f:GData.as_adjustment adjustmenth)
+ ?adjustmentv:(may_map ~f:GData.as_adjustment adjustmentv)
+ ()
+ in
+ Container.set w ?border_width ?width ?height;
+ pack_return (new math_view w) ~packing ~show
+;;