方法

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