sig
  val cast : 'Gobject.obj -> Gtk.entry Gtk.obj
  module P :
    sig
      val text : ([> `entry ], string) Gobject.property
      val visibility : ([> `entry ], bool) Gobject.property
      val max_length : ([> `entry ], int) Gobject.property
      val activates_default : ([> `entry ], bool) Gobject.property
      val cursor_position : ([> `entry ], int) Gobject.property
      val editable : ([> `entry ], bool) Gobject.property
      val has_frame : ([> `entry ], bool) Gobject.property
      val invisible_char : ([> `entry ], int) Gobject.property
      val scroll_offset : ([> `entry ], int) Gobject.property
      val selection_bound : ([> `entry ], int) Gobject.property
      val width_chars : ([> `entry ], int) Gobject.property
      val xalign : ([> `entry ], float) Gobject.property
    end
  module S :
    sig
      val activate : ([> `entry ], unit -> unit) GtkSignal.t
      val copy_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val cut_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val delete_from_cursor :
        ([> `entry ], GtkEnums.delete_type -> int -> unit) GtkSignal.t
      val insert_at_cursor : ([> `entry ], string -> unit) GtkSignal.t
      val move_cursor :
        ([> `entry ], GtkEnums.movement_step -> int -> extend:bool -> unit)
        GtkSignal.t
      val paste_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val populate_popup :
        ([> `entry ], Gtk.menu Gtk.obj -> unit) GtkSignal.t
      val toggle_overwrite : ([> `entry ], unit -> unit) GtkSignal.t
    end
  val create : Gtk.entry Gobject.param list -> Gtk.entry Gtk.obj
  external append_text : [> `entry ] Gtk.obj -> string -> unit
    = "ml_gtk_entry_append_text"
  external prepend_text : [> `entry ] Gtk.obj -> string -> unit
    = "ml_gtk_entry_prepend_text"
  external text_length : [> `entry ] Gtk.obj -> int
    = "ml_gtk_entry_text_length"
  external get_completion :
    [> `entry ] Gtk.obj -> Gtk.entry_completion option
    = "ml_gtk_entry_get_completion"
  external set_completion :
    [> `entry ] Gtk.obj -> Gtk.entry_completion -> unit
    = "ml_gtk_entry_set_completion"
  val make_params :
    cont:(([> `entry ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?text:string ->
    ?visibility:bool ->
    ?max_length:int ->
    ?activates_default:bool ->
    ?editable:bool ->
    ?has_frame:bool -> ?width_chars:int -> ?xalign:float -> 'b
end