1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
int menu_build_ui(GtkWidget *p_box, const gchar *xml_file) {
GtkUIManager *p_ui_manager = gtk_ui_manager_new();
GtkActionGroup *p_action_group = NULL;
if(p_ui_manager == NULL)
return 0;
gtk_ui_manager_add_ui_from_file
(
p_ui_manager,
xml_file,
NULL
);
g_signal_connect
(
p_ui_manager,
"add-widget",
G_CALLBACK(menu_add_widget),
p_box
);
GtkActionEntry entries[] =
{
{ "FileAction", NULL, "File", "<Alt>f", NULL, NULL },
{ "NewAction", GTK_STOCK_NEW, "New", "<Control>n", "New", G_CALLBACK(cb_add_tab) },
{ "OpenAction", GTK_STOCK_OPEN, "Open", "<Control>o", "Open", G_CALLBACK(generic_cb) },
{ "SaveAction", GTK_STOCK_SAVE, "Save", "<Control>s", "Save", G_CALLBACK(generic_cb) },
{ "QuitAction", GTK_STOCK_QUIT, "Quit", "<Control>q", "Quit", G_CALLBACK(generic_quit) }
};
p_action_group = gtk_action_group_new("menuActionGroup");
gtk_action_group_add_actions(p_action_group, entries, G_N_ELEMENTS(entries), NULL);
gtk_ui_manager_insert_action_group( p_ui_manager, p_action_group, 0);
return 0;
} |
Partager