sig
  val cast : 'Gobject.obj -> Gtk.text_view Gtk.obj
  module P :
    sig
      val editable : ([> `textview ], bool) Gobject.property
      val cursor_visible : ([> `textview ], bool) Gobject.property
      val indent : ([> `textview ], int) Gobject.property
      val justification :
        ([> `textview ], GtkEnums.justification) Gobject.property
      val left_margin : ([> `textview ], int) Gobject.property
      val pixels_above_lines : ([> `textview ], int) Gobject.property
      val pixels_below_lines : ([> `textview ], int) Gobject.property
      val pixels_inside_wrap : ([> `textview ], int) Gobject.property
      val right_margin : ([> `textview ], int) Gobject.property
      val wrap_mode : ([> `textview ], GtkEnums.wrap_mode) Gobject.property
      val accepts_tab : ([> `textview ], bool) Gobject.property
      val bottom_margin : ([> `textview ], int) Gobject.property
      val buffer : ([> `textview ], Gtk.text_buffer) Gobject.property
      val im_module : ([> `textview ], string) Gobject.property
      val input_hints :
        ([> `textview ], GtkEnums.input_hints) Gobject.property
      val input_purpose :
        ([> `textview ], GtkEnums.input_purpose) Gobject.property
      val monospace : ([> `textview ], bool) Gobject.property
      val overwrite : ([> `textview ], bool) Gobject.property
      val populate_all : ([> `textview ], bool) Gobject.property
      val top_margin : ([> `textview ], int) Gobject.property
    end
  module S :
    sig
      val copy_clipboard : ([> `textview ], unit -> unit) GtkSignal.t
      val cut_clipboard : ([> `textview ], unit -> unit) GtkSignal.t
      val delete_from_cursor :
        ([> `textview ], GtkEnums.delete_type -> int -> unit) GtkSignal.t
      val insert_at_cursor : ([> `textview ], string -> unit) GtkSignal.t
      val move_cursor :
        ([> `textview ],
         GtkEnums.movement_step -> int -> extend:bool -> unit)
        GtkSignal.t
      val move_focus :
        ([> `textview ], GtkEnums.direction_type -> unit) GtkSignal.t
      val page_horizontally :
        ([> `textview ], int -> extend:bool -> unit) GtkSignal.t
      val paste_clipboard : ([> `textview ], unit -> unit) GtkSignal.t
      val populate_popup :
        ([> `textview ], Gtk.menu Gtk.obj -> unit) GtkSignal.t
      val set_anchor : ([> `textview ], unit -> unit) GtkSignal.t
      val set_scroll_adjustments :
        ([> `textview ],
         Gtk.adjustment Gtk.obj option ->
         Gtk.adjustment Gtk.obj option -> unit)
        GtkSignal.t
      val toggle_overwrite : ([> `textview ], unit -> unit) GtkSignal.t
    end
  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
end