sig
  val cast : 'Gobject.obj -> Gtk.button Gtk.obj
  module P = GtkButtonProps.Button.P
  module S = GtkButtonProps.Button.S
  val create : Gtk.button Gobject.param list -> Gtk.button Gtk.obj
  val make_params :
    cont:(([> `button ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?label:string ->
    ?use_mnemonic:bool ->
    ?stock:GtkStock.id -> ?relief:GtkEnums.relief_style -> 'b
  external pressed : [> `button ] Gtk.obj -> unit = "ml_gtk_button_pressed"
  external released : [> `button ] Gtk.obj -> unit = "ml_gtk_button_released"
  external clicked : [> `button ] Gtk.obj -> unit = "ml_gtk_button_clicked"
  external enter : [> `button ] Gtk.obj -> unit = "ml_gtk_button_enter"
  external leave : [> `button ] Gtk.obj -> unit = "ml_gtk_button_leave"
end