![]() | ![]() | ![]() | GTK+ Reference Manual | ![]() |
---|
GtkTreeModelFilter —
#include <gtk/gtk.h> struct GtkTreeModelFilter; gboolean (*GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); void (*GtkTreeModelFilterModifyFunc) (GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer data); GtkTreeModel* gtk_tree_model_filter_new (GtkTreeModel *child_model, GtkTreePath *root); void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GtkDestroyNotify destroy); void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, gint n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GtkDestroyNotify destroy); void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, gint column); GtkTreeModel* gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter); void gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter); void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter); GtkTreePath* gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, GtkTreePath *child_path); GtkTreePath* gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *path, GtkTreePath *filter_path); void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter); void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter);
GObject +----GtkTreeModelFilter
GtkTreeModelFilter implements GtkTreeModel.
"child-model" GtkTreeModel : Read / Write / Construct Only "virtual-root" GtkTreePath : Read / Write / Construct Only
gboolean (*GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data);
model : | |
iter : | |
data : | |
Returns : |
void (*GtkTreeModelFilterModifyFunc) (GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer data);
model : | |
iter : | |
value : | |
column : | |
data : |
GtkTreeModel* gtk_tree_model_filter_new (GtkTreeModel *child_model, GtkTreePath *root);
Creates a new GtkTreeModel, with child_model as the child_model and root as the virtual root.
child_model : | A GtkTreeModel. |
root : | A GtkTreePath or NULL. |
Returns : | A new GtkTreeModel. |
Since 2.4
void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GtkDestroyNotify destroy);
Sets the visible function used when filtering the filter to be func. The function should return TRUE if the given row should be visible and FALSE otherwise.
filter : | A GtkTreeModelFilter. |
func : | A GtkTreeModelFilterVisibleFunc, the visible function. |
data : | User data to pass to the visible function, or NULL. |
destroy : | Destroy notifier of data, or NULL. |
Since 2.4
void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, gint n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GtkDestroyNotify destroy);
Sets the filter to have n_columns columns with types. If func is not NULL, it will set func to be the modify function of filter.
filter : | A GtkTreeModelFilter. |
n_columns : | The number of columns in the filter model. |
types : | The GTypes of the columns. |
func : | A GtkTreeModelFilterModifyFunc, or NULL. |
data : | User data to pass to the modify function, or NULL. |
destroy : | Destroy notifier of data, or NULL. |
Since 2.4
void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, gint column);
Sets column of the child_model to be the column where filter should look for visibility information. columns should be a column of type G_TYPE_BOOLEAN, where TRUE means that a row is visible, and FALSE if not.
filter : | A GtkTreeModelFilter. |
column : | A gint which is the column containing the visible information. |
Since 2.4
GtkTreeModel* gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter);
Returns a pointer to the child model of filter.
filter : | A GtkTreeModelFilter. |
Returns : | A pointer to a GtkTreeModel. |
Since 2.4
void gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter);
Sets filter_iter to point to the row in filter that corresponds to the row pointed at by child_iter.
filter : | A GtkTreeModelFilter. |
filter_iter : | An uninitialized GtkTreeIter. |
child_iter : | A valid GtkTreeIter pointing to a row on the child model. |
Since 2.4
void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter);
Sets child_iter to point to the row pointed to by filter_iter.
filter : | A GtkTreeModelFilter. |
child_iter : | An uninitialized GtkTreeIter. |
filter_iter : | A valid GtkTreeIter pointing to a row on filter. |
Since 2.4
GtkTreePath* gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, GtkTreePath *child_path);
Converts child_path to a path relative to filter. That is, child_path points to a path in the child model. The rerturned path will point to the same row in the filtered model. If child_path isn't a valid path on the child model, then NULL is returned.
filter : | A GtkTreeModelFilter. |
child_path : | A GtkTreePath to convert. |
Returns : | A newly allocated GtkTreePath, or NULL. |
Since 2.4
GtkTreePath* gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *path, GtkTreePath *filter_path);
Converts filter_path to a path on the child model of filter. That is, filter_path points to a location in filter. The returned path will point to the same location in the model not being filtered. If filter_path does not point to a location in the child model, NULL is returned.
path : | |
filter_path : | A GtkTreePath to convert. |
Returns : | A newly allocated GtkTreePath, or NULL. |
Since 2.4
void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter);
Emits ::row_changed for each row in the child model, which causes the filter to re-evaluate whether a row is visible or not.
filter : | A GtkTreeModelFilter. |
Since 2.4
void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter);
This function should almost never be called. It clears the filter of any cached iterators that haven't been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being filtered is static (and doesn't change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed itters will be invalid.
filter : | A GtkTreeModelFilter. |
Since 2.4
"child-model" (GtkTreeModel : Read / Write / Construct Only) | The model for the filtermodel to filter. |
"virtual-root" (GtkTreePath : Read / Write / Construct Only) | The virtual root (relative to the child model) for this filtermodel. |
<< GtkTreeModelSort | GtkCellLayout >> |