7 static GtkWidget *window = NULL;
14 gtk_init (&argc, &argv);
16 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
17 g_signal_connect (G_OBJECT (window), "destroy",
18 G_CALLBACK (gtk_main_quit),
21 gtk_window_set_title (GTK_WINDOW (window), "Label");
22 vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5);
23 hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5);
24 gtk_container_add (GTK_CONTAINER (window), hbox);
25 gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
26 gtk_container_set_border_width (GTK_CONTAINER (window), 5);
28 frame = gtk_frame_new ("Normal Label");
29 label = gtk_label_new ("This is a Normal label");
30 gtk_container_add (GTK_CONTAINER (frame), label);
31 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
33 frame = gtk_frame_new ("Multi-line Label");
34 label = gtk_label_new ("This is a Multi-line label.\nSecond line\n" \
36 gtk_container_add (GTK_CONTAINER (frame), label);
37 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
39 frame = gtk_frame_new ("Left Justified Label");
40 label = gtk_label_new ("This is a Left-Justified\n" \
41 "Multi-line label.\nThird line");
42 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
43 gtk_container_add (GTK_CONTAINER (frame), label);
44 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
46 frame = gtk_frame_new ("Right Justified Label");
47 label = gtk_label_new ("This is a Right-Justified\nMulti-line label.\n" \
48 "Fourth line, (j/k)");
49 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
50 gtk_container_add (GTK_CONTAINER (frame), label);
51 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
53 vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5);
54 gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
55 frame = gtk_frame_new ("Line wrapped label");
56 label = gtk_label_new ("This is an example of a line-wrapped label. It " \
57 "should not be taking up the entire " /* big space to test spacing */\
58 "width allocated to it, but automatically " \
59 "wraps the words to fit. " \
60 "The time has come, for all good men, to come to " \
61 "the aid of their party. " \
62 "The sixth sheik's six sheep's sick.\n" \
63 " It supports multiple paragraphs correctly, " \
64 "and correctly adds "\
65 "many extra spaces. ");
66 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
67 gtk_container_add (GTK_CONTAINER (frame), label);
68 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
70 frame = gtk_frame_new ("Filled, wrapped label");
71 label = gtk_label_new ("This is an example of a line-wrapped, filled label. " \
72 "It should be taking "\
73 "up the entire width allocated to it. " \
74 "Here is a sentence to prove "\
75 "my point. Here is another sentence. "\
76 "Here comes the sun, do de do de do.\n"\
77 " This is a new paragraph.\n"\
78 " This is another newer, longer, better " \
79 "paragraph. It is coming to an end, "\
81 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_FILL);
82 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
83 gtk_container_add (GTK_CONTAINER (frame), label);
84 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
86 frame = gtk_frame_new ("Underlined label");
87 label = gtk_label_new ("This label is underlined!\n"
88 "This one is underlined in quite a funky fashion");
89 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
90 gtk_label_set_pattern (GTK_LABEL (label),
91 "_________________________ _ _________ _ ______ __ _______ ___");
92 gtk_container_add (GTK_CONTAINER (frame), label);
93 gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
95 gtk_widget_show_all (window);