`sig
class virtual ['row, 'a, 'b, 'c] callback :
object
method virtual custom_decode_iter : 'a -> 'b -> 'c -> 'row
method virtual custom_encode_iter : 'row -> 'a * 'b * 'c
method virtual custom_get_column_type : int -> Gobject.g_type
method virtual custom_get_iter : Gtk.tree_path -> 'row option
method virtual custom_get_path : 'row -> Gtk.tree_path
method virtual custom_get_value :
'row -> int -> Gobject.g_value -> unit
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_n_columns : int
method custom_ref_node : 'row -> unit
method custom_unref_node : 'row -> unit
end
external create : unit -> Gtk.tree_model_custom = "ml_custom_model_create"
external register_callback :
Gtk.tree_model_custom ->
('row, 'a, 'b, 'c) #GtkTree.CustomModel.callback -> unit
= "ml_register_custom_model_callback_object"
external custom_row_inserted :
Gtk.tree_model_custom -> Gtk.tree_path -> 'row -> unit
= "ml_custom_model_row_inserted"
external custom_row_changed :
Gtk.tree_model_custom -> Gtk.tree_path -> 'row -> unit
= "ml_custom_model_row_changed"
external custom_row_has_child_toggled :
Gtk.tree_model_custom -> Gtk.tree_path -> 'row -> unit
= "ml_custom_model_row_has_child_toggled"
external custom_row_deleted : Gtk.tree_model_custom -> 'row -> unit
= "ml_custom_model_row_deleted"
external custom_rows_reordered :
Gtk.tree_model_custom ->
Gtk.tree_path -> 'row option -> int array -> unit
= "ml_custom_model_rows_reordered"
end`