2012-12-16 63 views
0

我創建了用C編碼的GTK應用程序。如何在工具欄中爲GtkToolItem創建監聽器?

我補充工具欄:

enter image description here

這裏是相關的代碼片段:

GtkWidget *toolbar; 
GtkToolItem *new; 
GtkToolItem *open; 
GtkToolItem *save; 
GtkToolItem *sep; 
GtkToolItem *exit; 





... 
toolbar = gtk_toolbar_new();  
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); 

gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2); 

new = gtk_tool_button_new_from_stock(GTK_STOCK_NEW); 
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), new, -1); 

open = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN); 
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), open, -1); 

save = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE); 
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), save, -1); 

sep = gtk_separator_tool_item_new(); 
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), sep, -1); 

exit = gtk_tool_button_new_from_stock(GTK_STOCK_QUIT); 
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), exit, -1); 


.... 



gtk_widget_show_all (window); 

的問題是,如何監聽器(回調)添加到工具欄時,我按下退出/打開...

對於單個按鈕我有類似的東西:

g_signal_connect (G_OBJECT (_button), "clicked", G_CALLBACK (on_button_clicked), NULL); 

void on_button_clicked(){...} 

我知道如何通過gtk_ui_manager來做到這一點,但它太複雜了。

請幫忙

回答