方法
GtkTreeModelFilterset_visible_func
已弃用: 4.10
声明 [源码]
void
gtk_tree_model_filter_set_visible_func (
GtkTreeModelFilter* filter,
GtkTreeModelFilterVisibleFunc func,
gpointer data,
GDestroyNotify destroy
)
描述 [源码]
设置在筛选“filter”时应使用 func
作为可见函数。如果给定行应该可见,函数应返回 TRUE
,否则返回 FALSE
。
如果函数计算的条件会随时间变化(例如,因为它依赖于某些全局参数),您必须调用 gtk_tree_model_filter_refilter()
以保持模型可见信息的最新状态。
请注意,func
在行插入时(可能仍为空)被调用。因此,可见函数应特别注意空行,如下面的例子所示。
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;
}
请注意,对于给定的筛选模型,只能调用一次 gtk_tree_model_filter_set_visible_func()
或 gtk_tree_model_filter_set_visible_column()
。
自 4.10 开始弃用
请不要在新编写代码中使用它。
参数
func
-
类型:
GtkTreeModelFilterVisibleFunc
GtkTreeModelFilterVisibleFunc
,可见函数。 data
-
类型:
gpointer
传递给可见函数的用户数据。
该参数可以是 NULL
。数据由方法调用者拥有。 destroy
-
类型:
GDestroyNotify
data
的销毁通知器。该参数可以是 NULL
。