1 | #include <gtk/gtk.h> |
2 | |
3 | int main (int argc, char *argv[]) |
4 | { |
5 | GtkWidget *window, *sw, *viewport, *grid; |
6 | GtkWidget *entry; |
7 | int i, j; |
8 | char *text; |
9 | |
10 | gtk_init (); |
11 | |
12 | window = gtk_window_new (); |
13 | sw = gtk_scrolled_window_new (); |
14 | gtk_window_set_child (GTK_WINDOW (window), child: sw); |
15 | viewport = gtk_viewport_new (hadjustment: gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (sw)), |
16 | vadjustment: gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw))); |
17 | gtk_viewport_set_scroll_to_focus (GTK_VIEWPORT (viewport), TRUE); |
18 | gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), child: viewport); |
19 | grid = gtk_grid_new (); |
20 | gtk_widget_set_margin_start (widget: grid, margin: 20); |
21 | gtk_widget_set_margin_end (widget: grid, margin: 20); |
22 | gtk_widget_set_margin_top (widget: grid, margin: 20); |
23 | gtk_widget_set_margin_bottom (widget: grid, margin: 20); |
24 | gtk_viewport_set_child (GTK_VIEWPORT (viewport), child: grid); |
25 | |
26 | for (i = 0; i < 20; i++) |
27 | for (j = 0; j < 20; j++) |
28 | { |
29 | entry = gtk_entry_new (); |
30 | text = g_strdup_printf (format: "(%d, %d)" , i, j); |
31 | gtk_editable_set_text (GTK_EDITABLE (entry), text); |
32 | g_free (mem: text); |
33 | gtk_editable_set_width_chars (GTK_EDITABLE (entry), n_chars: 6); |
34 | gtk_grid_attach (GTK_GRID (grid), child: entry, column: i, row: j, width: 1, height: 1); |
35 | } |
36 | |
37 | gtk_window_present (GTK_WINDOW (window)); |
38 | |
39 | while (1) |
40 | g_main_context_iteration (NULL, FALSE); |
41 | |
42 | return 0; |
43 | } |
44 | |