GNOME-Workshop: Die Menüleiste
Von
P. Spingys
Eine einfache Menüleiste
/* 001 */ #include <gnome.h>
/* 002 */
/* 003 */ GtkWidget *fenster;
/* 004 */ GtkWidget *feld;
/* 005 */
/* 006 */ void quit_prgm(GtkWidget *widget, gpointer data)
/* 007 */ {
/* 008 */ gtk_main_quit();
/* 009 */ }
/* 010 */
/* 011 */ void about(GtkWidget *widget, gpointer data)
/* 012 */ {}
/* 013 */
/* 014 */ GnomeUIInfo filemenu[] = {
/* 015 */ GNOMEUIINFO_SEPARATOR,
/* 016 */ GNOMEUIINFO_MENU_EXIT_ITEM(quit_prgm, NULL),
/* 017 */ GNOMEUIINFO_END
/* 018 */ };
/* 019 */
/* 020 */ GnomeUIInfo helpmenu[] = {
/* 021 */ GNOMEUIINFO_MENU_ABOUT_ITEM(about, NULL),
/* 022 */ GNOMEUIINFO_END
/* 023 */ };
/* 024 */
/* 025 */ GnomeUIInfo mainmenu[] = {
/* 026 */ GNOMEUIINFO_MENU_FILE_TREE(filemenu),
/* 027 */ GNOMEUIINFO_MENU_HELP_TREE(helpmenu),
/* 028 */ GNOMEUIINFO_END
/* 029 */ };
/* 030 */
/* 031 */ int main (int argc, char *argv[])
/* 032 */ {
/* 033 */ GnomeAppBar *appbar;
/* 034 */
/* 035 */ gnome_init_with_popt_table("", NULL, argc, argv, NULL, 0, NULL);
/* 036 */ fenster = gnome_app_new("", _("Hello World!"));
/* 037 */ gnome_app_create_menus(GNOME_APP(fenster), mainmenu);
/* 038 */ appbar = GNOME_APPBAR (gnome_appbar_new(FALSE, FALSE, FALSE));
/* 039 */ gnome_app_set_statusbar(GNOME_APP (fenster), GTK_WIDGET (appbar));
/* 040 */ gtk_signal_connect(GTK_OBJECT(fenster), "delete_event",
/* 041 */ GTK_SIGNAL_FUNC(quit_prgm), NULL);
/* 042 */ gtk_window_set_policy(GTK_WINDOW(fenster), TRUE, TRUE, FALSE);
/* 043 */ feld = gtk_drawing_area_new();
/* 044 */ gnome_app_set_contents(GNOME_APP(fenster), feld);
/* 045 */ gtk_drawing_area_size(GTK_DRAWING_AREA(feld), 400, 300);
/* 046 */ gtk_widget_show(fenster);
/* 047 */ gtk_main();
/* 048 */ return 0;
/* 049 */ }
| Befehlszeile | deutscher Text |
|---|---|
| GNOMEUIINFO_END | { oblig. Schluß } |
| GNOMEUIINFO_SEPARATOR | { Trennlinie } |
| GNOMEUIINFO_MENU_FILE_TREE(mymenu) | Datei |
| GNOMEUIINFO_MENU_SETTINGS_TREE(mymenu) | Einstellungen |
| GNOMEUIINFO_MENU_HELP_TREE(mymenu) | Hilfe |
| GNOMEUIINFO_MENU_GAME_TREE(mymenu) | Spiel |
| GNOMEUIINFO_MENU_SELECT_ALL_ITEM(mymenu,NULL) | Alle auswählen |
| GNOMEUIINFO_MENU_CUT_ITEM(mymenu,NULL) | _Ausschneiden |
| GNOMEUIINFO_MENU_EXIT_ITEM(mymenu, NULL) | _Beenden |
| GNOMEUIINFO_MENU_PRINT_ITEM(mymenu,NULL) | _Drucken |
| GNOMEUIINFO_MENU_PASTE_ITEM(mymenu,NULL) | E_infügen |
| GNOMEUIINFO_MENU_PREFERENCES_ITEM(mymenu, NULL) | Einstellungen... |
| GNOMEUIINFO_MENU_REPLACE_ITEM(mymenu,NULL) | E_rsetzen... |
| GNOMEUIINFO_MENU_HINT_ITEM(mymenu, NULL) | _Hinweis |
| GNOMEUIINFO_MENU_ABOUT_ITEM(mymenu, NULL) | _Info... |
| GNOMEUIINFO_MENU_COPY_ITEM(mymenu,NULL) | _Kopieren |
| GNOMEUIINFO_MENU_NEW_GAME_ITEM(mymenu, NULL) | _Neues Spiel |
| GNOMEUIINFO_MENU_SCORES_ITEM(mymenu, NULL) | Rangliste |
| GNOMEUIINFO_MENU_UNDO_ITEM(mymenu,NULL) | _Rückgängig |
| GNOMEUIINFO_MENU_CLOSE_ITEM(mymenu,NULL) | S_chließen |
| GNOMEUIINFO_MENU_SAVE_ITEM(mymenu, NULL) | _Speichern |
| GNOMEUIINFO_MENU_SAVE_AS_ITEM(mymenu, NULL) | Speichern _unter... |
| GNOMEUIINFO_MENU_RESTART_GAME_ITEM(mymenu, NULL) | Spiel neu starten |
| GNOMEUIINFO_MENU_FIND_ITEM(mymenu,NULL) | _Suchen... |
| GNOMEUIINFO_MENU_FIND_AGAIN_ITEM(mymenu,NULL) | Weitersuchen |
| GNOMEUIINFO_MENU_REDO_ITEM(mymenu,NULL) | _Wiederherstellen |
| GNOMEUIINFO_MENU_REDO_MOVE_ITEM(mymenu, NULL) | Zug wiederherstellen |
| GNOMEUIINFO_MENU_UNDO_MOVE_ITEM(mymenu, NULL) | Zug zurücknehemen |
Eine geSTOCKte Menüleiste
#include <gnome.h>
GtkWidget *fenster;
GtkWidget *feld;
void quit_prgm(GtkWidget *widget, gpointer data)
{
gtk_main_quit();
}
void about(GtkWidget *widget, gpointer data)
{}
GnomeUIInfo filemenu[] = {
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_ITEM_STOCK(N_("_Beenden"), N_("beendet Programm"),
quit_prgm, GNOME_STOCK_PIXMAP_REDO),
GNOMEUIINFO_END
};
GnomeUIInfo helpmenu[] = {
GNOMEUIINFO_ITEM_STOCK(N_("_Info..."), N_("Info"),
about, GNOME_STOCK_PIXMAP_REDO),
GNOMEUIINFO_END
};
GnomeUIInfo mainmenu[] = {
GNOMEUIINFO_MENU_FILE_TREE(filemenu),
GNOMEUIINFO_MENU_HELP_TREE(helpmenu),
GNOMEUIINFO_END
};
int main (int argc, char *argv[])
{
GnomeAppBar *appbar;
gnome_init_with_popt_table("", NULL, argc, argv, NULL, 0, NULL);
fenster = gnome_app_new("", _("Hello World!"));
gnome_app_create_menus(GNOME_APP(fenster), mainmenu);
appbar = GNOME_APPBAR (gnome_appbar_new(FALSE, FALSE, FALSE));
gnome_app_set_statusbar(GNOME_APP (fenster), GTK_WIDGET (appbar));
gtk_signal_connect(GTK_OBJECT(fenster), "delete_event",
GTK_SIGNAL_FUNC(quit_prgm), NULL);
gtk_window_set_policy(GTK_WINDOW(fenster), TRUE, TRUE, FALSE);
feld = gtk_drawing_area_new();
gnome_app_set_contents(GNOME_APP(fenster), feld);
gtk_drawing_area_size(GTK_DRAWING_AREA(feld), 400, 300);
gtk_widget_show(fenster);
gtk_main();
return 0;
}
Für den besonderen Fall
#include <gnome.h>
GtkWidget *fenster;
GtkWidget *feld;
void quit_prgm(GtkWidget *widget, gpointer data)
{
gtk_main_quit();
}
void about(GtkWidget *widget, gpointer data)
{}
GnomeUIInfo filemenu[] = {
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_ITEM,
N_("Beende Programm"), N_("beendet Programm"),
quit_prgm, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, GDK_CONTROL_MASK, NULL
},
GNOMEUIINFO_END
};
GnomeUIInfo helpmenu[] = {
{
GNOME_APP_UI_ITEM,
N_("mein About"), N_("über"),
about, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, GDK_CONTROL_MASK, NULL
},
GNOMEUIINFO_END
};
GnomeUIInfo mainmenu[] = {
GNOMEUIINFO_MENU_FILE_TREE(filemenu),
GNOMEUIINFO_MENU_HELP_TREE(helpmenu),
GNOMEUIINFO_END
};
int main (int argc, char *argv[])
{
GnomeAppBar *appbar;
gnome_init_with_popt_table("", NULL, argc, argv, NULL, 0, NULL);
fenster = gnome_app_new("", _("Hello World!"));
gnome_app_create_menus(GNOME_APP(fenster), mainmenu);
appbar = GNOME_APPBAR (gnome_appbar_new(FALSE, FALSE, FALSE));
gnome_app_set_statusbar(GNOME_APP (fenster), GTK_WIDGET (appbar));
gtk_signal_connect(GTK_OBJECT(fenster), "delete_event",
GTK_SIGNAL_FUNC(quit_prgm), NULL);
gtk_window_set_policy(GTK_WINDOW(fenster), TRUE, TRUE, FALSE);
feld = gtk_drawing_area_new();
gnome_app_set_contents(GNOME_APP(fenster), feld);
gtk_drawing_area_size(GTK_DRAWING_AREA(feld), 400, 300);
gtk_widget_show(fenster);
gtk_main();
return 0;
}

