sig
  val show : ([> `widget ], unit -> unit) GtkSignal.t
  val hide : ([> `widget ], unit -> unit) GtkSignal.t
  val map : ([> `widget ], unit -> unit) GtkSignal.t
  val unmap : ([> `widget ], unit -> unit) GtkSignal.t
  val realize : ([> `widget ], unit -> unit) GtkSignal.t
  val unrealize : ([> `widget ], unit -> unit) GtkSignal.t
  val state_changed : ([> `widget ], GtkEnums.state_type -> unit) GtkSignal.t
  val parent_set :
    ([> `widget ], Gtk.widget Gtk.obj option -> unit) GtkSignal.t
  val size_allocate : ([> `widget ], Gtk.rectangle -> unit) GtkSignal.t
  val style_set : ([> `widget ], Gtk.style option -> unit) GtkSignal.t
  val selection_get :
    ([> `widget ], Gtk.selection_data -> info:int -> time:int32 -> unit)
    GtkSignal.t
  val selection_received :
    ([> `widget ], Gtk.selection_data -> time:int32 -> unit) GtkSignal.t
  val drag_begin : ([> `widget ], Gdk.drag_context -> unit) GtkSignal.t
  val drag_data_delete : ([> `widget ], Gdk.drag_context -> unit) GtkSignal.t
  val drag_data_get :
    ([> `widget ],
     Gdk.drag_context -> Gtk.selection_data -> info:int -> time:int32 -> unit)
    GtkSignal.t
  val drag_data_received :
    ([> `widget ],
     Gdk.drag_context ->
     x:int -> y:int -> Gtk.selection_data -> info:int -> time:int32 -> unit)
    GtkSignal.t
  val drag_drop :
    ([> `widget ], Gdk.drag_context -> x:int -> y:int -> time:int32 -> bool)
    GtkSignal.t
  val drag_end : ([> `widget ], Gdk.drag_context -> unit) GtkSignal.t
  val drag_leave :
    ([> `widget ], Gdk.drag_context -> time:int32 -> unit) GtkSignal.t
  val drag_motion :
    ([> `widget ], Gdk.drag_context -> x:int -> y:int -> time:int32 -> bool)
    GtkSignal.t
  val event : ([> `widget ], GdkEvent.any -> bool) GtkSignal.t
  val event_after : ([> `widget ], GdkEvent.any -> unit) GtkSignal.t
end