sig
  val cast : 'Gobject.obj -> Gtk.tree Gtk.obj
  module S = GtkBrokenProps.Tree.S
  val create : Gtk.tree Gobject.param list -> Gtk.tree Gtk.obj
  external insert :
    [> `tree ] Gtk.obj -> [> `treeitem ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_tree_insert"
  external remove_items :
    [> `tree ] Gtk.obj -> [> `treeitem ] Gtk.obj list -> unit
    = "ml_gtk_tree_remove_items"
  external clear_items : [> `tree ] Gtk.obj -> start:int -> stop:int -> unit
    = "ml_gtk_tree_clear_items"
  external select_item : [> `tree ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_tree_select_item"
  external unselect_item : [> `tree ] Gtk.obj -> pos:int -> unit
    = "ml_gtk_tree_unselect_item"
  external child_position :
    [> `tree ] Gtk.obj -> [> `treeitem ] Gtk.obj -> int
    = "ml_gtk_tree_child_position"
  external set_selection_mode :
    [> `tree ] Gtk.obj -> Gtk.Tags.selection_mode -> unit
    = "ml_gtk_tree_set_selection_mode"
  external set_view_mode : [> `tree ] Gtk.obj -> [ `ITEM | `LINE ] -> unit
    = "ml_gtk_tree_set_view_mode"
  external set_view_lines : [> `tree ] Gtk.obj -> bool -> unit
    = "ml_gtk_tree_set_view_lines"
  external selection : [> `tree ] Gtk.obj -> Gtk.tree_item Gtk.obj list
    = "ml_gtk_tree_selection"
  val set :
    ?selection_mode:Gtk.Tags.selection_mode ->
    ?view_mode:[ `ITEM | `LINE ] ->
    ?view_lines:bool -> [> `tree ] Gtk.obj -> unit
end