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
|
#include "gnt.h"
#include "gntbox.h"
#include "gntlabel.h"
#include "gntmenu.h"
#include "gntmenuitem.h"
#include "gntwindow.h"
void dothis(GntMenuItem *item, gpointer null)
{
GntWidget *w = gnt_vbox_new(FALSE);
gnt_box_set_toplevel(GNT_BOX(w), TRUE);
gnt_box_add_widget(GNT_BOX(w),
gnt_label_new("Callback to a menuitem"));
gnt_widget_show(w);
}
int main()
{
freopen(".error", "w", stderr);
gnt_init();
GntWidget *menu = gnt_menu_new(GNT_MENU_TOPLEVEL);
GObject *item = gnt_menuitem_new("File");
gnt_menu_add_item(GNT_MENU(menu), GNT_MENU_ITEM(item));
item = gnt_menuitem_new("Edit");
gnt_menu_add_item(GNT_MENU(menu), GNT_MENU_ITEM(item));
item = gnt_menuitem_new("Help");
gnt_menu_add_item(GNT_MENU(menu), GNT_MENU_ITEM(item));
GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP);
gnt_menuitem_set_submenu(GNT_MENU_ITEM(item), GNT_MENU(sub));
item = gnt_menuitem_new("Online Helpasd");
gnt_menuitem_set_trigger(GNT_MENU_ITEM(item), 'h');
gnt_menu_add_item(GNT_MENU(sub), GNT_MENU_ITEM(item));
item = gnt_menuitem_new("Online Help");
gnt_menuitem_set_trigger(GNT_MENU_ITEM(item), 'h');
gnt_menu_add_item(GNT_MENU(sub), GNT_MENU_ITEM(item));
item = gnt_menuitem_new("About");
gnt_menuitem_set_trigger(GNT_MENU_ITEM(item), 'a');
gnt_menu_add_item(GNT_MENU(sub), GNT_MENU_ITEM(item));
sub = gnt_menu_new(GNT_MENU_POPUP);
gnt_menuitem_set_submenu(GNT_MENU_ITEM(item), GNT_MENU(sub));
item = gnt_menuitem_new("Online Help");
gnt_menuitem_set_trigger(GNT_MENU_ITEM(item), 'O');
gnt_menu_add_item(GNT_MENU(sub), GNT_MENU_ITEM(item));
gnt_menuitem_set_callback(GNT_MENU_ITEM(item), dothis, NULL);
gnt_screen_menu_show(menu);
GntWidget *win = gnt_window_new();
gnt_box_add_widget(GNT_BOX(win),
gnt_label_new("..."));
gnt_box_set_title(GNT_BOX(win), "Title");
gnt_window_set_menu(GNT_WINDOW(win), GNT_MENU(menu));
gnt_widget_show(win);
gnt_main();
gnt_quit();
return 0;
}
|