1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 A GtkTreeModel which hides parts of an underlying tree model
7 <!-- ##### SECTION Long_Description ##### -->
9 A #GtkTreeModelFilter is a tree model which wraps another tree model,
10 and can do the following things:
13 Filter specific rows, based on data from a "visible column", a column
14 storing booleans indicating whether the row should be filtered or not,
15 or based on the return value of a "visible function", which gets a
16 model, iter and user_data and returns a boolean indicating whether the
17 row should be filtered or not.
20 Modify the "appearance" of the model, using a modify function.
21 This is extremely powerful and allows for just changing
22 some values and also for creating a completely different model based on
23 the given child model.
26 Set a different root node, also known as a "virtual root". You can pass in
27 a #GtkTreePath indicating the root node for the filter at construction time.
32 <!-- ##### SECTION See_Also ##### -->
37 <!-- ##### SECTION Stability_Level ##### -->
40 <!-- ##### STRUCT GtkTreeModelFilter ##### -->
42 The GtkTreeModelFilter struct contains only private fields.
46 <!-- ##### ARG GtkTreeModelFilter:child-model ##### -->
51 <!-- ##### ARG GtkTreeModelFilter:virtual-root ##### -->
56 <!-- ##### USER_FUNCTION GtkTreeModelFilterVisibleFunc ##### -->
58 A function which decides whether the row indicated by @iter is visible.
61 @model: the child model of the #GtkTreeModelFilter
62 @iter: a #GtkTreeIter pointing to the row in @model whose visibility
64 @data: user data given to gtk_tree_model_filter_set_visible_func()
65 @Returns: Whether the row indicated by @iter is visible.
68 <!-- ##### USER_FUNCTION GtkTreeModelFilterModifyFunc ##### -->
70 A function which calculates display values from raw values in the model.
71 It must fill @value with the display value for the column @column in the
72 row indicated by @iter.
75 Since this function is called for each data access, it's not a
76 particularly efficient operation.
79 @model: the #GtkTreeModelFilter
80 @iter: a #GtkTreeIter pointing to the row whose display values are determined
81 @value: A #GValue which is already initialized for with the correct type for
83 @column: the column whose display value is determined
84 @data: user data given to gtk_tree_model_filter_set_modify_func()
87 <!-- ##### FUNCTION gtk_tree_model_filter_new ##### -->
97 <!-- ##### FUNCTION gtk_tree_model_filter_set_visible_func ##### -->
108 <!-- ##### FUNCTION gtk_tree_model_filter_set_modify_func ##### -->
121 <!-- ##### FUNCTION gtk_tree_model_filter_set_visible_column ##### -->
130 <!-- ##### FUNCTION gtk_tree_model_filter_get_model ##### -->
139 <!-- ##### FUNCTION gtk_tree_model_filter_convert_child_iter_to_iter ##### -->
150 <!-- ##### FUNCTION gtk_tree_model_filter_convert_iter_to_child_iter ##### -->
160 <!-- ##### FUNCTION gtk_tree_model_filter_convert_child_path_to_path ##### -->
170 <!-- ##### FUNCTION gtk_tree_model_filter_convert_path_to_child_path ##### -->
180 <!-- ##### FUNCTION gtk_tree_model_filter_refilter ##### -->
188 <!-- ##### FUNCTION gtk_tree_model_filter_clear_cache ##### -->