sig
  val cast : 'Gobject.obj -> Gtk.table Gtk.obj
  module P :
    sig
      val n_columns : ([> `table ], int) Gobject.property
      val n_rows : ([> `table ], int) Gobject.property
      val homogeneous : ([> `table ], bool) Gobject.property
      val row_spacing : ([> `table ], int) Gobject.property
      val column_spacing : ([> `table ], int) Gobject.property
    end
  val create : Gtk.table Gobject.param list -> Gtk.table Gtk.obj
  external attach :
    [> `table ] Gtk.obj ->
    [> `widget ] Gtk.obj ->
    left:int ->
    right:int ->
    top:int ->
    bottom:int ->
    xoptions:Gtk.Tags.attach_options list ->
    yoptions:Gtk.Tags.attach_options list ->
    xpadding:int -> ypadding:int -> unit = "ml_gtk_table_attach_bc"
    "ml_gtk_table_attach"
  external set_row_spacing : [> `table ] Gtk.obj -> int -> int -> unit
    = "ml_gtk_table_set_row_spacing"
  external set_col_spacing : [> `table ] Gtk.obj -> int -> int -> unit
    = "ml_gtk_table_set_col_spacing"
  val make_params :
    cont:(([> `table ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?columns:int ->
    ?rows:int ->
    ?homogeneous:bool -> ?row_spacings:int -> ?col_spacings:int -> 'b
  val has_x : Gtk.Tags.expand_type -> bool
  val has_y : Gtk.Tags.expand_type -> bool
  val attach :
    [> `table ] Gtk.obj ->
    left:int ->
    top:int ->
    ?right:int ->
    ?bottom:int ->
    ?expand:Gtk.Tags.expand_type ->
    ?fill:Gtk.Tags.expand_type ->
    ?shrink:Gtk.Tags.expand_type ->
    ?xpadding:int -> ?ypadding:int -> [> `widget ] Gtk.obj -> unit
end