`sig
val cast : 'a Gobject.obj -> Gtk.editable Gtk.obj
module S = GtkEditProps.Editable.S
external select_region :
[> `editable ] Gtk.obj -> start:int -> stop:int -> unit
= "ml_gtk_editable_select_region"
external get_selection_bounds :
[> `editable ] Gtk.obj -> (int * int) option
= "ml_gtk_editable_get_selection_bounds"
external insert_text : [> `editable ] Gtk.obj -> string -> pos:int -> int
= "ml_gtk_editable_insert_text"
external delete_text :
[> `editable ] Gtk.obj -> start:int -> stop:int -> unit
= "ml_gtk_editable_delete_text"
external get_chars :
[> `editable ] Gtk.obj -> start:int -> stop:int -> string
= "ml_gtk_editable_get_chars"
external cut_clipboard : [> `editable ] Gtk.obj -> unit
= "ml_gtk_editable_cut_clipboard"
external copy_clipboard : [> `editable ] Gtk.obj -> unit
= "ml_gtk_editable_copy_clipboard"
external paste_clipboard : [> `editable ] Gtk.obj -> unit
= "ml_gtk_editable_paste_clipboard"
external delete_selection : [> `editable ] Gtk.obj -> unit
= "ml_gtk_editable_delete_selection"
external get_position : [> `editable ] Gtk.obj -> int
= "ml_gtk_editable_get_position"
external set_position : [> `editable ] Gtk.obj -> int -> unit
= "ml_gtk_editable_set_position"
external get_editable : [> `editable ] Gtk.obj -> bool
= "ml_gtk_editable_get_editable"
external set_editable : [> `editable ] Gtk.obj -> bool -> unit
= "ml_gtk_editable_set_editable"
val marshal_insert :
(string -> pos:int Pervasives.ref -> unit) ->
Gobject.Closure.argv -> unit
end`