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_vbox_new (FALSE, 5);
23
hbox = gtk_hbox_new (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_vbox_new (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);