6
static void enter_callback( GtkWidget *widget,
9
const gchar *entry_text;
10
entry_text = gtk_entry_get_text (GTK_ENTRY (entry));
11
printf ("Entry contents: %s\n", entry_text);
14
static void entry_toggle_editable( GtkWidget *checkbutton,
17
gtk_editable_set_editable (GTK_EDITABLE (entry),
18
GTK_TOGGLE_BUTTON (checkbutton)->active);
21
static void entry_toggle_visibility( GtkWidget *checkbutton,
24
gtk_entry_set_visibility (GTK_ENTRY (entry),
25
GTK_TOGGLE_BUTTON (checkbutton)->active);
33
GtkWidget *vbox, *hbox;
39
gtk_init (&argc, &argv);
41
/* create a new window */
42
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
43
gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100);
44
gtk_window_set_title (GTK_WINDOW (window), "GTK Entry");
45
g_signal_connect (G_OBJECT (window), "destroy",
46
G_CALLBACK (gtk_main_quit), NULL);
47
g_signal_connect_swapped (G_OBJECT (window), "delete_event",
48
G_CALLBACK (gtk_widget_destroy),
51
vbox = gtk_vbox_new (FALSE, 0);
52
gtk_container_add (GTK_CONTAINER (window), vbox);
53
gtk_widget_show (vbox);
55
entry = gtk_entry_new ();
56
gtk_entry_set_max_length (GTK_ENTRY (entry), 50);
57
g_signal_connect (G_OBJECT (entry), "activate",
58
G_CALLBACK (enter_callback),
60
gtk_entry_set_text (GTK_ENTRY (entry), "hello");
61
tmp_pos = GTK_ENTRY (entry)->text_length;
62
gtk_editable_insert_text (GTK_EDITABLE (entry), " world", -1, &tmp_pos);
63
gtk_editable_select_region (GTK_EDITABLE (entry),
64
0, GTK_ENTRY (entry)->text_length);
65
gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
66
gtk_widget_show (entry);
68
hbox = gtk_hbox_new (FALSE, 0);
69
gtk_container_add (GTK_CONTAINER (vbox), hbox);
70
gtk_widget_show (hbox);
72
check = gtk_check_button_new_with_label ("Editable");
73
gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0);
74
g_signal_connect (G_OBJECT (check), "toggled",
75
G_CALLBACK (entry_toggle_editable), (gpointer) entry);
76
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE);
77
gtk_widget_show (check);
79
check = gtk_check_button_new_with_label ("Visible");
80
gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0);
81
g_signal_connect (G_OBJECT (check), "toggled",
82
G_CALLBACK (entry_toggle_visibility), (gpointer) entry);
83
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE);
84
gtk_widget_show (check);
86
button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
87
g_signal_connect_swapped (G_OBJECT (button), "clicked",
88
G_CALLBACK (gtk_widget_destroy),
90
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
91
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
92
gtk_widget_grab_default (button);
93
gtk_widget_show (button);
95
gtk_widget_show (window);