#include <gtk/gtk.h>

gint delete_cb(GtkWidget *widget, GdkEvent *event, gpointer *data)
{
 return(TRUE);
}

void ende_cb(GtkObject *object)
{
 gtk_main_quit();
}


int main(int argc, char **argv)
{
 GtkWidget *fenster;
 GtkWidget *button;
 /*Gtk initialisieren*/
 gtk_init(&argc, &argv);
 /*Ein neues Fenster erstellen*/
 fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 /*Einen Button erstellen*/
 button  = gtk_button_new_with_label("Hallo Welt");

 /*Signale registrieren*/
 gtk_signal_connect(GTK_OBJECT(fenster), "delete_event",
                    GTK_SIGNAL_FUNC(delete_cb),NULL);
 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
                           GTK_SIGNAL_FUNC(ende_cb), GTK_OBJECT(fenster));
 /*Fenstertitel*/
 gtk_window_set_title(GTK_WINDOW(fenster), "Hallo Welt mit Button");
 /*Fensterposition*/
 gtk_window_set_position(GTK_WINDOW(fenster),GTK_WIN_POS_CENTER);

 gtk_container_set_border_width(GTK_CONTAINER(fenster),25);
 /*Fenster dem dem Button zuordnen*/
 gtk_container_add(GTK_CONTAINER(fenster),button);
 /*Zeigs uns.....*/
 gtk_widget_show_all(fenster);

 gtk_main();

 return 0;
}