2012-02-24 61 views
0

例如,在Gtk 2.0中,單元格切換事件將渲染的單元格和路徑傳遞給回調。但爲了更改底層模型數據,我需要知道該事件適用於哪個樹視圖或哪個模型。什麼是確定的正確方法?如何確定哪個模型連接到給定回調的樹視圖?

編輯:

爲了澄清,所述GtkCellRenderer切換信號調用帶有3個參數的回調:*cell_renderer*pathuser_data。在此回調中,如何檢索連接到接收此信號的樹視圖的模型?

+0

能否請您更清楚哪些類的回調是你談論哪些信號? – liberforce 2012-02-24 16:25:28

回答

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)); 
    ... 
} 
相關問題