#include <gtk/gtk.h>

/*Programmende*/
void ende_cb(GtkObject *object)
{
 gtk_main_quit();
}

/*Ende vom 2.Fenster welches die Eingabe ausgibt*/
void ende_cb2(GtkWidget *widget, gpointer *data)
{
 gtk_widget_destroy(GTK_WINDOW(widget));
}

/*Inhalt von Entry leeren*/
void delete_text_cb(GtkWidget *widget, gpointer *data)
{
 gtk_entry_set_text(GTK_ENTRY(widget),"");
}

/*Inahlt von Entry auslesen und in einem neuem Fenster ausgeben*/
void read_text_cb(GtkWidget *widget, gpointer *data)
{
 GtkWidget *fenster2;
 GtkWidget *label;

 gchar *text=gtk_entry_get_text(GTK_ENTRY(widget));
 g_print("%s\n",text);

  /*Ein neues Fenster erstellen*/
 fenster2 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 label = gtk_label_new(text);

 gtk_signal_connect(GTK_OBJECT(fenster2), "destroy",
                    GTK_SIGNAL_FUNC(ende_cb2), NULL);

 gtk_container_add(GTK_CONTAINER(fenster2),label);

 /*Zeigs uns.....*/
 gtk_widget_show_all(fenster2);

}


int main(int argc, char **argv)
{
 GtkWidget *fenster;
 GtkWidget *box;
 GtkWidget *button_quit, *button, *button2;
 GtkWidget *entry;

 /*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");
 button       = gtk_button_new_with_label("Text löschen");
 button2      = gtk_button_new_with_label("Text einlesen");

 entry        = gtk_entry_new_with_max_length(50);
 gtk_entry_set_text(GTK_ENTRY(entry),"Hier bitte Eingabe machen");

 /*Neue Box erstellen*/
 box = gtk_vbox_new(FALSE,0);


 /*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);
 gtk_signal_connect_object(GTK_OBJECT(button), "clicked",
                           GTK_SIGNAL_FUNC(delete_text_cb), GTK_OBJECT(entry));
 gtk_signal_connect_object(GTK_OBJECT(button2), "clicked",
                           GTK_SIGNAL_FUNC(read_text_cb), GTK_OBJECT(entry));


 /*Fensterposition*/
 gtk_window_set_position(GTK_WINDOW(fenster),GTK_WIN_POS_CENTER);

 gtk_container_set_border_width(GTK_CONTAINER(fenster),25);

 gtk_box_pack_start(GTK_BOX(box), entry, FALSE, FALSE, 10);
 gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), button2, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), button_quit, FALSE, FALSE, 0);


 gtk_container_add(GTK_CONTAINER(fenster),box);

 /*Zeigs uns.....*/
 gtk_widget_show_all(fenster);

 gtk_main();

 return 0;
}