sig
  val cast : 'Gobject.obj -> Gtk.text Gtk.obj
  module P = GtkBrokenProps.Text.P
  val create : Gtk.text Gobject.param list -> Gtk.text Gtk.obj
  val make_params :
    cont:(([> `text ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?hadjustment:Gtk.adjustment Gtk.obj ->
    ?vadjustment:Gtk.adjustment Gtk.obj ->
    ?editable:bool -> ?line_wrap:bool -> ?word_wrap:bool -> 'b
  external set_point : [> `text ] Gtk.obj -> int -> unit
    = "ml_gtk_text_set_point"
  external get_point : [> `text ] Gtk.obj -> int = "ml_gtk_text_get_point"
  external get_length : [> `text ] Gtk.obj -> int = "ml_gtk_text_get_length"
  external freeze : [> `text ] Gtk.obj -> unit = "ml_gtk_text_freeze"
  external thaw : [> `text ] Gtk.obj -> unit = "ml_gtk_text_thaw"
  external insert :
    [> `text ] Gtk.obj ->
    ?font:Gdk.font ->
    ?foreground:Gdk.color -> ?background:Gdk.color -> string -> unit
    = "ml_gtk_text_insert"
  external forward_delete : [> `text ] Gtk.obj -> int -> unit
    = "ml_gtk_text_forward_delete"
  external backward_delete : [> `text ] Gtk.obj -> int -> unit
    = "ml_gtk_text_backward_delete"
end