Programmierung
[ Seminar Linux, WWW, Java und Internet ]
... [ Thema GNOME ]
... [ Fazit ]
Übersicht
Programmbeispiel "Hello GNOME"
/* gnome-hello-basic.c -- Example for the "Starting with GNOME" section
* of the Gnome Developers' Tutorial (that's is included in the
* Gnome Developers' Documentation in devel-progs/)
*
*Includes:
* Basic stuff
*
* Copyright (C) 1998 Mark Galassi, Horacio J. Peña, all rights reserved
*/
/*
* Including gnome.h gives you all you need to use the gtk toolkit as
* well as the GNOME libraries; it also handles internationalization
* via GNU gettext. Including config.h before gnome.h is very important
* (else gnome-i18n can't find ENABLE_NLS), of course i'm assuming
* that we're in the gnome tree.
*/
#include
#include
/* This points to our toplevel window */
GtkWidget *app;
/* Callbacks functions */
static void
hello_cb (GtkWidget *widget, void *data)
{
g_print ("Hello GNOME\n");
gtk_main_quit ();
return;
}
static void
quit_cb (GtkWidget *widget, void *data)
{
gtk_main_quit ();
return;
}
static void
prepare_app()
{
GtkWidget *button;
/*
* Makes the main window and binds the delete event so you can close
* the program from your WM
*/
app = gnome_app_new ("hello", "Hello World Gnomified");
gtk_widget_realize (app);
gtk_signal_connect (GTK_OBJECT (app), "delete_event",
GTK_SIGNAL_FUNC (quit_cb),
NULL);
/*
* We make a button, bind the 'clicked' signal to hello and setting it
* to be the content of the main window
*/
button = gtk_button_new_with_label ("Hello GNOME");
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (hello_cb), NULL);
gtk_container_set_border_width (GTK_CONTAINER (button), 60);
gnome_app_set_contents (GNOME_APP (app), button);
/*
* We now show the widgets, the order doesn't matter, but i suggests
* showing the main window last so the whole window will popup at
* once rather than seeing the window pop up, and then the button form
* inside of it. Although with such simple example, you'd never notice.
*/
gtk_widget_show (button);
gtk_widget_show (app);
}
int
main(int argc, char *argv[])
{
gnome_init ("gnome-hello-0-basic", VERSION, argc, argv);
/*
* prepare_app() makes all the gtk calls necessary to set up a
* minimal Gnome application; It's based on the hello world example
* from the Gtk+ tutorial
*/
prepare_app ();
gtk_main ();
return 0;
}
[ Seminar Linux, WWW, Java und Internet ]
... [ Thema GNOME ]
... [ Fazit ]