File: test-eel-label-wrapped.c

package info (click to toggle)
eel 1.0.2-8
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,840 kB
  • ctags: 4,752
  • sloc: ansic: 58,219; sh: 6,948; makefile: 650; yacc: 318; perl: 170; awk: 98
file content (121 lines) | stat: -rw-r--r-- 3,796 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <config.h>

#include <gtk/gtk.h>
#include <eel/eel-label.h>
#include <eel/eel-gdk-extensions.h>
#include <eel/eel-gtk-extensions.h>

static void
delete_event (GtkWidget *widget, GdkEvent *event, gpointer callback_data)
{
	gtk_main_quit ();
}


static const char text[] = 
"The Eel shell is under development; it's not "
"ready for daily use. Some features are not yet done, "
"partly done, or unstable. The program doesn't look "
"or act exactly the way it will in version 1.0."
"\n\n"
"If you do decide to test this version of Eel,  "
"beware. The program could do something  "
"unpredictable and may even delete or overwrite  "
"files on your computer."
"\n\n"
"For more information, visit http://eel.eazel.com.";

static GtkWidget *
create_gtk_label ()
{
	GtkWidget *label;

 	label = gtk_label_new (text);
	gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
	gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
	
	return label;
}

static GtkWidget *
create_eel_label (gboolean adjust_wrap_on_resize)
{
	GtkWidget *label;

 	label = eel_label_new (text);
	eel_label_set_wrap (EEL_LABEL (label), TRUE);
	eel_label_set_justify (EEL_LABEL (label), GTK_JUSTIFY_LEFT);
	eel_label_set_smooth_drop_shadow_offset (EEL_LABEL (label), 1);
 	eel_label_set_background_mode (EEL_LABEL (label), EEL_SMOOTH_BACKGROUND_SOLID_COLOR);
	eel_label_set_solid_background_color (EEL_LABEL (label), EEL_RGB_COLOR_WHITE);
	eel_label_set_smooth_drop_shadow_color (EEL_LABEL (label), EEL_RGB_COLOR_BLUE);
	eel_label_set_text_color (EEL_LABEL (label), EEL_RGB_COLOR_RED);
	eel_label_set_adjust_wrap_on_resize (EEL_LABEL (label), adjust_wrap_on_resize);

	return label;
}

static GtkWidget *
create_gtk_label_window (void)
{
	GtkWidget *gtk_window;
	GtkWidget *gtk_vbox;
	GtkWidget *gtk_label;

	gtk_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	eel_gtk_widget_set_background_color (gtk_window, "white");
	gtk_signal_connect (GTK_OBJECT (gtk_window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL);
	gtk_window_set_title (GTK_WINDOW (gtk_window), "Gtk Wrapped Label Test");
	gtk_window_set_policy (GTK_WINDOW (gtk_window), TRUE, TRUE, FALSE);
	gtk_container_set_border_width (GTK_CONTAINER (gtk_window), 10);
	gtk_vbox = gtk_vbox_new (FALSE, 0);
	gtk_container_add (GTK_CONTAINER (gtk_window), gtk_vbox);
 	gtk_label = create_gtk_label ();
	gtk_box_pack_start (GTK_BOX (gtk_vbox), gtk_label, TRUE, TRUE, 0);

	return gtk_window;
}

static GtkWidget *
create_eel_label_window (gboolean adjust_wrap_on_resize)
{
	GtkWidget *eel_window;
	GtkWidget *eel_vbox;
	GtkWidget *eel_label;

	eel_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	eel_gtk_widget_set_background_color (eel_window, "white");
	gtk_signal_connect (GTK_OBJECT (eel_window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL);
	gtk_window_set_title (GTK_WINDOW (eel_window), "Eel Wrapped Label Test");
	gtk_window_set_policy (GTK_WINDOW (eel_window), TRUE, TRUE, FALSE);
	gtk_container_set_border_width (GTK_CONTAINER (eel_window), 10);
	eel_vbox = gtk_vbox_new (FALSE, 0);
	gtk_container_add (GTK_CONTAINER (eel_window), eel_vbox);
 	eel_label = create_eel_label (adjust_wrap_on_resize);
	gtk_box_pack_start (GTK_BOX (eel_vbox), eel_label, TRUE, TRUE, 0);

	return eel_window;
}

int 
main (int argc, char* argv[])
{
	GtkWidget *eel_window = NULL;
	GtkWidget *eel_window_wrapped = NULL;
	GtkWidget *gtk_window = NULL;

	gtk_init (&argc, &argv);
	gdk_rgb_init ();

	if (0) eel_window = create_eel_label_window (FALSE);
	if (1) eel_window_wrapped = create_eel_label_window (TRUE);
	if (0) gtk_window =  create_gtk_label_window ();

	if (eel_window) gtk_widget_show_all (eel_window);
	if (eel_window_wrapped) gtk_widget_show_all (eel_window_wrapped);
	if (gtk_window) gtk_widget_show_all (gtk_window);

	gtk_main ();

	return 0;
}