sig
  module WM :
    sig
      val create_button :
        ?label:string ->
        stock:GtkStock.id ->
        packing:(GObj.widget -> unit) -> unit -> GButton.button
    end
  type data =
    Dbf_dbWidget.data =
      D_Table of Dbf_sql.SQL_db.table
    | D_Column of Dbf_sql.SQL_db.column
    | D_String of string
  type view =
    Dbf_dbWidget.view = {
    sv_view : GTree.view;
    sv_string_c : GTree.view_column;
  }
  class db_list_store :
    unit ->
    object
      val id : int
      val obj : Gtk.tree_store
      method private _display_string : data -> string
      method append : ?parent:Gtk.tree_iter -> unit -> Gtk.tree_iter
      method append_data :
        data ->
        ?parent:Gtk.tree_iter -> ?color:string -> unit -> Gtk.tree_iter
      method as_model : Gtk.tree_model
      method clear : unit -> unit
      method coerce : GTree.model
      method connect : GTree.tree_sortable_signals
      method create_view : ?view:GTree.view -> unit -> view
      method flags : GtkEnums.tree_model_flags list
      method foreach : (Gtk.tree_path -> Gtk.tree_iter -> bool) -> unit
      method get : row:Gtk.tree_iter -> column:'GTree.column -> 'a
      method get_column_type : int -> Gobject.g_type
      method get_data : row:Gtk.tree_iter -> data
      method get_iter : Gtk.tree_path -> Gtk.tree_iter
      method get_iter_first : Gtk.tree_iter option
      method get_path : Gtk.tree_iter -> Gtk.tree_path
      method get_row_reference : Gtk.tree_path -> GTree.row_reference
      method get_sort_column_id : (int * Gtk.Tags.sort_type) option
      method has_default_sort_func : bool
      method insert : ?parent:Gtk.tree_iter -> int -> Gtk.tree_iter
      method insert_after :
        ?parent:Gtk.tree_iter -> Gtk.tree_iter -> Gtk.tree_iter
      method insert_before :
        ?parent:Gtk.tree_iter -> Gtk.tree_iter -> Gtk.tree_iter
      method insert_data :
        int ->
        data ->
        ?parent:Gtk.tree_iter -> ?color:string -> unit -> Gtk.tree_iter
      method is_ancestor :
        iter:Gtk.tree_iter -> descendant:Gtk.tree_iter -> bool
      method iter_children :
        ?nth:int -> Gtk.tree_iter option -> Gtk.tree_iter
      method iter_depth : Gtk.tree_iter -> int
      method iter_has_child : Gtk.tree_iter -> bool
      method iter_is_valid : Gtk.tree_iter -> bool
      method iter_n_children : Gtk.tree_iter option -> int
      method iter_next : Gtk.tree_iter -> bool
      method iter_parent : Gtk.tree_iter -> Gtk.tree_iter option
      method misc : GObj.gobject_ops
      method move_after : iter:Gtk.tree_iter -> pos:Gtk.tree_iter -> bool
      method move_before : iter:Gtk.tree_iter -> pos:Gtk.tree_iter -> bool
      method n_columns : int
      method prepend : ?parent:Gtk.tree_iter -> unit -> Gtk.tree_iter
      method prepend_data :
        data ->
        ?parent:Gtk.tree_iter -> ?color:string -> unit -> Gtk.tree_iter
      method remove : Gtk.tree_iter -> bool
      method row_changed : Gtk.tree_path -> Gtk.tree_iter -> unit
      method set : row:Gtk.tree_iter -> column:'GTree.column -> '-> unit
      method set_data :
        data -> row:Gtk.tree_iter -> ?color:string -> unit -> unit
      method set_default_sort_func :
        (GTree.model -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit
      method set_sort_column_id : int -> Gtk.Tags.sort_type -> unit
      method set_sort_func :
        int -> (GTree.model -> Gtk.tree_iter -> Gtk.tree_iter -> int) -> unit
      method sort_column_changed : unit -> unit
      method swap : Gtk.tree_iter -> Gtk.tree_iter -> bool
    end
  class db_widget :
    Gtk.Tags.selection_mode ->
    object
      method selected_columns : Dbf_sql.SQL_db.column list
      method set_tables : Dbf_sql.SQL_db.table list -> unit
      method view : view
    end
  val db_chooser :
    Dbf_sql.SQL_db.table list ->
    Gtk.Tags.selection_mode -> Dbf_sql.SQL_db.column list
end