如何在给定回调的情况下确定哪个模型连接到树视图?

时间:2012-02-24 12:42:05

标签: gtk gtktreeview

例如,在Gtk 2.0中,单元格切换事件会将呈现的单元格和回调路径传递给它。但是为了更改底层模型数据,我需要知道哪个树视图或此事件的模型。确定这个的正确方法是什么?

编辑:

为了澄清,GtkCellRenderer 切换信号使用3个参数调用回调:*cell_renderer*pathuser_data。在此回调中,如何检索连接到接收此信号的树视图的模型?

1 个答案:

答案 0 :(得分:0)

连接“切换”信号时,可以将GtkTreeView或模型作为user_data传递。我不是Gtk +使用C编程语言的专家:),但我想以下代码可以帮助你:

void cb_toggled (GtkCellRendererToggle *cell_renderer,gchar *path, gpointer user_data)
{
    GtkListStore *store = (GtkListStore *) user_data;
    ...
}

int main(int argc, char **argv)
{
    ...
    g_signal_connect(G_OBJECT(cell_renderer), "toggled", G_CALLBACK(cb_toggled), (gpointer)gtk_tree_view_get_model(treeview));
    ...
}