/** stdmenu.c **/ #include const gchar data[] = "Dummy callback data"; static void helpAbout(GtkWidget *widget,gpointer data) { GtkWidget *aboutBox; const gchar *writtenBy[] = { "Arthur Griffith", "Lance Peterson", NULL }; aboutBox = gnome_about_new("Gnome Menu Layout", "0.0", "(C) 1999 the Free Software Foundation", writtenBy, "This source code can be used as a starting " "point to create a Gnome application.", NULL); gtk_widget_show(aboutBox); } static void dummyCallback(GtkObject *object, gpointer data) { gnome_ok_dialog("Not implemented..."); } GnomeUIInfo dummyMenu[] = { { GNOME_APP_UI_ITEM,"Dummy", "A placeholder menu entry", dummyCallback,NULL,NULL, GNOME_APP_PIXMAP_NONE, NULL,0,0,NULL }, GNOMEUIINFO_END }; GnomeUIInfo fileMenu[] = { GNOMEUIINFO_MENU_NEW_ITEM("New Window", "Open a new application window", dummyCallback,data), GNOMEUIINFO_MENU_NEW_SUBTREE(dummyMenu), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_MENU_OPEN_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_SAVE_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_SAVE_AS_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_REVERT_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_PRINT_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_PRINT_SETUP_ITEM(dummyCallback,data), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_MENU_CLOSE_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_EXIT_ITEM(dummyCallback,data), GNOMEUIINFO_END }; GnomeUIInfo editMenu[] = { GNOMEUIINFO_MENU_UNDO_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_REDO_ITEM(dummyCallback,data), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_MENU_CUT_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_COPY_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_PASTE_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_CLEAR_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_SELECT_ALL_ITEM(dummyCallback,data), GNOMEUIINFO_SEPARATOR, GNOMEUIINFO_MENU_FIND_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_FIND_AGAIN_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_REPLACE_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_PROPERTIES_ITEM(dummyCallback,data), GNOMEUIINFO_END }; GnomeUIInfo gameMenu[] = { GNOMEUIINFO_MENU_NEW_GAME_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_PAUSE_GAME_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_RESTART_GAME_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_UNDO_MOVE_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_HINT_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_SCORES_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_END_GAME_ITEM(dummyCallback,data), GNOMEUIINFO_END }; GnomeUIInfo settingsMenu[] = { GNOMEUIINFO_MENU_PREFERENCES_ITEM(dummyCallback,data), GNOMEUIINFO_END }; GnomeUIInfo windowsMenu[] = { GNOMEUIINFO_MENU_NEW_WINDOW_ITEM(dummyCallback,data), GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM(dummyCallback,data), GNOMEUIINFO_END }; GnomeUIInfo helpMenu[] = { GNOMEUIINFO_HELP("stdmain"), GNOMEUIINFO_MENU_ABOUT_ITEM(helpAbout,data), GNOMEUIINFO_END }; GnomeUIInfo mainMenu[] = { GNOMEUIINFO_SUBTREE("_File",fileMenu), GNOMEUIINFO_SUBTREE("_Edit",editMenu), GNOMEUIINFO_SUBTREE("_View",dummyMenu), GNOMEUIINFO_SUBTREE("_Game",gameMenu), GNOMEUIINFO_SUBTREE("[custom]",dummyMenu), GNOMEUIINFO_SUBTREE("_Settings",settingsMenu), GNOMEUIINFO_SUBTREE("_Windows",windowsMenu), GNOMEUIINFO_SUBTREE("_Help",helpMenu), GNOMEUIINFO_END }; GtkWidget *createMenus(GtkWidget *app) { GtkWidget *statusbar; gnome_app_create_menus(GNOME_APP(app),mainMenu); statusbar = gtk_statusbar_new(); gnome_app_install_statusbar_menu_hints( GTK_STATUSBAR(statusbar),mainMenu); gnome_app_set_statusbar(GNOME_APP(app),statusbar); return(statusbar); }