Method
GtkTreeModelFilterset_visible_func
since: 2.4
Declaration [src]
void
gtk_tree_model_filter_set_visible_func (
GtkTreeModelFilter* filter,
GtkTreeModelFilterVisibleFunc func,
gpointer data,
GDestroyNotify destroy
)
Description [src]
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.
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.
Available since: 2.4
Parameters
func
-
Type:
GtkTreeModelFilterVisibleFunc
A
GtkTreeModelFilterVisibleFunc
, the visible function. data
-
Type:
gpointer
User data to pass to the visible function, or
NULL
.The argument can be NULL
.The data is owned by the caller of the method. destroy
-
Type:
GDestroyNotify
Destroy notifier of
data
, orNULL
.The argument can be NULL
.