1 | #include <gtk/gtk.h> |
2 | |
3 | static void |
4 | quit_cb (GtkWidget *widget, |
5 | gpointer data) |
6 | { |
7 | gboolean *done = data; |
8 | |
9 | *done = TRUE; |
10 | |
11 | g_main_context_wakeup (NULL); |
12 | } |
13 | |
14 | int |
15 | main (int argc, char *argv[]) |
16 | { |
17 | GtkWidget *window; |
18 | GtkWidget *box; |
19 | GtkWidget *child; |
20 | gboolean done = FALSE; |
21 | |
22 | gtk_init (); |
23 | |
24 | if (g_getenv (variable: "RTL" )) |
25 | gtk_widget_set_default_direction (dir: GTK_TEXT_DIR_RTL); |
26 | |
27 | window = gtk_window_new (); |
28 | box = gtk_center_box_new (); |
29 | gtk_window_set_child (GTK_WINDOW (window), child: box); |
30 | |
31 | child = gtk_label_new (str: "Start Start Start Start Start" ); |
32 | gtk_label_set_ellipsize (GTK_LABEL (child), mode: PANGO_ELLIPSIZE_END); |
33 | gtk_center_box_set_start_widget (GTK_CENTER_BOX (box), child); |
34 | |
35 | child = gtk_label_new (str: "Center" ); |
36 | gtk_label_set_ellipsize (GTK_LABEL (child), mode: PANGO_ELLIPSIZE_END); |
37 | gtk_center_box_set_center_widget (GTK_CENTER_BOX (box), child); |
38 | |
39 | child = gtk_label_new (str: "End" ); |
40 | gtk_label_set_ellipsize (GTK_LABEL (child), mode: PANGO_ELLIPSIZE_END); |
41 | gtk_center_box_set_end_widget (GTK_CENTER_BOX (box), child); |
42 | |
43 | g_signal_connect (window, "destroy" , G_CALLBACK (quit_cb), &done); |
44 | |
45 | gtk_widget_show (widget: window); |
46 | |
47 | while (!done) |
48 | g_main_context_iteration (NULL, TRUE); |
49 | |
50 | return 0; |
51 | } |
52 | |