sig
  val cast : 'Gobject.obj -> Gtk.text_view Gtk.obj
  module P = GtkTextProps.TextView.P
  module S = GtkTextProps.TextView.S
  val create : Gtk.text_view Gobject.param list -> Gtk.text_view Gtk.obj
  val make_params :
    cont:(([> `textview ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?editable:bool ->
    ?cursor_visible:bool ->
    ?justification:GtkEnums.justification ->
    ?wrap_mode:GtkEnums.wrap_mode -> ?accepts_tab:bool -> 'b
  external create_with_buffer : Gtk.text_buffer -> Gtk.text_view Gtk.obj
    = "ml_gtk_text_view_new_with_buffer"
  external set_buffer : [> `textview ] Gtk.obj -> Gtk.text_buffer -> unit
    = "ml_gtk_text_view_set_buffer"
  external get_buffer : [> `textview ] Gtk.obj -> Gtk.text_buffer
    = "ml_gtk_text_view_get_buffer"
  external scroll_to_mark :
    [> `textview ] Gtk.obj ->
    Gtk.text_mark -> float -> bool -> float -> float -> unit
    = "ml_gtk_text_view_scroll_to_mark_bc" "ml_gtk_text_view_scroll_to_mark"
  external scroll_to_iter :
    [> `textview ] Gtk.obj ->
    Gtk.text_iter -> float -> bool -> float -> float -> bool
    = "ml_gtk_text_view_scroll_to_iter_bc" "ml_gtk_text_view_scroll_to_iter"
  external scroll_mark_onscreen :
    [> `textview ] Gtk.obj -> Gtk.text_mark -> unit
    = "ml_gtk_text_view_scroll_mark_onscreen"
  external move_mark_onscreen :
    [> `textview ] Gtk.obj -> Gtk.text_mark -> bool
    = "ml_gtk_text_view_move_mark_onscreen"
  external place_cursor_onscreen : [> `textview ] Gtk.obj -> bool
    = "ml_gtk_text_view_place_cursor_onscreen"
  external get_visible_rect : [> `textview ] Gtk.obj -> Gdk.Rectangle.t
    = "ml_gtk_text_view_get_visible_rect"
  external get_iter_location :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> Gdk.Rectangle.t
    = "ml_gtk_text_view_get_iter_location"
  external get_line_at_y :
    [> `textview ] Gtk.obj -> int -> Gtk.text_iter * int
    = "ml_gtk_text_view_get_line_at_y"
  external get_line_yrange :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> int * int
    = "ml_gtk_text_view_get_line_yrange"
  external get_iter_at_location :
    [> `textview ] Gtk.obj -> int -> int -> Gtk.text_iter
    = "ml_gtk_text_view_get_iter_at_location"
  external buffer_to_window_coords :
    [> `textview ] Gtk.obj ->
    Gtk.Tags.text_window_type -> int -> int -> int * int
    = "ml_gtk_text_view_buffer_to_window_coords"
  external window_to_buffer_coords :
    [> `textview ] Gtk.obj ->
    Gtk.Tags.text_window_type -> int -> int -> int * int
    = "ml_gtk_text_view_window_to_buffer_coords"
  external get_window :
    [> `textview ] Gtk.obj -> Gtk.Tags.text_window_type -> Gdk.window option
    = "ml_gtk_text_view_get_window"
  external get_window_type :
    [> `textview ] Gtk.obj -> Gdk.window -> Gtk.Tags.text_window_type
    = "ml_gtk_text_view_get_window_type"
  external set_border_window_size :
    [> `textview ] Gtk.obj ->
    [ `BOTTOM | `LEFT | `RIGHT | `TOP ] -> int -> unit
    = "ml_gtk_text_view_set_border_window_size"
  external get_border_window_size :
    [> `textview ] Gtk.obj -> [ `BOTTOM | `LEFT | `RIGHT | `TOP ] -> int
    = "ml_gtk_text_view_get_border_window_size"
  external forward_display_line :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> bool
    = "ml_gtk_text_view_forward_display_line"
  external backward_display_line :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> bool
    = "ml_gtk_text_view_backward_display_line"
  external forward_display_line_end :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> bool
    = "ml_gtk_text_view_forward_display_line_end"
  external backward_display_line_start :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> bool
    = "ml_gtk_text_view_backward_display_line_start"
  external starts_display_line :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> bool
    = "ml_gtk_text_view_starts_display_line"
  external move_visually :
    [> `textview ] Gtk.obj -> Gtk.text_iter -> int -> bool
    = "ml_gtk_text_view_move_visually"
  external add_child_at_anchor :
    [> `textview ] Gtk.obj ->
    [> `widget ] Gtk.obj -> Gtk.text_child_anchor -> unit
    = "ml_gtk_text_view_add_child_at_anchor"
  external add_child_in_window :
    [> `textview ] Gtk.obj ->
    [> `widget ] Gtk.obj -> Gtk.Tags.text_window_type -> int -> int -> unit
    = "ml_gtk_text_view_add_child_in_window"
  external move_child :
    [> `textview ] Gtk.obj -> [> `widget ] Gtk.obj -> int -> int -> unit
    = "ml_gtk_text_view_move_child"
end