sig
  val separator :
    Gtk.Tags.orientation ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GObj.widget_full
  class statusbar_context :
    Gtk.statusbar Gtk.obj ->
    Gtk.statusbar_context ->
    object
      val context : Gtk.statusbar_context
      val obj : Gtk.statusbar Gtk.obj
      method context : Gtk.statusbar_context
      method flash : ?delay:int -> string -> unit
      method pop : unit -> unit
      method push : string -> Gtk.statusbar_message
      method remove : Gtk.statusbar_message -> unit
    end
  class statusbar :
    Gtk.statusbar Gtk.obj ->
    object
      val obj : Gtk.statusbar Gtk.obj
      method add : GObj.widget -> unit
      method all_children : GObj.widget list
      method as_widget : Gtk.widget Gtk.obj
      method border_width : int
      method children : GObj.widget list
      method coerce : GObj.widget
      method connect : GContainer.container_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method focus : GContainer.focus
      method get_oid : int
      method has_resize_grip : bool
      method homogeneous : bool
      method misc : GObj.misc_ops
      method new_context : name:string -> GMisc.statusbar_context
      method pack :
        ?from:Gtk.Tags.pack_type ->
        ?expand:bool -> ?fill:bool -> ?padding:int -> GObj.widget -> unit
      method remove : GObj.widget -> unit
      method reorder_child : GObj.widget -> pos:int -> unit
      method resize_mode : Gtk.Tags.resize_mode
      method set_border_width : int -> unit
      method set_child_packing :
        ?from:Gtk.Tags.pack_type ->
        ?expand:bool -> ?fill:bool -> ?padding:int -> GObj.widget -> unit
      method set_has_resize_grip : bool -> unit
      method set_homogeneous : bool -> unit
      method set_resize_mode : Gtk.Tags.resize_mode -> unit
      method set_spacing : int -> unit
      method spacing : int
    end
  val statusbar :
    ?has_resize_grip:bool ->
    ?border_width:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.statusbar
  class status_icon_signals :
    Gtk.status_icon Gobject.obj ->
    object
      method activate : callback:(unit -> unit) -> GtkSignal.id
      method popup_menu : callback:(int -> int -> unit) -> GtkSignal.id
      method size_changed : callback:(int -> unit) -> GtkSignal.id
    end
  class status_icon :
    Gtk.gtk_status_icon ->
    object
      method blinking : bool
      method connect : GMisc.status_icon_signals
      method get_icon_name : string
      method get_pixbuf : GdkPixbuf.pixbuf
      method get_size : int
      method get_stock : string
      method is_embedded : bool
      method obj : Gtk.status_icon Gobject.obj
      method screen : Gdk.screen
      method set_blinking : bool -> unit
      method set_from_file : string -> unit
      method set_from_icon_name : string -> unit
      method set_from_pixbuf : GdkPixbuf.pixbuf -> unit
      method set_from_stock : string -> unit
      method set_screen : Gdk.screen -> unit
      method set_tooltip : string -> unit
      method set_visible : bool -> unit
      method visible : bool
    end
  val status_icon :
    ?screen:Gdk.screen ->
    ?visible:bool -> ?blinking:bool -> unit -> GMisc.status_icon
  val status_icon_from_pixbuf :
    ?screen:Gdk.screen ->
    ?visible:bool -> ?blinking:bool -> GdkPixbuf.pixbuf -> GMisc.status_icon
  val status_icon_from_file :
    ?screen:Gdk.screen ->
    ?visible:bool -> ?blinking:bool -> string -> GMisc.status_icon
  val status_icon_from_stock :
    ?screen:Gdk.screen ->
    ?visible:bool -> ?blinking:bool -> string -> GMisc.status_icon
  val status_icon_from_icon_name :
    ?screen:Gdk.screen ->
    ?visible:bool -> ?blinking:bool -> string -> GMisc.status_icon
  class calendar_signals :
    ([> Gtk.calendar ] as 'b) Gtk.obj ->
    object ('a)
      val obj : 'Gtk.obj
      method after : 'a
      method day_selected : callback:(unit -> unit) -> GtkSignal.id
      method day_selected_double_click :
        callback:(unit -> unit) -> GtkSignal.id
      method destroy : callback:(unit -> unit) -> GtkSignal.id
      method month_changed : callback:(unit -> unit) -> GtkSignal.id
      method next_month : callback:(unit -> unit) -> GtkSignal.id
      method next_year : callback:(unit -> unit) -> GtkSignal.id
      method prev_month : callback:(unit -> unit) -> GtkSignal.id
      method prev_year : callback:(unit -> unit) -> GtkSignal.id
    end
  class calendar :
    Gtk.calendar Gtk.obj ->
    object
      val obj : Gtk.calendar Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method clear_marks : unit
      method coerce : GObj.widget
      method connect : GMisc.calendar_signals
      method date : int * int * int
      method day : int
      method destroy : unit -> unit
      method display_options : Gtk.Tags.calendar_display_options list -> unit
      method drag : GObj.drag_ops
      method event : GObj.event_ops
      method freeze : unit -> unit
      method get_oid : int
      method is_day_marked : int -> bool
      method mark_day : int -> unit
      method misc : GObj.misc_ops
      method month : int
      method num_marked_dates : int
      method select_day : int -> unit
      method select_month : month:int -> year:int -> unit
      method set_day : int -> unit
      method set_month : int -> unit
      method set_year : int -> unit
      method thaw : unit -> unit
      method unmark_day : int -> unit
      method year : int
    end
  val calendar :
    ?options:Gtk.Tags.calendar_display_options list ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.calendar
  class drawing_area :
    Gtk.drawing_area Gtk.obj ->
    object
      val obj : Gtk.drawing_area Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : GObj.widget_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method event : GObj.event_ops
      method get_oid : int
      method misc : GObj.misc_ops
      method set_size : width:int -> height:int -> unit
    end
  val drawing_area :
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool -> unit -> GMisc.drawing_area
  class misc :
    ([> Gtk.misc ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method misc : GObj.misc_ops
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  class arrow :
    ([> Gtk.arrow ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method kind : Gtk.Tags.arrow_type
      method misc : GObj.misc_ops
      method set_kind : Gtk.Tags.arrow_type -> unit
      method set_shadow : Gtk.Tags.shadow_type -> unit
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method shadow : Gtk.Tags.shadow_type
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  val arrow :
    ?kind:Gtk.Tags.arrow_type ->
    ?shadow:Gtk.Tags.shadow_type ->
    ?xalign:float ->
    ?yalign:float ->
    ?xpad:int ->
    ?ypad:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.arrow
  type image_type =
      [ `ANIMATION | `EMPTY | `ICON_SET | `IMAGE | `PIXBUF | `PIXMAP | `STOCK ]
  class image :
    ([> Gtk.image ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method clear : unit -> unit
      method coerce : GObj.widget
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method icon_set : Gtk.icon_set
      method icon_size : Gtk.Tags.icon_size
      method image : Gdk.image
      method mask : Gdk.bitmap option
      method misc : GObj.misc_ops
      method pixbuf : GdkPixbuf.pixbuf
      method pixel_size : int
      method pixmap : GDraw.pixmap
      method set_file : string -> unit
      method set_icon_set : Gtk.icon_set -> unit
      method set_icon_size : Gtk.Tags.icon_size -> unit
      method set_image : Gdk.image -> unit
      method set_mask : Gdk.bitmap option -> unit
      method set_pixbuf : GdkPixbuf.pixbuf -> unit
      method set_pixel_size : int -> unit
      method set_pixmap : GDraw.pixmap -> unit
      method set_stock : GtkStock.id -> unit
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method stock : GtkStock.id
      method storage_type : GMisc.image_type
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  val image :
    ?file:string ->
    ?image:Gdk.image ->
    ?pixbuf:GdkPixbuf.pixbuf ->
    ?pixel_size:int ->
    ?pixmap:Gdk.pixmap ->
    ?mask:Gdk.bitmap ->
    ?stock:GtkStock.id ->
    ?icon_set:Gtk.icon_set ->
    ?icon_size:Gtk.Tags.icon_size ->
    ?xalign:float ->
    ?yalign:float ->
    ?xpad:int ->
    ?ypad:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.image
  val pixmap :
    #GDraw.pixmap ->
    ?xalign:float ->
    ?yalign:float ->
    ?xpad:int ->
    ?ypad:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.image
  class label_skel :
    ([> Gtk.label ] as 'a) Gtk.obj ->
    object
      val obj : 'Gtk.obj
      method angle : float
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method cursor_position : int
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method ellipsize : PangoEnums.ellipsize_mode
      method get_oid : int
      method justify : Gtk.Tags.justification
      method label : string
      method line_wrap : bool
      method max_width_chars : int
      method misc : GObj.misc_ops
      method mnemonic_keyval : int
      method mnemonic_widget : GObj.widget option
      method select_region : int -> int -> unit
      method selectable : bool
      method selection_bound : int
      method selection_bounds : (int * int) option
      method set_angle : float -> unit
      method set_ellipsize : PangoEnums.ellipsize_mode -> unit
      method set_justify : Gtk.Tags.justification -> unit
      method set_label : string -> unit
      method set_line_wrap : bool -> unit
      method set_max_width_chars : int -> unit
      method set_mnemonic_widget : GObj.widget option -> unit
      method set_pattern : string -> unit
      method set_selectable : bool -> unit
      method set_single_line_mode : bool -> unit
      method set_text : string -> unit
      method set_use_markup : bool -> unit
      method set_use_underline : bool -> unit
      method set_width_chars : int -> unit
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method single_line_mode : bool
      method text : string
      method use_markup : bool
      method use_underline : bool
      method width_chars : int
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  class label :
    Gtk.label Gtk.obj ->
    object
      val obj : Gtk.label Gtk.obj
      method angle : float
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : GObj.widget_signals
      method cursor_position : int
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method ellipsize : PangoEnums.ellipsize_mode
      method get_oid : int
      method justify : Gtk.Tags.justification
      method label : string
      method line_wrap : bool
      method max_width_chars : int
      method misc : GObj.misc_ops
      method mnemonic_keyval : int
      method mnemonic_widget : GObj.widget option
      method select_region : int -> int -> unit
      method selectable : bool
      method selection_bound : int
      method selection_bounds : (int * int) option
      method set_angle : float -> unit
      method set_ellipsize : PangoEnums.ellipsize_mode -> unit
      method set_justify : Gtk.Tags.justification -> unit
      method set_label : string -> unit
      method set_line_wrap : bool -> unit
      method set_max_width_chars : int -> unit
      method set_mnemonic_widget : GObj.widget option -> unit
      method set_pattern : string -> unit
      method set_selectable : bool -> unit
      method set_single_line_mode : bool -> unit
      method set_text : string -> unit
      method set_use_markup : bool -> unit
      method set_use_underline : bool -> unit
      method set_width_chars : int -> unit
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method single_line_mode : bool
      method text : string
      method use_markup : bool
      method use_underline : bool
      method width_chars : int
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  val label :
    ?text:string ->
    ?markup:string ->
    ?use_underline:bool ->
    ?mnemonic_widget:#GObj.widget ->
    ?justify:Gtk.Tags.justification ->
    ?line_wrap:bool ->
    ?pattern:string ->
    ?selectable:bool ->
    ?ellipsize:PangoEnums.ellipsize_mode ->
    ?xalign:float ->
    ?yalign:float ->
    ?xpad:int ->
    ?ypad:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.label
  val label_cast : < as_widget : 'Gtk.obj; .. > -> GMisc.label
  class tips_query_signals :
    Gtk.tips_query Gtk.obj ->
    object ('a)
      method after : 'a
      method destroy : callback:(unit -> unit) -> GtkSignal.id
      method start_query : callback:(unit -> unit) -> GtkSignal.id
      method stop_query : callback:(unit -> unit) -> GtkSignal.id
      method widget_entered :
        callback:(GObj.widget option -> text:string -> privat:string -> unit) ->
        GtkSignal.id
      method widget_selected :
        callback:(GObj.widget option ->
                  text:string -> privat:string -> GdkEvent.Button.t -> bool) ->
        GtkSignal.id
    end
  class tips_query :
    Gtk.tips_query Gtk.obj ->
    object
      val obj : Gtk.tips_query Gtk.obj
      method angle : float
      method as_widget : Gtk.widget Gtk.obj
      method caller : GObj.widget option
      method coerce : GObj.widget
      method connect : GMisc.tips_query_signals
      method cursor_position : int
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method ellipsize : PangoEnums.ellipsize_mode
      method emit_always : bool
      method get_oid : int
      method justify : Gtk.Tags.justification
      method label : string
      method label_inactive : string
      method label_no_tip : string
      method line_wrap : bool
      method max_width_chars : int
      method misc : GObj.misc_ops
      method mnemonic_keyval : int
      method mnemonic_widget : GObj.widget option
      method select_region : int -> int -> unit
      method selectable : bool
      method selection_bound : int
      method selection_bounds : (int * int) option
      method set_angle : float -> unit
      method set_caller : GObj.widget option -> unit
      method set_ellipsize : PangoEnums.ellipsize_mode -> unit
      method set_emit_always : bool -> unit
      method set_justify : Gtk.Tags.justification -> unit
      method set_label : string -> unit
      method set_label_inactive : string -> unit
      method set_label_no_tip : string -> unit
      method set_line_wrap : bool -> unit
      method set_max_width_chars : int -> unit
      method set_mnemonic_widget : GObj.widget option -> unit
      method set_pattern : string -> unit
      method set_selectable : bool -> unit
      method set_single_line_mode : bool -> unit
      method set_text : string -> unit
      method set_use_markup : bool -> unit
      method set_use_underline : bool -> unit
      method set_width_chars : int -> unit
      method set_xalign : float -> unit
      method set_xpad : int -> unit
      method set_yalign : float -> unit
      method set_ypad : int -> unit
      method single_line_mode : bool
      method start : unit -> unit
      method stop : unit -> unit
      method text : string
      method use_markup : bool
      method use_underline : bool
      method width_chars : int
      method xalign : float
      method xpad : int
      method yalign : float
      method ypad : int
    end
  val tips_query :
    ?caller:#GObj.widget ->
    ?emit_always:bool ->
    ?label_inactive:string ->
    ?label_no_tip:string ->
    ?xalign:float ->
    ?yalign:float ->
    ?xpad:int ->
    ?ypad:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> GMisc.tips_query
  class color_selection :
    Gtk.color_selection Gtk.obj ->
    object
      val obj : Gtk.color_selection Gtk.obj
      method alpha : int
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method color : Gdk.color
      method connect : GObj.widget_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method has_opacity_control : bool
      method has_palette : bool
      method misc : GObj.misc_ops
      method set_alpha : int -> unit
      method set_border_width : int -> unit
      method set_color : Gdk.color -> unit
      method set_has_opacity_control : bool -> unit
      method set_has_palette : bool -> unit
    end
  val color_selection :
    ?alpha:int ->
    ?color:Gdk.color ->
    ?has_opacity_control:bool ->
    ?has_palette:bool ->
    ?border_width:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool -> unit -> GMisc.color_selection
  class font_selection :
    Gtk.font_selection Gtk.obj ->
    object
      val obj : Gtk.font_selection Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : GObj.widget_signals
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method event : GObj.event_ops
      method font_name : string
      method get_oid : int
      method misc : GObj.misc_ops
      method preview_text : string
      method set_border_width : int -> unit
      method set_font_name : string -> unit
      method set_preview_text : string -> unit
    end
  val font_selection :
    ?font_name:string ->
    ?preview_text:string ->
    ?border_width:int ->
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool -> unit -> GMisc.font_selection
end