TreeModelFilter.setVisibleFunc

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.

If the condition calculated by the function changes over time (e.g. because it depends on some global parameters), you must call gtk_tree_model_filter_refilter() to keep the visibility information of the model up-to-date.

Note that @func is called whenever a row is inserted, when it may still be empty. The visible function should therefore take special care of empty rows, like in the example below.

|[<!-- language="C" --> static gboolean visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { // Visible if row is non-empty and first column is “HI” gchar *str; gboolean visible = FALSE;

gtk_tree_model_get (model, iter, 0, &str, -1); if (str && strcmp (str, "HI") == 0) visible = TRUE; g_free (str);

return visible; } ]|

Note that gtk_tree_model_filter_set_visible_func() or gtk_tree_model_filter_set_visible_column() can only be called once for a given filter model.

class TreeModelFilter
void
setVisibleFunc

Parameters

func GtkTreeModelFilterVisibleFunc

A #GtkTreeModelFilterVisibleFunc, the visible function

data void*

User data to pass to the visible function, or %NULL

destroy GDestroyNotify

Destroy notifier of @data, or %NULL

Meta