# Module GTree

    module GTree: sig .. end

Tree and list widgets

Tree and list widgets
Tree and list widgets

### New GtkTreeView/Model framework

    type 'a column = {

`` | `index : `int`;`
`` | `conv : `'a Gobject.data_conv`;`
`` | `creator : `int`;`

}

    class column_list : object .. end

    class row_reference : Gtk.row_reference -> model:[> `treemodel ] Gtk.obj -> object .. end

#### Models

    class model_signals : [> `treemodel ] Gtk.obj -> object .. end

    val model_ids : (int, int) Hashtbl.t

    class model : [> `treemodel ] Gtk.obj -> object .. end

    class tree_sortable_signals : [> `treemodel | `treesortable ] Gtk.obj -> object .. end

    class tree_sortable : [> `treemodel | `treesortable ] Gtk.obj -> object .. end

Special value for the `#set_sort_column_id` method of `GTree.tree_sortable`.

    val default_sort_column_id : int

    val unsorted_sort_column_id : int

    class tree_store : Gtk.tree_store -> object .. end

    val tree_store : column_list -> tree_store

    class list_store : Gtk.list_store -> object .. end

    val list_store : column_list -> list_store

    val store_of_list : 'a Gobject.data_conv -> 'a list -> list_store * 'a column

Convenience function to map a caml list into a `GTree.list_store` with a single column

    class model_sort : Gtk.tree_model_sort -> object .. end

    val model_sort : #model -> model_sort

    class model_filter : Gtk.tree_model_filter -> object .. end

    val model_filter : ?virtual_root:Gtk.tree_path -> #model -> model_filter

Since GTK 2.4

    module Path: sig .. end

#### Selection

    class selection_signals : Gtk.tree_selection -> object .. end

    class selection : Gtk.tree_selection -> object .. end

The selection object for `GTree.view`

#### Views

    class type cell_renderer = object .. end

    class cell_layout : [> Gtk.cell_layout ] Gtk.obj -> object .. end

    class view_column_signals : [> `gtk | `treeviewcolumn ] Gtk.obj -> object .. end

    class view_column : Gtk.tree_view_column Gtk.obj -> object .. end

A visible column in a `GTree.view` widget

    val view_column : ?title:string ->
           ?renderer:#cell_renderer * (string * 'a column) list ->
           unit -> view_column

    class view_signals : [> Gtk.tree_view ] Gtk.obj -> object .. end

    class view : Gtk.tree_view Gtk.obj -> object .. end

A widget for displaying both trees and lists

    val view : ?model:#model ->
           ?hadjustment:GData.adjustment ->
           ?vadjustment:GData.adjustment ->
           ?enable_search:bool ->
           ?fixed_height_mode:bool ->
           ?headers_clickable:bool ->
           ?headers_visible:bool ->
           ?reorderable:bool ->
           ?rules_hint:bool ->
           ?search_column:int ->
           ?tooltip_column:int ->
           ?border_width:int ->
           ?width:int ->
           ?height:int ->
           ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> view

`enable_search` : default value is `true`
`fixed_height_mode` : default value is `false`
`headers_clickable` : default value is `false`
`headers_visible` : default value is `true`
`reorderable` : default value is `false`
`rules_hint` : default value is `false`

#### Cell Renderers

    type cell_properties = [ `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `VISIBLE of bool
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_pixbuf = [ `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `PIXBUF of GdkPixbuf.pixbuf
           | `PIXBUF_EXPANDER_CLOSED of GdkPixbuf.pixbuf
           | `PIXBUF_EXPANDER_OPEN of GdkPixbuf.pixbuf
           | `STOCK_DETAIL of string
           | `STOCK_ID of string
           | `STOCK_SIZE of Gtk.Tags.icon_size
           | `VISIBLE of bool
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_text = [ `BACKGROUND of string
           | `BACKGROUND_GDK of Gdk.color
           | `BACKGROUND_SET of bool
           | `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `EDITABLE of bool
           | `FAMILY of string
           | `FONT of string
           | `FONT_DESC of Pango.font_description
           | `FOREGROUND of string
           | `FOREGROUND_GDK of Gdk.color
           | `FOREGROUND_SET of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MARKUP of string
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `RISE of int
           | `SCALE of Pango.Tags.scale
           | `SINGLE_PARAGRAPH_MODE of bool
           | `SIZE of int
           | `SIZE_POINTS of float
           | `STRETCH of Pango.Tags.stretch
           | `STRIKETHROUGH of bool
           | `STYLE of Pango.Tags.style
           | `TEXT of string
           | `UNDERLINE of Pango.Tags.underline
           | `VARIANT of Pango.Tags.variant
           | `VISIBLE of bool
           | `WEIGHT of Pango.Tags.weight
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_toggle = [ `ACTIVATABLE of bool
           | `ACTIVE of bool
           | `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `HEIGHT of int
           | `INCONSISTENT of bool
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `RADIO of bool
           | `VISIBLE of bool
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_progress = [ `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `TEXT of string option
           | `VALUE of int
           | `VISIBLE of bool
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_combo = [ `BACKGROUND of string
           | `BACKGROUND_GDK of Gdk.color
           | `BACKGROUND_SET of bool
           | `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `EDITABLE of bool
           | `FAMILY of string
           | `FONT of string
           | `FONT_DESC of Pango.font_description
           | `FOREGROUND of string
           | `FOREGROUND_GDK of Gdk.color
           | `FOREGROUND_SET of bool
           | `HAS_ENTRY of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `MARKUP of string
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `MODEL of model option
           | `RISE of int
           | `SCALE of Pango.Tags.scale
           | `SINGLE_PARAGRAPH_MODE of bool
           | `SIZE of int
           | `SIZE_POINTS of float
           | `STRETCH of Pango.Tags.stretch
           | `STRIKETHROUGH of bool
           | `STYLE of Pango.Tags.style
           | `TEXT of string
           | `TEXT_COLUMN of string column
           | `UNDERLINE of Pango.Tags.underline
           | `VARIANT of Pango.Tags.variant
           | `VISIBLE of bool
           | `WEIGHT of Pango.Tags.weight
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    type cell_properties_accel = [ `ACCEL_MODE of GtkEnums.cell_renderer_accel_mode
           | `BACKGROUND of string
           | `BACKGROUND_GDK of Gdk.color
           | `BACKGROUND_SET of bool
           | `CELL_BACKGROUND of string
           | `CELL_BACKGROUND_GDK of Gdk.color
           | `CELL_BACKGROUND_SET of bool
           | `EDITABLE of bool
           | `FAMILY of string
           | `FONT of string
           | `FONT_DESC of Pango.font_description
           | `FOREGROUND of string
           | `FOREGROUND_GDK of Gdk.color
           | `FOREGROUND_SET of bool
           | `HEIGHT of int
           | `IS_EXPANDED of bool
           | `IS_EXPANDER of bool
           | `KEY of Gdk.keysym
           | `KEYCODE of int
           | `MARKUP of string
           | `MODE of Gtk.Tags.cell_renderer_mode
           | `MODS of GdkEnums.modifier list
           | `RISE of int
           | `SCALE of Pango.Tags.scale
           | `SINGLE_PARAGRAPH_MODE of bool
           | `SIZE of int
           | `SIZE_POINTS of float
           | `STRETCH of Pango.Tags.stretch
           | `STRIKETHROUGH of bool
           | `STYLE of Pango.Tags.style
           | `TEXT of string
           | `UNDERLINE of Pango.Tags.underline
           | `VARIANT of Pango.Tags.variant
           | `VISIBLE of bool
           | `WEIGHT of Pango.Tags.weight
           | `WIDTH of int
           | `XALIGN of float
           | `XPAD of int
           | `YALIGN of float
           | `YPAD of int ]

    class type [['a, 'b]] cell_renderer_skel = object .. end

    class virtual [[[> Gtk.cell_renderer ], 'b]] cell_renderer_impl : ([> Gtk.cell_renderer ] as 'a) Gtk.obj -> object .. end

    class cell_renderer_pixbuf : Gtk.cell_renderer_pixbuf Gtk.obj -> object .. end

    class cell_renderer_text_signals : [> Gtk.cell_renderer_text ] Gtk.obj -> object .. end

    class cell_renderer_text : Gtk.cell_renderer_text Gtk.obj -> object .. end

    class cell_renderer_toggle_signals : Gtk.cell_renderer_toggle Gtk.obj -> object .. end

    class cell_renderer_toggle : Gtk.cell_renderer_toggle Gtk.obj -> object .. end

    class cell_renderer_progress : Gtk.cell_renderer_progress Gtk.obj -> object .. end

    class cell_renderer_combo_signals : [> Gtk.cell_renderer_combo ] Gtk.obj -> object .. end

    class cell_renderer_combo : Gtk.cell_renderer_combo Gtk.obj -> object .. end

    class cell_renderer_accel_signals : Gtk.cell_renderer_accel Gtk.obj -> object .. end

    class cell_renderer_accel : Gtk.cell_renderer_accel Gtk.obj -> object .. end

    val cell_renderer_pixbuf : cell_properties_pixbuf list -> cell_renderer_pixbuf

    val cell_renderer_text : cell_properties_text list -> cell_renderer_text

    val cell_renderer_toggle : cell_properties_toggle list -> cell_renderer_toggle

    val cell_renderer_progress : cell_properties_progress list -> cell_renderer_progress

Since GTK 2.6

    val cell_renderer_combo : cell_properties_combo list -> cell_renderer_combo

Since GTK 2.6

    val cell_renderer_accel : cell_properties_accel list -> cell_renderer_accel

Since GTK 2.10

### GtkIconView

    class icon_view_signals : [> Gtk.icon_view ] Gtk.obj -> object .. end

    class icon_view : [> Gtk.icon_view ] Gtk.obj -> object .. end

A widget which displays a list of icons in a grid

    val icon_view : ?model:#model ->
           ?columns:int ->
           ?orientation:GtkEnums.orientation ->
           ?selection_mode:GtkEnums.selection_mode ->
           ?border_width:int ->
           ?width:int ->
           ?height:int ->
           ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> icon_view

A widget which displays a list of icons in a grid
Since GTK 2.6

    class type virtual [['obj, 'row, 'a, 'b, 'c]] custom_tree_model_type = object .. end

    class virtual [['row, 'a, 'b, 'c]] custom_tree_model : column_list -> [[Gtk.tree_model_custom, 'row, 'a, 'b, 'c]] custom_tree_model_type

A base class to inherit from to make a custom tree model.