# Class type virtual GTree.custom_tree_model_type

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

Inherits

- `GTree.model`

    val obj : 'obj

    method connect : model_signals

    method custom_row_changed : Gtk.tree_path -> 'row -> unit

Signal emitters

    method custom_row_deleted : Gtk.tree_path -> unit

    method custom_row_has_child_toggled : Gtk.tree_path -> 'row -> unit

    method custom_row_inserted : Gtk.tree_path -> 'row -> unit

    method custom_rows_reordered : Gtk.tree_path -> 'row option -> int array -> unit

    method custom_unref_node : 'row -> unit

Override these to implement a cache of rows

    method custom_ref_node : 'row -> unit

    method custom_flags : GtkEnums.tree_model_flags list

    method virtual custom_get_iter : Gtk.tree_path -> 'row option

Functions of the custom model. They must act exactly as described in the documentation of Gtk orelse Gtk may emit fatal errors.

    method virtual custom_get_path : 'row -> Gtk.tree_path

    method virtual custom_value : Gobject.g_type -> 'row -> column:int -> Gobject.basic

    method virtual custom_iter_children : 'row option -> 'row option

    method virtual custom_iter_has_child : 'row -> bool

    method virtual custom_iter_n_children : 'row option -> int

    method virtual custom_iter_next : 'row -> 'row option

    method virtual custom_iter_nth_child : 'row option -> int -> 'row option

    method virtual custom_iter_parent : 'row -> 'row option

    method virtual custom_decode_iter : 'a -> 'b -> 'c -> 'row

    method virtual custom_encode_iter : 'row -> 'a * 'b * 'c

    method custom_n_columns : int

For internal use only. Do not override these methods.

    method custom_get_column_type : int -> Gobject.g_type

    method custom_get_value : 'row -> int -> Gobject.g_value -> unit