Sets the visible function used when filtering the this 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 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.
static gboolean
visible_func (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
// Visible if row is non-empty and first column is “HI”
char *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;
}
te that set_visible_func or
set_visible_column can only be called once for a given filter model.
this |
A `GtkTreeModelFilter` |
func |
A `GtkTreeModelFilterVisibleFunc`, the visible function |
data |
User data to pass to the visible function |
destroy |
Destroy notifier of |