#include <gtk/gtk.h>


void ende_cb(GtkObject *object)
{
 gtk_main_quit();
}


int main(int argc, char **argv)
{
 GtkWidget *fenster;
 GtkWidget *box, *box2;
 GtkWidget *label1, *label2, *label3;
 GtkWidget *button_quit;
 gchar *string;

 /*Gtk initialisieren*/
 gtk_init(&argc, &argv);
 /*Ein neues Fenster erstellen*/
 fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 /*Buttons erstellen*/

 button_quit  = gtk_button_new_with_label("Ende");
 /*Neue Box erstellen*/
 box = gtk_vbox_new(TRUE,10);

 label1 = gtk_label_new("Hallo Welt, dies ist Label1\nund er ist total Sinnlos\n"
 "aber Hallo wird unterstrichen");
 /*Wir Unterstreichen das Wort Hallo in Label1*/
 gtk_label_set_pattern(GTK_LABEL(label1),"______");
 label2 = gtk_label_new("Die ist Label 2\nund der ist Linksausgerichtet");
 gtk_label_set_justify(GTK_LABEL(label2),GTK_JUSTIFY_LEFT);
 label3 = gtk_label_new("Wird ja noch\nbesser\nZeile beginnt\nam Anfang\nbeim newline");
 gtk_label_set_line_wrap(GTK_LABEL(label3), TRUE);
 /*Inhalt von Label 1 auslesen*/
 gtk_label_get(GTK_LABEL(label1), &string);
 g_print("%s\n",string);

 /*Signale registrieren*/
 gtk_signal_connect_object(GTK_OBJECT(button_quit), "clicked",
                           GTK_SIGNAL_FUNC(ende_cb), GTK_OBJECT(fenster));
 gtk_signal_connect(GTK_OBJECT(fenster), "destroy",
                    GTK_SIGNAL_FUNC(ende_cb), NULL);


 /*Fensterposition*/
 gtk_window_set_position(GTK_WINDOW(fenster),GTK_WIN_POS_CENTER);

 gtk_container_set_border_width(GTK_CONTAINER(fenster),25);

 /*Nun alles rein in die Box....*/
 gtk_box_pack_start(GTK_BOX(box), label1, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), label2, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), label3, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), button_quit, FALSE, FALSE, 20);


 gtk_container_add(GTK_CONTAINER(fenster),box);

 /*Zeigs uns.....*/
 gtk_widget_show_all(fenster);

 gtk_main();

 return 0;
}