18 static const char *MenuUIXml =
20 " <menubar name='MainMenu'>"
21 " <menu action='FileMenu'>"
22 " <menuitem action='Save Session'/>"
23 " <menuitem action='Save Session As'/>"
24 " <menuitem action='Load Session'/>"
25 " <menuitem action='Exit'/>"
27 " <menu action='ToolsMenu'>"
28 " <menuitem action='Preferences'/>"
39 static void CB_saveSessionAs()
59 static void CB_saveSession()
83 static void CB_loadSession()
95 string msg = e.what();
103 static void CB_exit()
109 static void CB_openPreferences()
114 static GtkActionEntry entries[] = {
115 {
"FileMenu", NULL,
"_File" },
116 {
"ToolsMenu", NULL,
"_Tools" },
117 {
"Save Session", GTK_STOCK_SAVE,
"Save Session", NULL,
"Save Session", CB_saveSession},
118 {
"Save Session As", NULL,
"Save Session As", NULL,
"Save Session As", CB_saveSessionAs},
119 {
"Load Session", GTK_STOCK_OPEN,
"L_oad Session", NULL,
"Load Session", CB_loadSession},
120 {
"Exit", GTK_STOCK_QUIT,
"E_xit",
"<control>Q",
"Exit the program", CB_exit },
121 {
"Preferences", GTK_STOCK_PREFERENCES,
"_Preferences",
"<control>P",
"CEBL Preferences", CB_openPreferences}
136 GtkActionGroup *action_group;
138 GtkAccelGroup *accel_group;
142 action_group = gtk_action_group_new (
"MenuActions");
143 gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), window);
147 ui = gtk_ui_manager_new();
148 gtk_ui_manager_insert_action_group(ui, action_group, 0);
149 accel_group = gtk_ui_manager_get_accel_group (ui);
150 gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
155 if(!gtk_ui_manager_add_ui_from_string(ui, MenuUIXml,-1, &error))
157 g_message(
"Creating Menu Failed: %s", error->message);
158 g_error_free (error);
162 menubar = gtk_ui_manager_get_widget (ui,
"/MainMenu");
163 gtk_box_pack_start (GTK_BOX (container), menubar, FALSE, FALSE, 0);
164 gtk_widget_show(menubar);
166 gtk_widget_show_all(container);
167 gtk_widget_show_all(window);