#include <gtk/gtk.h>
static gboolean close(GtkWidget *widget, GdkEvent *event, gpointer *data) {
gtk_main_quit();
return FALSE;
}
void button_clicked(GtkWidget *widget, gpointer *data) {
GtkWidget *entry = (GtkWidget *) data;
GtkWidget *label = (GtkWidget *) gtk_object_get_data(GTK_OBJECT(data),"label");
gchar *str = gtk_entry_get_text(GTK_ENTRY(entry));
gtk_label_set_text(GTK_LABEL(label),str);
}
void entry_activate(GtkWidget *widget, gpointer *data) {
GtkWidget *label = (GtkWidget *) gtk_object_get_data(GTK_OBJECT(widget),"label");
gchar *str = gtk_entry_get_text(GTK_ENTRY(widget));
gtk_label_set_text(GTK_LABEL(label),str);
}
int main (int argc, char *argv[]) {
GtkWidget *window, *lblUp, *lblDown, *entry, *button, *vbox, *hbox;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"Entrys");
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(close),NULL);
lblUp = gtk_label_new("Введите текст:");
entry = gtk_entry_new_with_max_length(8);
button = gtk_button_new_with_label("Ввод");
lblDown = gtk_label_new("");
gtk_object_set_data(GTK_OBJECT(entry),"label",lblDown);
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_clicked),entry);
gtk_signal_connect(GTK_OBJECT(entry),"activate",GTK_SIGNAL_FUNC(entry_activate),NULL);
hbox = gtk_hbox_new(TRUE,10);
gtk_container_add(GTK_CONTAINER(hbox),entry);
gtk_container_add(GTK_CONTAINER(hbox),button);
vbox = gtk_vbox_new(TRUE,10);
gtk_container_add(GTK_CONTAINER(vbox),lblUp);
gtk_container_add(GTK_CONTAINER(vbox),hbox);
gtk_container_add(GTK_CONTAINER(vbox),lblDown);
gtk_container_add(GTK_CONTAINER(window),vbox);
gtk_widget_show_all(window);
gtk_main();
return 0;
}