Project:
Devchekio
Code Location:
https://devchekio.svn.sourceforge.net/svnroot/devchekio
menu.cpp
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* The menu.cpp file is to decalre the Main Menu arrary for the main window. It then structures, builds and displays the menu. */ //sets up menu array static GtkItemFactoryEntry menuentries[]= { {"/_File", NULL, NULL, 0, "<Branch>", GTK_STOCK_FILE}, {"/File/_New", "<CTRL>N", G_CALLBACK(on_new), 0, "<StockItem>", GTK_STOCK_NEW}, {"/File/_Open", "<CTRL>O", G_CALLBACK(on_open), 0, "<StockItem>", GTK_STOCK_OPEN}, {"/File/_Save", "<CTRL>S", G_CALLBACK(on_save), 0, "<StockItem>", GTK_STOCK_SAVE}, {"/File/Save _As", "<Shift><CTRL>S", G_CALLBACK(on_save_as), 0, "<StockItem>", GTK_STOCK_SAVE_AS}, {"/File/Save A_ll", NULL, G_CALLBACK(on_save_all_menu), 0, "<StockItem>"}, {"/File/---", NULL, NULL, 0, "<Separator>"}, //{"/File/Print Pre_view", "<Shift><CTRL>P", NULL, 0, "<StockItem>", GTK_STOCK_PRINT_PREVIEW}, //{"/File/_Print", "<CTRL>P", NULL, 0, "<StockItem>", GTK_STOCK_PRINT}, //{"/File/---", NULL, NULL, 0, "<Separator>"}, {"/File/_Close tab", "<Shift><CTRL>T", G_CALLBACK(on_tab_x), 0, "<StockItem>", GTK_STOCK_CLOSE}, {"/File/_Quit", "<CTRL>Q", G_CALLBACK(destroyapp), 0, "<StockItem>", GTK_STOCK_QUIT}, {"/_Edit", NULL, NULL, 0, "<Branch>", GTK_STOCK_EDIT }, {"/Edit/_Undo", "<CTRL>Z", G_CALLBACK(on_undo), 0, "<StockItem>", GTK_STOCK_UNDO}, {"/Edit/_Redo", "<CTRL>Y", G_CALLBACK(on_redo), 0, "<StockItem>", GTK_STOCK_REDO}, {"/Edit/---", NULL, NULL, 0, "<Separator>"}, {"/Edit/Cu_t", "<CTRL>X", G_CALLBACK(on_cut), 0, "<StockItem>", GTK_STOCK_CUT}, {"/Edit/_Copy", "<CTRL>C", G_CALLBACK(on_copy), 0, "<StockItem>", GTK_STOCK_COPY}, {"/Edit/_Paste", "<CTRL>V", G_CALLBACK(on_paste), 0, "<StockItem>", GTK_STOCK_PASTE}, {"/Edit/_Delete", NULL, G_CALLBACK(on_del), 0, "<StockItem>", GTK_STOCK_DELETE}, {"/Edit/---", NULL, NULL, 0, "<Separator>"}, {"/Edit/Select _All", "<CTRL>A", G_CALLBACK(on_sel_all), 0, "<StockItem>", GTK_STOCK_SELECT_ALL}, //{"/Edit/_Go to Line", "<CTRL>G", NULL, 0, "<StockItem>"}, //{"/_Search", NULL, NULL, 0, "<Branch>"}, //{"/Search/_Find", "<CTRL>F", G_CALLBACK(on_search), 0, "<StockItem>", GTK_STOCK_FIND}, /*{"/Search/Find _Next", "<CTRL>G", G_CALLBACK(on_find), 0, "<StockItem>"}, {"/Search/Find _Previous", "<Shift><CTRL>G", G_CALLBACK(on_find_p), 0, "<StockItem>"}, {"/Search/_Replace", "<CTRL>H", NULL, 0, "<StockItem>", GTK_STOCK_FIND_AND_REPLACE}, */ {"/_View", NULL, NULL, 0, "<Branch>" }, {"/View/_Next Page", "<Alt><CTRL>N", G_CALLBACK(on_nextp), 0, "<StockItem>", GTK_STOCK_GO_FORWARD}, {"/View/_Previous Page", "<Alt><CTRL>P", G_CALLBACK(on_prevp), 0, "<StockItem>", GTK_STOCK_GO_BACK}, {"/View/---", NULL, NULL, 0, "<Separator>"}, {"/View/_Full Screen", NULL, G_CALLBACK(on_fullscn), 0, "<CheckItem>", GTK_STOCK_FULLSCREEN}, {"/View/_Word Wrap", NULL, G_CALLBACK(on_wrap), 0, "<CheckItem>" }, {"/View/_Line Numbers", NULL, G_CALLBACK(on_linen), 0, "<CheckItem>" }, {"/_Help", NULL, NULL, 0, "<Branch>", GTK_STOCK_HELP}, {"/Help/_About", NULL, G_CALLBACK(on_about), 0, "<StockItem>", GTK_STOCK_ABOUT} //{"/Help/_Online Support", NULL, NULL, 0, "<StockItem>"} }; //sets the size of the array static gint nmenuentries=sizeof(menuentries)/sizeof(menuentries[0]); //translates the menu array into a widget static GtkWidget *get_menubar_menu(GtkWidget *window) { g_print("Building Menu...\n"); //temp vars GtkItemFactory *item_factory; GtkAccelGroup *accel_group; //adds to the window accel_group=gtk_accel_group_new(); item_factory=gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<main>", accel_group); gtk_item_factory_create_items(item_factory, nmenuentries, menuentries, NULL); gtk_window_add_accel_group(GTK_WINDOW (window), accel_group); return gtk_item_factory_get_widget(item_factory, "<main>"); }
