sig
  module WM :
    sig
      val create_button :
        ?label:string ->
        stock:GtkStock.id ->
        packing:(GObj.widget -> unit) -> unit -> GButton.button
    end
  type store_view =
    Dbf_selectWidget.store_view = {
    st_view : GTree.view;
    st_string : GTree.view_column;
  }
  class ['a] store :
    extract:('-> string) ->
    object
      val id : int
      val obj : Gtk.list_store
      method append : unit -> Gtk.tree_iter
      method append_data : '-> 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 -> title:string -> unit -> store_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 -> 'b
      method get_column_type : int -> Gobject.g_type
      method get_data : row:Gtk.tree_iter -> 'a
      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 : int -> Gtk.tree_iter
      method insert_after : Gtk.tree_iter -> Gtk.tree_iter
      method insert_before : Gtk.tree_iter -> Gtk.tree_iter
      method insert_data : int -> '-> Gtk.tree_iter
      method iter_children :
        ?nth:int -> Gtk.tree_iter option -> Gtk.tree_iter
      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 : unit -> Gtk.tree_iter
      method prepend_data : '-> 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 : '-> row:Gtk.tree_iter -> 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
      method update_display : Gtk.tree_iter -> unit
    end
  class ['a] callbacks_poll :
    object
      val mutable cbs : 'a list
      method add : '-> unit
      method iter : ('-> unit) -> unit
    end
  type added_cb_sig = GTree.row_reference -> unit
  type removed_cb_sig = GTree.row_reference -> unit
  type moved_up_cb_sig = GTree.row_reference -> GTree.row_reference -> unit
  type moved_down_cb_sig = GTree.row_reference -> GTree.row_reference -> unit
  class select_and_order_connect :
    object
      val added_cbs : added_cb_sig callbacks_poll
      val moved_down_cbs : moved_down_cb_sig callbacks_poll
      val moved_up_cbs : moved_up_cb_sig callbacks_poll
      val removed_cbs : removed_cb_sig callbacks_poll
      method added : added_cb_sig -> unit
      method moved_down : moved_down_cb_sig -> unit
      method moved_up : moved_up_cb_sig -> unit
      method raise_added : GTree.row_reference -> unit
      method raise_moved_down :
        GTree.row_reference -> GTree.row_reference -> unit
      method raise_moved_up :
        GTree.row_reference -> GTree.row_reference -> unit
      method raise_removed : GTree.row_reference -> unit
      method removed : removed_cb_sig -> unit
    end
  class ['a] select_and_order :
    ?packing:(GObj.widget -> unit) ->
    label:string ->
    title1:string ->
    title2:string ->
    extract:('-> string) ->
    unit ->
    object
      val connect : select_and_order_connect
      val obj : Gtk.widget Gtk.obj
      method private _cb__down_button_clicked : unit -> unit
      method private _cb__left_button_clicked : unit -> unit
      method private _cb__right_button_clicked : unit -> unit
      method private _cb__selection_changed :
        store_view -> GButton.button list -> unit -> unit
      method private _cb__up_button_clicked : unit -> unit
      method as_widget : Gtk.widget Gtk.obj
      method coerce : GObj.widget
      method connect : select_and_order_connect
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method misc : GObj.misc_ops
      method store1 : 'a store
      method store2 : 'a store
      method view1 : store_view
      method view2 : store_view
    end
end