Menu

[r121]: / menu.cpp  Maximize  Restore  History

Download this file

73 lines (63 with data), 5.0 kB

 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
/*
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>");
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.