1 /*  cssed (c) Iago Rubio 2003, 2005 - A tiny CSS editor.
2  *
3  *  This program is free software; you can redistribute it and/or modify
4  *  it under the terms of the GNU General Public License as published by
5  *  the Free Software Foundation; either version 2 of the License, or
6  *  (at your option) any later version.
7  *
8  *  This program is distributed in the hope that it will be useful,
9  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  *  GNU Library General Public License for more details.
12  *
13  *  You should have received a copy of the GNU General Public License
14  *  along with this program; if not, write to the Free Software
15  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16  */
17 
18 #ifdef HAVE_CONFIG_H
19 #  include <config.h>
20 #endif
21 
22 #include <sys/types.h>
23 #include <sys/stat.h>
24 #include <string.h>
25 #include <stdio.h>
26 
27 #include <gdk/gdkkeysyms.h>
28 #include <gtk/gtk.h>
29 
30 #include "cssdialogs-strings.h"
31 #include "cssedwindow.h"
32 #include "document.h"
33 #include "cssdialogs-callbacks.h"
34 #include "cssdialogs-interface.h"
35 #include "support.h"
36 
37 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
38   g_object_set_data_full (G_OBJECT (component), name, \
39     gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
40 
41 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
42   g_object_set_data (G_OBJECT (component), name, widget)
43 
44 GtkWidget *
create_angle_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)45 create_angle_property_dialog (CssedWindow * window,
46 							  gchar * previous_string,
47 							  gboolean add_previous_string,
48 							  gboolean connect_callbacks)
49 {
50 	GtkWidget *angle_property_dialog;
51 	GtkWidget *dialog_vbox;
52 	GtkWidget *hbox;
53 	GtkWidget *vbox_left;
54 	GtkWidget *label_angle;
55 	GtkWidget *label_unit;
56 	GtkWidget *vbox_right;
57 	GtkWidget *entry_angle;
58 	GtkWidget *combo_unit;
59 	GList *combo_unit_items = NULL;
60 	GtkWidget *combo_entry_units;
61 	GtkWidget *dialog_action_area;
62 	GtkWidget *helpbutton;
63 	GtkWidget *cancelbutton;
64 	GtkWidget *okbutton;
65 	GtkAccelGroup *accel_group;
66 	GtkWidget *main_window;
67 	CssedCssDialogsData *data = NULL;
68 
69 	if (connect_callbacks)
70 	{
71 		data = g_malloc (sizeof (CssedCssDialogsData));
72 		data->main_window = window;
73 		data->previous_string = previous_string;
74 		data->add_property_string = add_previous_string;
75 	}
76 	accel_group = gtk_accel_group_new ();
77 
78 	angle_property_dialog = gtk_dialog_new ();
79 	gtk_window_set_title (GTK_WINDOW (angle_property_dialog),
80 			      previous_string);
81 	gtk_window_set_modal (GTK_WINDOW (angle_property_dialog), TRUE);
82 
83 	main_window = cssed_window_get_window_widget( window );
84 	gtk_window_set_transient_for (GTK_WINDOW (angle_property_dialog),
85 				      GTK_WINDOW (main_window));
86 
87 	dialog_vbox = GTK_DIALOG (angle_property_dialog)->vbox;
88 	gtk_widget_show (dialog_vbox);
89 
90 	hbox = gtk_hbox_new (FALSE, 0);
91 	gtk_widget_show (hbox);
92 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
93 
94 	vbox_left = gtk_vbox_new (TRUE, 0);
95 	gtk_widget_show (vbox_left);
96 	gtk_box_pack_start (GTK_BOX (hbox), vbox_left, TRUE, TRUE, 0);
97 
98 	label_angle = gtk_label_new (_("Angle"));
99 	gtk_widget_show (label_angle);
100 	gtk_box_pack_start (GTK_BOX (vbox_left), label_angle, TRUE, FALSE, 0);
101 	gtk_label_set_justify (GTK_LABEL (label_angle), GTK_JUSTIFY_LEFT);
102 
103 	label_unit = gtk_label_new (_("Unit"));
104 	gtk_widget_show (label_unit);
105 	gtk_box_pack_start (GTK_BOX (vbox_left), label_unit, TRUE, FALSE, 0);
106 	gtk_label_set_justify (GTK_LABEL (label_unit), GTK_JUSTIFY_LEFT);
107 
108 	vbox_right = gtk_vbox_new (TRUE, 0);
109 	gtk_widget_show (vbox_right);
110 	gtk_box_pack_start (GTK_BOX (hbox), vbox_right, TRUE, FALSE, 0);
111 
112 	entry_angle = gtk_entry_new ();
113 	gtk_widget_show (entry_angle);
114 	gtk_box_pack_start (GTK_BOX (vbox_right), entry_angle, FALSE, FALSE,
115 			    0);
116 
117 	combo_unit = gtk_combo_new ();
118 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_unit)->popwin),
119 			   "GladeParentKey", combo_unit);
120 	gtk_widget_show (combo_unit);
121 	gtk_box_pack_start (GTK_BOX (vbox_right), combo_unit, FALSE, FALSE,
122 			    0);
123 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "deg");
124 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "gra");
125 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "rad");
126 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_unit), combo_unit_items);
127 	g_list_free (combo_unit_items);
128 
129 	combo_entry_units = GTK_COMBO (combo_unit)->entry;
130 	gtk_widget_show (combo_entry_units);
131 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_units), FALSE);
132 	gtk_entry_set_text (GTK_ENTRY (combo_entry_units), "deg");
133 
134 	dialog_action_area = GTK_DIALOG (angle_property_dialog)->action_area;
135 	gtk_widget_show (dialog_action_area);
136 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
137 				   GTK_BUTTONBOX_END);
138 
139 	helpbutton = gtk_button_new_from_stock ("gtk-help");
140 	gtk_widget_show (helpbutton);
141 	gtk_dialog_add_action_widget (GTK_DIALOG (angle_property_dialog),
142 				      helpbutton, GTK_RESPONSE_HELP);
143 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
144 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
145 				    GDK_h, GDK_CONTROL_MASK,
146 				    GTK_ACCEL_VISIBLE);
147 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_y,
148 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
149 
150 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
151 	gtk_widget_show (cancelbutton);
152 	gtk_dialog_add_action_widget (GTK_DIALOG (angle_property_dialog),
153 				      cancelbutton, GTK_RESPONSE_CANCEL);
154 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
155 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
156 				    GDK_C, GDK_CONTROL_MASK,
157 				    GTK_ACCEL_VISIBLE);
158 
159 	okbutton = gtk_button_new_from_stock ("gtk-ok");
160 	gtk_widget_show (okbutton);
161 	gtk_dialog_add_action_widget (GTK_DIALOG (angle_property_dialog),
162 				      okbutton, GTK_RESPONSE_OK);
163 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
164 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
165 				    GDK_o, GDK_CONTROL_MASK,
166 				    GTK_ACCEL_VISIBLE);
167 
168 	if (connect_callbacks)
169 	{
170 		g_signal_connect ((gpointer) angle_property_dialog, "close",
171 				  G_CALLBACK (on_css_dialog_close), data);
172 
173 		g_signal_connect ((gpointer) helpbutton, "clicked",
174 				  G_CALLBACK
175 				  (on_angle_property_dialog_helpbutton_clicked),
176 				  NULL);
177 		g_signal_connect ((gpointer) cancelbutton, "clicked",
178 				  G_CALLBACK
179 				  (on_css_dialog_cancel_button_clicked),
180 				  data);
181 		g_signal_connect ((gpointer) okbutton, "clicked",
182 				  G_CALLBACK
183 				  (on_angle_property_dialog_ok_button_clicked),
184 				  data);
185 	}
186 
187 	GLADE_HOOKUP_OBJECT_NO_REF (angle_property_dialog,
188 				    angle_property_dialog,
189 				    "angle_property_dialog");
190 	GLADE_HOOKUP_OBJECT_NO_REF (angle_property_dialog, dialog_vbox,
191 				    "dialog_vbox");
192 	GLADE_HOOKUP_OBJECT (angle_property_dialog, hbox, "hbox");
193 	GLADE_HOOKUP_OBJECT (angle_property_dialog, vbox_left, "vbox_left");
194 	GLADE_HOOKUP_OBJECT (angle_property_dialog, label_angle,
195 			     "label_angle");
196 	GLADE_HOOKUP_OBJECT (angle_property_dialog, label_unit, "label_unit");
197 	GLADE_HOOKUP_OBJECT (angle_property_dialog, vbox_right, "vbox_right");
198 	GLADE_HOOKUP_OBJECT (angle_property_dialog, entry_angle,
199 			     "entry_angle");
200 	GLADE_HOOKUP_OBJECT (angle_property_dialog, combo_unit, "combo_unit");
201 	GLADE_HOOKUP_OBJECT (angle_property_dialog, combo_entry_units,
202 			     "combo_entry_units");
203 	GLADE_HOOKUP_OBJECT_NO_REF (angle_property_dialog, dialog_action_area,
204 				    "dialog_action_area");
205 	GLADE_HOOKUP_OBJECT (angle_property_dialog, helpbutton, "helpbutton");
206 	GLADE_HOOKUP_OBJECT (angle_property_dialog, cancelbutton,
207 			     "cancelbutton");
208 	GLADE_HOOKUP_OBJECT (angle_property_dialog, okbutton, "okbutton");
209 
210 	gtk_window_add_accel_group (GTK_WINDOW (angle_property_dialog),
211 				    accel_group);
212 
213 	return angle_property_dialog;
214 }
215 
216 GtkWidget *
create_background_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)217 create_background_property_dialog (CssedWindow * window,
218 								   gchar * previous_string,
219 								   gboolean add_previous_string,
220 								   gboolean connect_callbacks)
221 {
222 	GtkWidget *background_property_dialog;
223 	GtkWidget *dialog_vbox_main;
224 	GtkWidget *vbox_main;
225 	GtkWidget *colorselection;
226 	GtkWidget *hbox_bg_color;
227 	GtkWidget *checkbutton_bg_color;
228 	GtkWidget *combo_bg_color;
229 	GList *combo_bg_color_items = NULL;
230 	GtkWidget *combo_entry_bg_color;
231 	GtkWidget *hbox_bg_position;
232 	GtkWidget *checkbutton_bg_position;
233 	GtkWidget *hbox_bg_position_radio;
234 	GtkWidget *radiobutton_bg_pos_fixed;
235 	GSList *radiobutton_bg_pos_fixed_group = NULL;
236 	GtkWidget *combo_bg_pos_fixed;
237 	GList *combo_bg_pos_fixed_items = NULL;
238 	GtkWidget *combo_entry_bg_pos_fixed;
239 	GtkWidget *hbox_bg_pclen_entries_upper;
240 	GtkWidget *hbox_bg_perclen_entries_top;
241 	GtkWidget *radiobutton_bg_pos_perclen;
242 	GtkWidget *label_uper_left;
243 	GtkObject *spinbutton_upper_left_adj;
244 	GtkWidget *spinbutton_upper_left;
245 	GtkWidget *label_lower_right;
246 	GtkObject *spinbutton_lower_right_adj;
247 	GtkWidget *spinbutton_lower_right;
248 	GtkWidget *combo_unit;
249 	GList *combo_unit_items = NULL;
250 	GtkWidget *combo_entry_unit;
251 	GtkWidget *hbox_bg_image;
252 	GtkWidget *checkbutton_bg_image;
253 	GtkWidget *label_bg_image_uri;
254 	GtkWidget *entry_uri;
255 	GtkWidget *hbox_bg_repeat;
256 	GtkWidget *checkbutton_bg_repeat;
257 	GtkWidget *combo_bg_repeat;
258 	GList *combo_bg_repeat_items = NULL;
259 	GtkWidget *combo_entry_bg_repeat;
260 	GtkWidget *hbox_bg_attachment;
261 	GtkWidget *checkbutton_bg_attachment;
262 	GtkWidget *combo_bg_attachment;
263 	GList *combo_bg_attachment_items = NULL;
264 	GtkWidget *combo_entry_bg_attachment;
265 	GtkWidget *dialog_action_area;
266 	GtkWidget *helpbutton;
267 	GtkWidget *cancelbutton;
268 	GtkWidget *okbutton;
269 	GtkAccelGroup *accel_group;
270 	GtkWidget *main_window;
271 	CssedCssDialogsData *data = NULL;
272 
273 	if (connect_callbacks)
274 	{
275 		data = g_malloc (sizeof (CssedCssDialogsData));
276 		data->main_window = window;
277 		data->previous_string = previous_string;
278 		data->add_property_string = add_previous_string;
279 	}
280 
281 	accel_group = gtk_accel_group_new ();
282 
283 	background_property_dialog = gtk_dialog_new ();
284 	gtk_window_set_title (GTK_WINDOW (background_property_dialog),
285 			      previous_string);
286 	gtk_window_set_modal (GTK_WINDOW (background_property_dialog), TRUE);
287 
288 	main_window = cssed_window_get_window_widget( window );
289 	gtk_window_set_transient_for (GTK_WINDOW (background_property_dialog),
290 				      GTK_WINDOW (main_window));
291 
292 	dialog_vbox_main = GTK_DIALOG (background_property_dialog)->vbox;
293 	gtk_widget_show (dialog_vbox_main);
294 
295 	vbox_main = gtk_vbox_new (FALSE, 0);
296 	gtk_widget_show (vbox_main);
297 	gtk_box_pack_start (GTK_BOX (dialog_vbox_main), vbox_main, FALSE,
298 			    FALSE, 5);
299 
300 	colorselection = gtk_color_selection_new ();
301 	gtk_widget_show (colorselection);
302 	gtk_box_pack_start (GTK_BOX (vbox_main), colorselection, FALSE, FALSE,
303 			    5);
304 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 10);
305 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
306 						     (colorselection), FALSE);
307 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
308 					     (colorselection), TRUE);
309 	hbox_bg_color = gtk_hbox_new (FALSE, 0);
310 	gtk_widget_show (hbox_bg_color);
311 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_color, FALSE, FALSE,
312 			    10);
313 
314 	checkbutton_bg_color =
315 		gtk_check_button_new_with_mnemonic (_("Background color"));
316 	gtk_widget_show (checkbutton_bg_color);
317 	gtk_box_pack_start (GTK_BOX (hbox_bg_color), checkbutton_bg_color,
318 			    FALSE, FALSE, 5);
319 
320 	combo_bg_color = gtk_combo_new ();
321 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bg_color)->popwin),
322 			   "GladeParentKey", combo_bg_color);
323 	gtk_widget_show (combo_bg_color);
324 	gtk_box_pack_start (GTK_BOX (hbox_bg_color), combo_bg_color, FALSE,
325 			    FALSE, 5);
326 	combo_bg_color_items =
327 		g_list_append (combo_bg_color_items,
328 			       (gpointer) CSS_STR_USE_COLORSEL);
329 	combo_bg_color_items =
330 		g_list_append (combo_bg_color_items, (gpointer) "aqua");
331 	combo_bg_color_items =
332 		g_list_append (combo_bg_color_items, (gpointer) "black");
333 	combo_bg_color_items =
334 		g_list_append (combo_bg_color_items, (gpointer) "blue");
335 	combo_bg_color_items =
336 		g_list_append (combo_bg_color_items, (gpointer) "fuchsia");
337 	combo_bg_color_items =
338 		g_list_append (combo_bg_color_items, (gpointer) "gray");
339 	combo_bg_color_items =
340 		g_list_append (combo_bg_color_items, (gpointer) "green");
341 	combo_bg_color_items =
342 		g_list_append (combo_bg_color_items, (gpointer) "lime");
343 	combo_bg_color_items =
344 		g_list_append (combo_bg_color_items, (gpointer) "maroon");
345 	combo_bg_color_items =
346 		g_list_append (combo_bg_color_items, (gpointer) "navy");
347 	combo_bg_color_items =
348 		g_list_append (combo_bg_color_items, (gpointer) "olive");
349 	combo_bg_color_items =
350 		g_list_append (combo_bg_color_items, (gpointer) "purple");
351 	combo_bg_color_items =
352 		g_list_append (combo_bg_color_items, (gpointer) "red");
353 	combo_bg_color_items =
354 		g_list_append (combo_bg_color_items, (gpointer) "silver");
355 	combo_bg_color_items =
356 		g_list_append (combo_bg_color_items, (gpointer) "teal");
357 	combo_bg_color_items =
358 		g_list_append (combo_bg_color_items, (gpointer) "white");
359 	combo_bg_color_items =
360 		g_list_append (combo_bg_color_items, (gpointer) "yellow");
361 	combo_bg_color_items =
362 		g_list_append (combo_bg_color_items,
363 			       (gpointer) "ActiveBorder");
364 	combo_bg_color_items =
365 		g_list_append (combo_bg_color_items,
366 			       (gpointer) "ActiveCaption");
367 	combo_bg_color_items =
368 		g_list_append (combo_bg_color_items,
369 			       (gpointer) "AppWorkspace");
370 	combo_bg_color_items =
371 		g_list_append (combo_bg_color_items, (gpointer) "Background");
372 	combo_bg_color_items =
373 		g_list_append (combo_bg_color_items, (gpointer) "ButtonFace");
374 	combo_bg_color_items =
375 		g_list_append (combo_bg_color_items,
376 			       (gpointer) "ButtonHighlight");
377 	combo_bg_color_items =
378 		g_list_append (combo_bg_color_items,
379 			       (gpointer) "ButtonShadow");
380 	combo_bg_color_items =
381 		g_list_append (combo_bg_color_items, (gpointer) "ButtonText");
382 	combo_bg_color_items =
383 		g_list_append (combo_bg_color_items,
384 			       (gpointer) "CaptionText");
385 	combo_bg_color_items =
386 		g_list_append (combo_bg_color_items, (gpointer) "GrayText");
387 	combo_bg_color_items =
388 		g_list_append (combo_bg_color_items, (gpointer) "Highlight");
389 	combo_bg_color_items =
390 		g_list_append (combo_bg_color_items,
391 			       (gpointer) "HighlightText");
392 	combo_bg_color_items =
393 		g_list_append (combo_bg_color_items,
394 			       (gpointer) "InactiveBorder");
395 	combo_bg_color_items =
396 		g_list_append (combo_bg_color_items,
397 			       (gpointer) "InactiveCaption");
398 	combo_bg_color_items =
399 		g_list_append (combo_bg_color_items,
400 			       (gpointer) "InactiveCaptionText");
401 	combo_bg_color_items =
402 		g_list_append (combo_bg_color_items,
403 			       (gpointer) "InfoBackground");
404 	combo_bg_color_items =
405 		g_list_append (combo_bg_color_items, (gpointer) "InfoText");
406 	combo_bg_color_items =
407 		g_list_append (combo_bg_color_items, (gpointer) "Menu");
408 	combo_bg_color_items =
409 		g_list_append (combo_bg_color_items, (gpointer) "MenuText");
410 	combo_bg_color_items =
411 		g_list_append (combo_bg_color_items, (gpointer) "Scrollbar");
412 	combo_bg_color_items =
413 		g_list_append (combo_bg_color_items,
414 			       (gpointer) "ThreeDDarkShadow");
415 	combo_bg_color_items =
416 		g_list_append (combo_bg_color_items, (gpointer) "ThreeDFace");
417 	combo_bg_color_items =
418 		g_list_append (combo_bg_color_items,
419 			       (gpointer) "ThreeDHighlight");
420 	combo_bg_color_items =
421 		g_list_append (combo_bg_color_items,
422 			       (gpointer) "ThreeDLightShadow");
423 	combo_bg_color_items =
424 		g_list_append (combo_bg_color_items,
425 			       (gpointer) "ThreeDShadow");
426 	combo_bg_color_items =
427 		g_list_append (combo_bg_color_items, (gpointer) "Window");
428 	combo_bg_color_items =
429 		g_list_append (combo_bg_color_items,
430 			       (gpointer) "WindowFrame");
431 	combo_bg_color_items =
432 		g_list_append (combo_bg_color_items, (gpointer) "WindowText");
433 	combo_bg_color_items =
434 		g_list_append (combo_bg_color_items,
435 			       (gpointer) "transparent");
436 	combo_bg_color_items =
437 		g_list_append (combo_bg_color_items, (gpointer) "");
438 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bg_color),
439 				       combo_bg_color_items);
440 	g_list_free (combo_bg_color_items);
441 
442 	combo_entry_bg_color = GTK_COMBO (combo_bg_color)->entry;
443 	gtk_widget_show (combo_entry_bg_color);
444 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bg_color),
445 			    CSS_STR_USE_COLORSEL);
446 
447 	hbox_bg_position = gtk_hbox_new (FALSE, 0);
448 	gtk_widget_show (hbox_bg_position);
449 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_position, FALSE,
450 			    FALSE, 5);
451 
452 	checkbutton_bg_position =
453 		gtk_check_button_new_with_mnemonic (_("Background position"));
454 	gtk_widget_show (checkbutton_bg_position);
455 	gtk_box_pack_start (GTK_BOX (hbox_bg_position),
456 			    checkbutton_bg_position, FALSE, FALSE, 5);
457 
458 	hbox_bg_position_radio = gtk_hbox_new (FALSE, 0);
459 	gtk_widget_show (hbox_bg_position_radio);
460 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_position_radio,
461 			    FALSE, FALSE, 5);
462 
463 	radiobutton_bg_pos_fixed =
464 		gtk_radio_button_new_with_mnemonic (NULL, _("Fixed value"));
465 	gtk_widget_show (radiobutton_bg_pos_fixed);
466 	gtk_box_pack_start (GTK_BOX (hbox_bg_position_radio),
467 			    radiobutton_bg_pos_fixed, TRUE, TRUE, 0);
468 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
469 				    (radiobutton_bg_pos_fixed),
470 				    radiobutton_bg_pos_fixed_group);
471 	radiobutton_bg_pos_fixed_group =
472 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
473 					    (radiobutton_bg_pos_fixed));
474 
475 	combo_bg_pos_fixed = gtk_combo_new ();
476 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bg_pos_fixed)->popwin),
477 			   "GladeParentKey", combo_bg_pos_fixed);
478 	gtk_widget_show (combo_bg_pos_fixed);
479 	gtk_box_pack_start (GTK_BOX (hbox_bg_position_radio),
480 			    combo_bg_pos_fixed, TRUE, TRUE, 5);
481 	combo_bg_pos_fixed_items =
482 		g_list_append (combo_bg_pos_fixed_items,
483 			       (gpointer) "top left");
484 	combo_bg_pos_fixed_items =
485 		g_list_append (combo_bg_pos_fixed_items,
486 			       (gpointer) "top right");
487 	combo_bg_pos_fixed_items =
488 		g_list_append (combo_bg_pos_fixed_items,
489 			       (gpointer) "bottom left");
490 	combo_bg_pos_fixed_items =
491 		g_list_append (combo_bg_pos_fixed_items,
492 			       (gpointer) "bottom right");
493 	combo_bg_pos_fixed_items =
494 		g_list_append (combo_bg_pos_fixed_items, (gpointer) "center");
495 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bg_pos_fixed),
496 				       combo_bg_pos_fixed_items);
497 	g_list_free (combo_bg_pos_fixed_items);
498 
499 	combo_entry_bg_pos_fixed = GTK_COMBO (combo_bg_pos_fixed)->entry;
500 	gtk_widget_show (combo_entry_bg_pos_fixed);
501 	gtk_widget_set_size_request (combo_entry_bg_pos_fixed, 100, -1);
502 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bg_pos_fixed), "top left");
503 
504 	hbox_bg_pclen_entries_upper = gtk_hbox_new (FALSE, 0);
505 	gtk_widget_show (hbox_bg_pclen_entries_upper);
506 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_pclen_entries_upper,
507 			    FALSE, FALSE, 0);
508 
509 	hbox_bg_perclen_entries_top = gtk_hbox_new (FALSE, 0);
510 	gtk_widget_show (hbox_bg_perclen_entries_top);
511 	gtk_box_pack_start (GTK_BOX (hbox_bg_pclen_entries_upper),
512 			    hbox_bg_perclen_entries_top, TRUE, TRUE, 0);
513 
514 	radiobutton_bg_pos_perclen =
515 		gtk_radio_button_new_with_mnemonic (NULL,
516 						    _
517 						    ("Percentage or length"));
518 	gtk_widget_show (radiobutton_bg_pos_perclen);
519 	gtk_box_pack_start (GTK_BOX (hbox_bg_perclen_entries_top),
520 			    radiobutton_bg_pos_perclen, FALSE, FALSE, 0);
521 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
522 				    (radiobutton_bg_pos_perclen),
523 				    radiobutton_bg_pos_fixed_group);
524 
525 	label_uper_left = gtk_label_new (_("Upper left"));
526 	gtk_widget_show (label_uper_left);
527 	gtk_box_pack_start (GTK_BOX (hbox_bg_perclen_entries_top),
528 			    label_uper_left, TRUE, TRUE, 0);
529 	gtk_label_set_justify (GTK_LABEL (label_uper_left), GTK_JUSTIFY_LEFT);
530 
531 	spinbutton_upper_left_adj =
532 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
533 	spinbutton_upper_left =
534 		gtk_spin_button_new (GTK_ADJUSTMENT
535 				     (spinbutton_upper_left_adj), 1, 0);
536 	gtk_widget_show (spinbutton_upper_left);
537 	gtk_box_pack_start (GTK_BOX (hbox_bg_perclen_entries_top),
538 			    spinbutton_upper_left, FALSE, FALSE, 0);
539 
540 	label_lower_right = gtk_label_new (_("Lower right"));
541 	gtk_widget_show (label_lower_right);
542 	gtk_box_pack_start (GTK_BOX (hbox_bg_pclen_entries_upper),
543 			    label_lower_right, TRUE, TRUE, 0);
544 	gtk_label_set_justify (GTK_LABEL (label_lower_right),
545 			       GTK_JUSTIFY_LEFT);
546 
547 	spinbutton_lower_right_adj =
548 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
549 	spinbutton_lower_right =
550 		gtk_spin_button_new (GTK_ADJUSTMENT
551 				     (spinbutton_lower_right_adj), 1, 0);
552 	gtk_widget_show (spinbutton_lower_right);
553 	gtk_box_pack_start (GTK_BOX (hbox_bg_pclen_entries_upper),
554 			    spinbutton_lower_right, FALSE, FALSE, 0);
555 
556 	combo_unit = gtk_combo_new ();
557 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_unit)->popwin),
558 			   "GladeParentKey", combo_unit);
559 	gtk_widget_show (combo_unit);
560 	gtk_box_pack_start (GTK_BOX (hbox_bg_pclen_entries_upper), combo_unit,
561 			    FALSE, FALSE, 5);
562 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "%");
563 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "em");
564 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "ex");
565 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "px");
566 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "in");
567 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "cm");
568 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "mm");
569 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "pt");
570 	combo_unit_items = g_list_append (combo_unit_items, (gpointer) "pc");
571 
572 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_unit),
573 				       combo_unit_items);
574 	g_list_free (combo_unit_items);
575 
576 	combo_entry_unit = GTK_COMBO (combo_unit)->entry;
577 	gtk_widget_show (combo_entry_unit);
578 	gtk_widget_set_size_request (combo_entry_unit, 50, -1);
579 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_unit), FALSE);
580 	gtk_entry_set_text (GTK_ENTRY (combo_entry_unit), "px");
581 
582 	hbox_bg_image = gtk_hbox_new (FALSE, 0);
583 	gtk_widget_show (hbox_bg_image);
584 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_image, FALSE, FALSE,
585 			    5);
586 
587 	checkbutton_bg_image =
588 		gtk_check_button_new_with_mnemonic (_("Background image"));
589 	gtk_widget_show (checkbutton_bg_image);
590 	gtk_box_pack_start (GTK_BOX (hbox_bg_image), checkbutton_bg_image,
591 			    FALSE, FALSE, 5);
592 
593 	label_bg_image_uri = gtk_label_new (_("Enter uri of image"));
594 	gtk_widget_show (label_bg_image_uri);
595 	gtk_box_pack_start (GTK_BOX (hbox_bg_image), label_bg_image_uri, TRUE,
596 			    TRUE, 0);
597 	gtk_label_set_justify (GTK_LABEL (label_bg_image_uri),
598 			       GTK_JUSTIFY_LEFT);
599 
600 	entry_uri = gtk_entry_new ();
601 	gtk_widget_show (entry_uri);
602 	gtk_box_pack_start (GTK_BOX (hbox_bg_image), entry_uri, TRUE, TRUE,
603 			    5);
604 
605 	hbox_bg_repeat = gtk_hbox_new (FALSE, 0);
606 	gtk_widget_show (hbox_bg_repeat);
607 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_repeat, FALSE, FALSE,
608 			    5);
609 
610 	checkbutton_bg_repeat =
611 		gtk_check_button_new_with_mnemonic (_("Background repeat"));
612 	gtk_widget_show (checkbutton_bg_repeat);
613 	gtk_box_pack_start (GTK_BOX (hbox_bg_repeat), checkbutton_bg_repeat,
614 			    TRUE, TRUE, 5);
615 
616 	combo_bg_repeat = gtk_combo_new ();
617 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bg_repeat)->popwin),
618 			   "GladeParentKey", combo_bg_repeat);
619 	gtk_widget_show (combo_bg_repeat);
620 	gtk_box_pack_start (GTK_BOX (hbox_bg_repeat), combo_bg_repeat, FALSE,
621 			    FALSE, 5);
622 	combo_bg_repeat_items =
623 		g_list_append (combo_bg_repeat_items, (gpointer) "repeat");
624 	combo_bg_repeat_items =
625 		g_list_append (combo_bg_repeat_items, (gpointer) "repeat-x");
626 	combo_bg_repeat_items =
627 		g_list_append (combo_bg_repeat_items, (gpointer) "repeat-y");
628 	combo_bg_repeat_items =
629 		g_list_append (combo_bg_repeat_items, (gpointer) "no-repeat");
630 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bg_repeat),
631 				       combo_bg_repeat_items);
632 	g_list_free (combo_bg_repeat_items);
633 
634 	combo_entry_bg_repeat = GTK_COMBO (combo_bg_repeat)->entry;
635 	gtk_widget_show (combo_entry_bg_repeat);
636 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_bg_repeat),
637 				   FALSE);
638 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bg_repeat), "repeat");
639 
640 	hbox_bg_attachment = gtk_hbox_new (FALSE, 0);
641 	gtk_widget_show (hbox_bg_attachment);
642 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_bg_attachment, FALSE,
643 			    FALSE, 5);
644 
645 	checkbutton_bg_attachment =
646 		gtk_check_button_new_with_mnemonic (_
647 						    ("Background attachment"));
648 	gtk_widget_show (checkbutton_bg_attachment);
649 	gtk_box_pack_start (GTK_BOX (hbox_bg_attachment),
650 			    checkbutton_bg_attachment, TRUE, TRUE, 5);
651 
652 	combo_bg_attachment = gtk_combo_new ();
653 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bg_attachment)->popwin),
654 			   "GladeParentKey", combo_bg_attachment);
655 	gtk_widget_show (combo_bg_attachment);
656 	gtk_box_pack_start (GTK_BOX (hbox_bg_attachment), combo_bg_attachment,
657 			    FALSE, FALSE, 5);
658 	combo_bg_attachment_items =
659 		g_list_append (combo_bg_attachment_items,
660 			       (gpointer) "scroll");
661 	combo_bg_attachment_items =
662 		g_list_append (combo_bg_attachment_items, (gpointer) "fixed");
663 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bg_attachment),
664 				       combo_bg_attachment_items);
665 	g_list_free (combo_bg_attachment_items);
666 
667 	combo_entry_bg_attachment = GTK_COMBO (combo_bg_attachment)->entry;
668 	gtk_widget_show (combo_entry_bg_attachment);
669 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_bg_attachment),
670 				   FALSE);
671 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bg_attachment), "scroll");
672 
673 	dialog_action_area =
674 		GTK_DIALOG (background_property_dialog)->action_area;
675 	gtk_widget_show (dialog_action_area);
676 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
677 				   GTK_BUTTONBOX_END);
678 
679 	helpbutton = gtk_button_new_from_stock ("gtk-help");
680 	gtk_widget_show (helpbutton);
681 	gtk_dialog_add_action_widget (GTK_DIALOG (background_property_dialog),
682 				      helpbutton, GTK_RESPONSE_HELP);
683 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
684 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
685 				    GDK_y, GDK_CONTROL_MASK,
686 				    GTK_ACCEL_VISIBLE);
687 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
688 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
689 
690 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
691 	gtk_widget_show (cancelbutton);
692 	gtk_dialog_add_action_widget (GTK_DIALOG (background_property_dialog),
693 				      cancelbutton, GTK_RESPONSE_CANCEL);
694 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
695 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
696 				    GDK_C, GDK_CONTROL_MASK,
697 				    GTK_ACCEL_VISIBLE);
698 
699 	okbutton = gtk_button_new_from_stock ("gtk-ok");
700 	gtk_widget_show (okbutton);
701 	gtk_dialog_add_action_widget (GTK_DIALOG (background_property_dialog),
702 				      okbutton, GTK_RESPONSE_OK);
703 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
704 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
705 				    GDK_o, GDK_CONTROL_MASK,
706 				    GTK_ACCEL_VISIBLE);
707 
708 	/*  to update the spin button to the unit selected */
709 	g_signal_connect ((gpointer) combo_entry_unit,
710 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
711 			  spinbutton_upper_left);
712 	g_signal_connect ((gpointer) combo_entry_unit,
713 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
714 			  spinbutton_lower_right);
715 
716 	if (connect_callbacks)
717 	{
718 		g_signal_connect ((gpointer) background_property_dialog,
719 				  "close", G_CALLBACK (on_css_dialog_close),
720 				  data);
721 
722 		g_signal_connect ((gpointer) helpbutton, "clicked",
723 				  G_CALLBACK
724 				  (on_background_property_dialog_helpbutton_clicked),
725 				  NULL);
726 		g_signal_connect ((gpointer) cancelbutton, "clicked",
727 				  G_CALLBACK
728 				  (on_css_dialog_cancel_button_clicked),
729 				  data);
730 		g_signal_connect ((gpointer) okbutton, "clicked",
731 				  G_CALLBACK
732 				  (on_background_property_dialog_okbutton_clicked),
733 				  data);
734 	}
735 
736 	GLADE_HOOKUP_OBJECT_NO_REF (background_property_dialog,
737 				    background_property_dialog,
738 				    "background_property_dialog");
739 	GLADE_HOOKUP_OBJECT_NO_REF (background_property_dialog,
740 				    dialog_vbox_main, "dialog_vbox_main");
741 	GLADE_HOOKUP_OBJECT (background_property_dialog, vbox_main,
742 			     "vbox_main");
743 	GLADE_HOOKUP_OBJECT (background_property_dialog, colorselection,
744 			     "colorselection");
745 	GLADE_HOOKUP_OBJECT (background_property_dialog, hbox_bg_color,
746 			     "hbox_bg_color");
747 	GLADE_HOOKUP_OBJECT (background_property_dialog, checkbutton_bg_color,
748 			     "checkbutton_bg_color");
749 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_bg_color,
750 			     "combo_bg_color");
751 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_entry_bg_color,
752 			     "combo_entry_bg_color");
753 	GLADE_HOOKUP_OBJECT (background_property_dialog, hbox_bg_position,
754 			     "hbox_bg_position");
755 	GLADE_HOOKUP_OBJECT (background_property_dialog,
756 			     checkbutton_bg_position,
757 			     "checkbutton_bg_position");
758 	GLADE_HOOKUP_OBJECT (background_property_dialog,
759 			     hbox_bg_position_radio,
760 			     "hbox_bg_position_radio");
761 	GLADE_HOOKUP_OBJECT (background_property_dialog,
762 			     radiobutton_bg_pos_fixed,
763 			     "radiobutton_bg_pos_fixed");
764 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_bg_pos_fixed,
765 			     "combo_bg_pos_fixed");
766 	GLADE_HOOKUP_OBJECT (background_property_dialog,
767 			     combo_entry_bg_pos_fixed,
768 			     "combo_entry_bg_pos_fixed");
769 	GLADE_HOOKUP_OBJECT (background_property_dialog,
770 			     hbox_bg_pclen_entries_upper,
771 			     "hbox_bg_pclen_entries_upper");
772 	GLADE_HOOKUP_OBJECT (background_property_dialog,
773 			     hbox_bg_perclen_entries_top,
774 			     "hbox_bg_perclen_entries_top");
775 	GLADE_HOOKUP_OBJECT (background_property_dialog,
776 			     radiobutton_bg_pos_perclen,
777 			     "radiobutton_bg_pos_perclen");
778 	GLADE_HOOKUP_OBJECT (background_property_dialog, label_uper_left,
779 			     "label_uper_left");
780 	GLADE_HOOKUP_OBJECT (background_property_dialog,
781 			     spinbutton_upper_left, "spinbutton_upper_left");
782 	GLADE_HOOKUP_OBJECT (background_property_dialog, label_lower_right,
783 			     "label_lower_right");
784 	GLADE_HOOKUP_OBJECT (background_property_dialog,
785 			     spinbutton_lower_right,
786 			     "spinbutton_lower_right");
787 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_unit,
788 			     "combo_unit");
789 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_entry_unit,
790 			     "combo_entry_unit");
791 	GLADE_HOOKUP_OBJECT (background_property_dialog, hbox_bg_image,
792 			     "hbox_bg_image");
793 	GLADE_HOOKUP_OBJECT (background_property_dialog, checkbutton_bg_image,
794 			     "checkbutton_bg_image");
795 	GLADE_HOOKUP_OBJECT (background_property_dialog, label_bg_image_uri,
796 			     "label_bg_image_uri");
797 	GLADE_HOOKUP_OBJECT (background_property_dialog, entry_uri,
798 			     "entry_uri");
799 	GLADE_HOOKUP_OBJECT (background_property_dialog, hbox_bg_repeat,
800 			     "hbox_bg_repeat");
801 	GLADE_HOOKUP_OBJECT (background_property_dialog,
802 			     checkbutton_bg_repeat, "checkbutton_bg_repeat");
803 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_bg_repeat,
804 			     "combo_bg_repeat");
805 	GLADE_HOOKUP_OBJECT (background_property_dialog,
806 			     combo_entry_bg_repeat, "combo_entry_bg_repeat");
807 	GLADE_HOOKUP_OBJECT (background_property_dialog, hbox_bg_attachment,
808 			     "hbox_bg_attachment");
809 	GLADE_HOOKUP_OBJECT (background_property_dialog,
810 			     checkbutton_bg_attachment,
811 			     "checkbutton_bg_attachment");
812 	GLADE_HOOKUP_OBJECT (background_property_dialog, combo_bg_attachment,
813 			     "combo_bg_attachment");
814 	GLADE_HOOKUP_OBJECT (background_property_dialog,
815 			     combo_entry_bg_attachment,
816 			     "combo_entry_bg_attachment");
817 	GLADE_HOOKUP_OBJECT_NO_REF (background_property_dialog,
818 				    dialog_action_area, "dialog_action_area");
819 	GLADE_HOOKUP_OBJECT (background_property_dialog, helpbutton,
820 			     "helpbutton");
821 	GLADE_HOOKUP_OBJECT (background_property_dialog, cancelbutton,
822 			     "cancelbutton");
823 	GLADE_HOOKUP_OBJECT (background_property_dialog, okbutton,
824 			     "okbutton");
825 
826 	gtk_window_add_accel_group (GTK_WINDOW (background_property_dialog),
827 				    accel_group);
828 
829 	return background_property_dialog;
830 }
831 
832 GtkWidget *
create_border_properties_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)833 create_border_properties_dialog (CssedWindow * window,
834 								 gchar * previous_string,
835 								 gboolean add_previous_string,
836 								 gboolean connect_callbacks )
837 {
838 	GtkWidget *border_properties_dialog;
839 	GtkWidget *dialog_vbox_main;
840 	GtkWidget *vbox_main;
841 	GtkWidget *hbox_border_length;
842 	GtkWidget *checkbutton_border_length;
843 	GtkWidget *combo_border_length_selector;
844 	GList *combo_border_length_selector_items = NULL;
845 	GtkWidget *combo_entry_border_length_selector;
846 	GtkObject *spinbutton_len_adj;
847 	GtkWidget *spinbutton_len;
848 	GtkWidget *combo_len;
849 	GList *combo_len_items = NULL;
850 	GtkWidget *combo_entry_len;
851 	GtkWidget *hbox_border_style;
852 	GtkWidget *checkbutton_border_style;
853 	GtkWidget *combo_border_style;
854 	GList *combo_border_style_items = NULL;
855 	GtkWidget *combo_entry_border_style;
856 	GtkWidget *hbox_border_color;
857 	GtkWidget *checkbutton_border_color;
858 	GtkWidget *combo_border_color;
859 	GList *combo_border_color_items = NULL;
860 	GtkWidget *combo_entry_border_color;
861 	GtkWidget *colorselection;
862 	GtkWidget *dialog_action_area;
863 	GtkWidget *helpbutton;
864 	GtkWidget *cancelbutton;
865 	GtkWidget *okbutton;
866 	GtkAccelGroup *accel_group;
867 	GtkWidget *main_window;
868 	CssedCssDialogsData *data = NULL;
869 
870 	if (connect_callbacks)
871 	{
872 		data = g_malloc (sizeof (CssedCssDialogsData));
873 		data->main_window = window;
874 		data->previous_string = previous_string;
875 		data->add_property_string = add_previous_string;
876 	}
877 
878 	accel_group = gtk_accel_group_new ();
879 
880 	border_properties_dialog = gtk_dialog_new ();
881 	gtk_window_set_title (GTK_WINDOW (border_properties_dialog),
882 			      _("border"));
883 	gtk_window_set_modal (GTK_WINDOW (border_properties_dialog), TRUE);
884 
885 	main_window = cssed_window_get_window_widget( window );
886 
887 	gtk_window_set_transient_for (GTK_WINDOW (border_properties_dialog),
888 				      GTK_WINDOW (main_window));
889 
890 	dialog_vbox_main = GTK_DIALOG (border_properties_dialog)->vbox;
891 	gtk_widget_show (dialog_vbox_main);
892 
893 	vbox_main = gtk_vbox_new (FALSE, 0);
894 	gtk_widget_show (vbox_main);
895 	gtk_box_pack_start (GTK_BOX (dialog_vbox_main), vbox_main, TRUE, TRUE,
896 			    0);
897 
898 	hbox_border_length = gtk_hbox_new (FALSE, 0);
899 	gtk_widget_show (hbox_border_length);
900 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_border_length, FALSE,
901 			    TRUE, 5);
902 
903 	checkbutton_border_length =
904 		gtk_check_button_new_with_mnemonic (_("Border length"));
905 	gtk_widget_show (checkbutton_border_length);
906 	gtk_box_pack_start (GTK_BOX (hbox_border_length),
907 			    checkbutton_border_length, TRUE, TRUE, 5);
908 
909 	combo_border_length_selector = gtk_combo_new ();
910 	g_object_set_data (G_OBJECT
911 			   (GTK_COMBO (combo_border_length_selector)->popwin),
912 			   "GladeParentKey", combo_border_length_selector);
913 	gtk_widget_show (combo_border_length_selector);
914 	gtk_box_pack_start (GTK_BOX (hbox_border_length),
915 			    combo_border_length_selector, FALSE, FALSE, 2);
916 	combo_border_length_selector_items =
917 		g_list_append (combo_border_length_selector_items,
918 			       (gpointer) CSS_STR_USE_LENGTH);
919 	combo_border_length_selector_items =
920 		g_list_append (combo_border_length_selector_items,
921 			       (gpointer) "thin");
922 	combo_border_length_selector_items =
923 		g_list_append (combo_border_length_selector_items,
924 			       (gpointer) "medium");
925 	combo_border_length_selector_items =
926 		g_list_append (combo_border_length_selector_items,
927 			       (gpointer) "thick");
928 	gtk_combo_set_popdown_strings (GTK_COMBO
929 				       (combo_border_length_selector),
930 				       combo_border_length_selector_items);
931 	g_list_free (combo_border_length_selector_items);
932 
933 	combo_entry_border_length_selector =
934 		GTK_COMBO (combo_border_length_selector)->entry;
935 	gtk_widget_show (combo_entry_border_length_selector);
936 	gtk_editable_set_editable (GTK_EDITABLE
937 				   (combo_entry_border_length_selector),
938 				   FALSE);
939 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_length_selector),
940 			    CSS_STR_USE_LENGTH);
941 
942 	spinbutton_len_adj = gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
943 	spinbutton_len =
944 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_len_adj), 1,
945 				     0);
946 	gtk_widget_show (spinbutton_len);
947 	gtk_box_pack_start (GTK_BOX (hbox_border_length), spinbutton_len,
948 			    TRUE, TRUE, 5);
949 
950 	combo_len = gtk_combo_new ();
951 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_len)->popwin),
952 			   "GladeParentKey", combo_len);
953 	gtk_widget_show (combo_len);
954 	gtk_box_pack_start (GTK_BOX (hbox_border_length), combo_len, FALSE,
955 			    FALSE, 5);
956 	gtk_widget_set_size_request (combo_len, 65, -1);
957 	combo_len_items = g_list_append (combo_len_items, (gpointer) "em");
958 	combo_len_items = g_list_append (combo_len_items, (gpointer) "ex");
959 	combo_len_items = g_list_append (combo_len_items, (gpointer) "px");
960 	combo_len_items = g_list_append (combo_len_items, (gpointer) "in");
961 	combo_len_items = g_list_append (combo_len_items, (gpointer) "cm");
962 	combo_len_items = g_list_append (combo_len_items, (gpointer) "mm");
963 	combo_len_items = g_list_append (combo_len_items, (gpointer) "pt");
964 	combo_len_items = g_list_append (combo_len_items, (gpointer) "pc");
965 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_len),
966 				       combo_len_items);
967 	g_list_free (combo_len_items);
968 
969 	combo_entry_len = GTK_COMBO (combo_len)->entry;
970 	gtk_widget_show (combo_entry_len);
971 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_len), FALSE);
972 	gtk_entry_set_text (GTK_ENTRY (combo_entry_len), "px");
973 
974 	hbox_border_style = gtk_hbox_new (TRUE, 0);
975 	gtk_widget_show (hbox_border_style);
976 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_border_style, FALSE,
977 			    TRUE, 5);
978 
979 	checkbutton_border_style =
980 		gtk_check_button_new_with_mnemonic (_("Border style"));
981 	gtk_widget_show (checkbutton_border_style);
982 	gtk_box_pack_start (GTK_BOX (hbox_border_style),
983 			    checkbutton_border_style, TRUE, TRUE, 5);
984 
985 	combo_border_style = gtk_combo_new ();
986 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_border_style)->popwin),
987 			   "GladeParentKey", combo_border_style);
988 	gtk_widget_show (combo_border_style);
989 	gtk_box_pack_start (GTK_BOX (hbox_border_style), combo_border_style,
990 			    TRUE, TRUE, 2);
991 	combo_border_style_items =
992 		g_list_append (combo_border_style_items,
993 			       (gpointer) "hidden ");
994 	combo_border_style_items =
995 		g_list_append (combo_border_style_items,
996 			       (gpointer) "dotted ");
997 	combo_border_style_items =
998 		g_list_append (combo_border_style_items,
999 			       (gpointer) "dashed ");
1000 	combo_border_style_items =
1001 		g_list_append (combo_border_style_items, (gpointer) "solid ");
1002 	combo_border_style_items =
1003 		g_list_append (combo_border_style_items,
1004 			       (gpointer) "double ");
1005 	combo_border_style_items =
1006 		g_list_append (combo_border_style_items,
1007 			       (gpointer) "groove ");
1008 	combo_border_style_items =
1009 		g_list_append (combo_border_style_items, (gpointer) "ridge ");
1010 	combo_border_style_items =
1011 		g_list_append (combo_border_style_items, (gpointer) "inset ");
1012 	combo_border_style_items =
1013 		g_list_append (combo_border_style_items, (gpointer) "outset");
1014 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_style),
1015 				       combo_border_style_items);
1016 	g_list_free (combo_border_style_items);
1017 
1018 	combo_entry_border_style = GTK_COMBO (combo_border_style)->entry;
1019 	gtk_widget_show (combo_entry_border_style);
1020 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_border_style),
1021 				   FALSE);
1022 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_style), "hidden ");
1023 
1024 	hbox_border_color = gtk_hbox_new (TRUE, 0);
1025 	gtk_widget_show (hbox_border_color);
1026 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_border_color, FALSE,
1027 			    FALSE, 5);
1028 
1029 	checkbutton_border_color =
1030 		gtk_check_button_new_with_mnemonic (_("Border color"));
1031 	gtk_widget_show (checkbutton_border_color);
1032 	gtk_box_pack_start (GTK_BOX (hbox_border_color),
1033 			    checkbutton_border_color, TRUE, TRUE, 5);
1034 
1035 	combo_border_color = gtk_combo_new ();
1036 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_border_color)->popwin),
1037 			   "GladeParentKey", combo_border_color);
1038 	gtk_widget_show (combo_border_color);
1039 	gtk_box_pack_start (GTK_BOX (hbox_border_color), combo_border_color,
1040 			    TRUE, TRUE, 2);
1041 	combo_border_color_items =
1042 		g_list_append (combo_border_color_items,
1043 			       (gpointer) CSS_STR_USE_COLORSEL);
1044 	combo_border_color_items =
1045 		g_list_append (combo_border_color_items, (gpointer) "aqua");
1046 	combo_border_color_items =
1047 		g_list_append (combo_border_color_items, (gpointer) "black");
1048 	combo_border_color_items =
1049 		g_list_append (combo_border_color_items, (gpointer) "blue");
1050 	combo_border_color_items =
1051 		g_list_append (combo_border_color_items,
1052 			       (gpointer) "fuchsia");
1053 	combo_border_color_items =
1054 		g_list_append (combo_border_color_items, (gpointer) "gray");
1055 	combo_border_color_items =
1056 		g_list_append (combo_border_color_items, (gpointer) "green");
1057 	combo_border_color_items =
1058 		g_list_append (combo_border_color_items, (gpointer) "lime");
1059 	combo_border_color_items =
1060 		g_list_append (combo_border_color_items, (gpointer) "maroon");
1061 	combo_border_color_items =
1062 		g_list_append (combo_border_color_items, (gpointer) "navy");
1063 	combo_border_color_items =
1064 		g_list_append (combo_border_color_items, (gpointer) "olive");
1065 	combo_border_color_items =
1066 		g_list_append (combo_border_color_items, (gpointer) "purple");
1067 	combo_border_color_items =
1068 		g_list_append (combo_border_color_items, (gpointer) "red");
1069 	combo_border_color_items =
1070 		g_list_append (combo_border_color_items, (gpointer) "silver");
1071 	combo_border_color_items =
1072 		g_list_append (combo_border_color_items, (gpointer) "teal");
1073 	combo_border_color_items =
1074 		g_list_append (combo_border_color_items, (gpointer) "white");
1075 	combo_border_color_items =
1076 		g_list_append (combo_border_color_items, (gpointer) "yellow");
1077 	combo_border_color_items =
1078 		g_list_append (combo_border_color_items,
1079 			       (gpointer) "ActiveBorder");
1080 	combo_border_color_items =
1081 		g_list_append (combo_border_color_items,
1082 			       (gpointer) "ActiveCaption");
1083 	combo_border_color_items =
1084 		g_list_append (combo_border_color_items,
1085 			       (gpointer) "AppWorkspace");
1086 	combo_border_color_items =
1087 		g_list_append (combo_border_color_items,
1088 			       (gpointer) "Background");
1089 	combo_border_color_items =
1090 		g_list_append (combo_border_color_items,
1091 			       (gpointer) "ButtonFace");
1092 	combo_border_color_items =
1093 		g_list_append (combo_border_color_items,
1094 			       (gpointer) "ButtonHighlight");
1095 	combo_border_color_items =
1096 		g_list_append (combo_border_color_items,
1097 			       (gpointer) "ButtonShadow");
1098 	combo_border_color_items =
1099 		g_list_append (combo_border_color_items,
1100 			       (gpointer) "ButtonText");
1101 	combo_border_color_items =
1102 		g_list_append (combo_border_color_items,
1103 			       (gpointer) "CaptionText");
1104 	combo_border_color_items =
1105 		g_list_append (combo_border_color_items,
1106 			       (gpointer) "GrayText");
1107 	combo_border_color_items =
1108 		g_list_append (combo_border_color_items,
1109 			       (gpointer) "Highlight");
1110 	combo_border_color_items =
1111 		g_list_append (combo_border_color_items,
1112 			       (gpointer) "HighlightText");
1113 	combo_border_color_items =
1114 		g_list_append (combo_border_color_items,
1115 			       (gpointer) "InactiveBorder");
1116 	combo_border_color_items =
1117 		g_list_append (combo_border_color_items,
1118 			       (gpointer) "InactiveCaption");
1119 	combo_border_color_items =
1120 		g_list_append (combo_border_color_items,
1121 			       (gpointer) "InactiveCaptionText");
1122 	combo_border_color_items =
1123 		g_list_append (combo_border_color_items,
1124 			       (gpointer) "InfoBackground");
1125 	combo_border_color_items =
1126 		g_list_append (combo_border_color_items,
1127 			       (gpointer) "InfoText");
1128 	combo_border_color_items =
1129 		g_list_append (combo_border_color_items, (gpointer) "Menu");
1130 	combo_border_color_items =
1131 		g_list_append (combo_border_color_items,
1132 			       (gpointer) "MenuText");
1133 	combo_border_color_items =
1134 		g_list_append (combo_border_color_items,
1135 			       (gpointer) "Scrollbar");
1136 	combo_border_color_items =
1137 		g_list_append (combo_border_color_items,
1138 			       (gpointer) "ThreeDDarkShadow");
1139 	combo_border_color_items =
1140 		g_list_append (combo_border_color_items,
1141 			       (gpointer) "ThreeDFace");
1142 	combo_border_color_items =
1143 		g_list_append (combo_border_color_items,
1144 			       (gpointer) "ThreeDHighlight");
1145 	combo_border_color_items =
1146 		g_list_append (combo_border_color_items,
1147 			       (gpointer) "ThreeDLightShadow");
1148 	combo_border_color_items =
1149 		g_list_append (combo_border_color_items,
1150 			       (gpointer) "ThreeDShadow");
1151 	combo_border_color_items =
1152 		g_list_append (combo_border_color_items, (gpointer) "Window");
1153 	combo_border_color_items =
1154 		g_list_append (combo_border_color_items,
1155 			       (gpointer) "WindowFrame");
1156 	combo_border_color_items =
1157 		g_list_append (combo_border_color_items,
1158 			       (gpointer) "WindowText");
1159 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_color),
1160 				       combo_border_color_items);
1161 	g_list_free (combo_border_color_items);
1162 
1163 	combo_entry_border_color = GTK_COMBO (combo_border_color)->entry;
1164 	gtk_widget_show (combo_entry_border_color);
1165 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_border_color),
1166 				   FALSE);
1167 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_color),
1168 			    CSS_STR_USE_COLORSEL);
1169 
1170 	colorselection = gtk_color_selection_new ();
1171 	gtk_widget_show (colorselection);
1172 	gtk_box_pack_start (GTK_BOX (vbox_main), colorselection, FALSE, FALSE,
1173 			    5);
1174 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 5);
1175 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
1176 						     (colorselection), FALSE);
1177 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
1178 					     (colorselection), TRUE);
1179 	dialog_action_area =
1180 		GTK_DIALOG (border_properties_dialog)->action_area;
1181 	gtk_widget_show (dialog_action_area);
1182 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
1183 				   GTK_BUTTONBOX_END);
1184 
1185 	helpbutton = gtk_button_new_from_stock ("gtk-help");
1186 	gtk_widget_show (helpbutton);
1187 	gtk_dialog_add_action_widget (GTK_DIALOG (border_properties_dialog),
1188 				      helpbutton, GTK_RESPONSE_HELP);
1189 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
1190 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
1191 				    GDK_y, GDK_CONTROL_MASK,
1192 				    GTK_ACCEL_VISIBLE);
1193 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
1194 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
1195 
1196 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
1197 	gtk_widget_show (cancelbutton);
1198 	gtk_dialog_add_action_widget (GTK_DIALOG (border_properties_dialog),
1199 				      cancelbutton, GTK_RESPONSE_CANCEL);
1200 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
1201 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
1202 				    GDK_c, GDK_CONTROL_MASK,
1203 				    GTK_ACCEL_VISIBLE);
1204 
1205 	okbutton = gtk_button_new_from_stock ("gtk-ok");
1206 	gtk_widget_show (okbutton);
1207 	gtk_dialog_add_action_widget (GTK_DIALOG (border_properties_dialog),
1208 				      okbutton, GTK_RESPONSE_OK);
1209 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
1210 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
1211 				    GDK_o, GDK_CONTROL_MASK,
1212 				    GTK_ACCEL_VISIBLE);
1213 
1214 	/*  to update the spin button to the unit selected */
1215 	g_signal_connect ((gpointer) combo_entry_len,
1216 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
1217 			  spinbutton_len);
1218 
1219 	if (connect_callbacks)
1220 	{
1221 		g_signal_connect ((gpointer) border_properties_dialog,
1222 				  "close", G_CALLBACK (on_css_dialog_close),
1223 				  data);
1224 
1225 		g_signal_connect ((gpointer) helpbutton, "clicked",
1226 				  G_CALLBACK
1227 				  (on_border_properties_helpbutton_clicked),
1228 				  NULL);
1229 		g_signal_connect ((gpointer) cancelbutton, "clicked",
1230 				  G_CALLBACK
1231 				  (on_css_dialog_cancel_button_clicked),
1232 				  data);
1233 		g_signal_connect ((gpointer) okbutton, "clicked",
1234 				  G_CALLBACK
1235 				  (on_border_properties_okbutton_clicked),
1236 				  data);
1237 	}
1238 
1239 	GLADE_HOOKUP_OBJECT_NO_REF (border_properties_dialog,
1240 				    border_properties_dialog,
1241 				    "border_properties_dialog");
1242 	GLADE_HOOKUP_OBJECT_NO_REF (border_properties_dialog,
1243 				    dialog_vbox_main, "dialog_vbox_main");
1244 	GLADE_HOOKUP_OBJECT (border_properties_dialog, vbox_main,
1245 			     "vbox_main");
1246 	GLADE_HOOKUP_OBJECT (border_properties_dialog, hbox_border_length,
1247 			     "hbox_border_length");
1248 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1249 			     checkbutton_border_length,
1250 			     "checkbutton_border_length");
1251 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1252 			     combo_border_length_selector,
1253 			     "combo_border_length_selector");
1254 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1255 			     combo_entry_border_length_selector,
1256 			     "combo_entry_border_length_selector");
1257 	GLADE_HOOKUP_OBJECT (border_properties_dialog, spinbutton_len,
1258 			     "spinbutton_len");
1259 	GLADE_HOOKUP_OBJECT (border_properties_dialog, combo_len,
1260 			     "combo_len");
1261 	GLADE_HOOKUP_OBJECT (border_properties_dialog, combo_entry_len,
1262 			     "combo_entry_len");
1263 	GLADE_HOOKUP_OBJECT (border_properties_dialog, hbox_border_style,
1264 			     "hbox_border_style");
1265 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1266 			     checkbutton_border_style,
1267 			     "checkbutton_border_style");
1268 	GLADE_HOOKUP_OBJECT (border_properties_dialog, combo_border_style,
1269 			     "combo_border_style");
1270 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1271 			     combo_entry_border_style,
1272 			     "combo_entry_border_style");
1273 	GLADE_HOOKUP_OBJECT (border_properties_dialog, hbox_border_color,
1274 			     "hbox_border_color");
1275 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1276 			     checkbutton_border_color,
1277 			     "checkbutton_border_color");
1278 	GLADE_HOOKUP_OBJECT (border_properties_dialog, combo_border_color,
1279 			     "combo_border_color");
1280 	GLADE_HOOKUP_OBJECT (border_properties_dialog,
1281 			     combo_entry_border_color,
1282 			     "combo_entry_border_color");
1283 	GLADE_HOOKUP_OBJECT (border_properties_dialog, colorselection,
1284 			     "colorselection");
1285 	GLADE_HOOKUP_OBJECT_NO_REF (border_properties_dialog,
1286 				    dialog_action_area, "dialog_action_area");
1287 	GLADE_HOOKUP_OBJECT (border_properties_dialog, helpbutton,
1288 			     "helpbutton");
1289 	GLADE_HOOKUP_OBJECT (border_properties_dialog, cancelbutton,
1290 			     "cancelbutton");
1291 	GLADE_HOOKUP_OBJECT (border_properties_dialog, okbutton, "okbutton");
1292 
1293 	gtk_window_add_accel_group (GTK_WINDOW (border_properties_dialog),
1294 				    accel_group);
1295 
1296 	return border_properties_dialog;
1297 }
1298 
1299 GtkWidget *
create_border_width_properties_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)1300 create_border_width_properties_dialog (CssedWindow * window,
1301 				       gchar * previous_string,
1302 				       gboolean
1303 				       add_previous_string,
1304 				       gboolean connect_callbacks)
1305 {
1306 	GtkWidget *border_width_properties_dialog;
1307 	GtkWidget *dialog_vbox;
1308 	GtkWidget *table_main;
1309 	GtkWidget *checkbutton_border_width_top;
1310 	GtkWidget *checkbutton_border_width_right;
1311 	GtkWidget *checkbutton_border_width_bottom;
1312 	GtkWidget *checkbutton_border_width_left;
1313 	GtkWidget *combo_border_width_top_units;
1314 	GList *combo_border_width_top_units_items = NULL;
1315 	GtkWidget *combo_entry_border_width_top_units;
1316 	GtkWidget *combo_border_width_right_units;
1317 	GList *combo_border_width_right_units_items = NULL;
1318 	GtkWidget *combo_entry_border_width_right_units;
1319 	GtkWidget *combo_border_width_bottom_units;
1320 	GList *combo_border_width_bottom_units_items = NULL;
1321 	GtkWidget *combo_entry_border_width_bottom_units;
1322 	GtkWidget *combo_border_width_left_units;
1323 	GList *combo_border_width_left_units_items = NULL;
1324 	GtkWidget *combo_entry_border_width_left_units;
1325 	GtkWidget *combo_border_width_top;
1326 	GList *combo_border_width_top_items = NULL;
1327 	GtkWidget *combo_entry_border_width_top_selector;
1328 	GtkWidget *combo_border_width_right;
1329 	GList *combo_border_width_right_items = NULL;
1330 	GtkWidget *combo_entry_border_width_right_selector;
1331 	GtkWidget *combo_border_width_bottom;
1332 	GList *combo_border_width_bottom_items = NULL;
1333 	GtkWidget *combo_entry_border_width_bottom_selector;
1334 	GtkWidget *combo_border_width_left;
1335 	GList *combo_border_width_left_items = NULL;
1336 	GtkWidget *combo_entry_border_width_left_selector;
1337 	GtkObject *spinbutton_border_width_top_adj;
1338 	GtkWidget *spinbutton_border_width_top;
1339 	GtkObject *spinbutton_border_width_right_adj;
1340 	GtkWidget *spinbutton_border_width_right;
1341 	GtkObject *spinbutton_border_width_bottom_adj;
1342 	GtkWidget *spinbutton_border_width_bottom;
1343 	GtkObject *spinbutton_border_width_left_adj;
1344 	GtkWidget *spinbutton_border_width_left;
1345 	GtkWidget *dialog_action_area;
1346 	GtkWidget *helpbutton;
1347 	GtkWidget *cancelbutton;
1348 	GtkWidget *okbutton;
1349 	GtkAccelGroup *accel_group;
1350 	GtkWidget *main_window;
1351 	CssedCssDialogsData *data = NULL;
1352 
1353 	if (connect_callbacks)
1354 	{
1355 		data = g_malloc (sizeof (CssedCssDialogsData));
1356 		data->main_window = window;
1357 		data->previous_string = previous_string;
1358 		data->add_property_string = add_previous_string;
1359 	}
1360 
1361 	accel_group = gtk_accel_group_new ();
1362 
1363 	border_width_properties_dialog = gtk_dialog_new ();
1364 	gtk_window_set_title (GTK_WINDOW (border_width_properties_dialog),
1365 			      _("border-width"));
1366 	gtk_window_set_modal (GTK_WINDOW (border_width_properties_dialog),
1367 			      TRUE);
1368 
1369 	main_window = cssed_window_get_window_widget( window );
1370 
1371 
1372 	gtk_window_set_transient_for (GTK_WINDOW
1373 				      (border_width_properties_dialog),
1374 				      GTK_WINDOW (main_window));
1375 
1376 	dialog_vbox = GTK_DIALOG (border_width_properties_dialog)->vbox;
1377 	gtk_widget_show (dialog_vbox);
1378 
1379 	table_main = gtk_table_new (4, 4, FALSE);
1380 	gtk_widget_show (table_main);
1381 	gtk_box_pack_start (GTK_BOX (dialog_vbox), table_main, FALSE, FALSE,
1382 			    0);
1383 	gtk_container_set_border_width (GTK_CONTAINER (table_main), 2);
1384 	gtk_table_set_row_spacings (GTK_TABLE (table_main), 2);
1385 	gtk_table_set_col_spacings (GTK_TABLE (table_main), 6);
1386 
1387 	checkbutton_border_width_top =
1388 		gtk_check_button_new_with_mnemonic (_("Top"));
1389 	gtk_widget_show (checkbutton_border_width_top);
1390 	gtk_table_attach (GTK_TABLE (table_main),
1391 			  checkbutton_border_width_top, 0, 1, 0, 1,
1392 			  (GtkAttachOptions) (GTK_FILL),
1393 			  (GtkAttachOptions) (0), 0, 0);
1394 
1395 	checkbutton_border_width_right =
1396 		gtk_check_button_new_with_mnemonic (_("Right"));
1397 	gtk_widget_show (checkbutton_border_width_right);
1398 	gtk_table_attach (GTK_TABLE (table_main),
1399 			  checkbutton_border_width_right, 0, 1, 1, 2,
1400 			  (GtkAttachOptions) (GTK_FILL),
1401 			  (GtkAttachOptions) (0), 0, 0);
1402 
1403 	checkbutton_border_width_bottom =
1404 		gtk_check_button_new_with_mnemonic (_("Bottom"));
1405 	gtk_widget_show (checkbutton_border_width_bottom);
1406 	gtk_table_attach (GTK_TABLE (table_main),
1407 			  checkbutton_border_width_bottom, 0, 1, 2, 3,
1408 			  (GtkAttachOptions) (GTK_FILL),
1409 			  (GtkAttachOptions) (0), 0, 0);
1410 
1411 	checkbutton_border_width_left =
1412 		gtk_check_button_new_with_mnemonic (_("Left"));
1413 	gtk_widget_show (checkbutton_border_width_left);
1414 	gtk_table_attach (GTK_TABLE (table_main),
1415 			  checkbutton_border_width_left, 0, 1, 3, 4,
1416 			  (GtkAttachOptions) (GTK_FILL),
1417 			  (GtkAttachOptions) (0), 0, 0);
1418 
1419 	combo_border_width_top_units = gtk_combo_new ();
1420 	g_object_set_data (G_OBJECT
1421 			   (GTK_COMBO (combo_border_width_top_units)->popwin),
1422 			   "GladeParentKey", combo_border_width_top_units);
1423 	gtk_widget_show (combo_border_width_top_units);
1424 	gtk_table_attach (GTK_TABLE (table_main),
1425 			  combo_border_width_top_units, 3, 4, 0, 1,
1426 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1427 			  0);
1428 	combo_border_width_top_units_items =
1429 		g_list_append (combo_border_width_top_units_items,
1430 			       (gpointer) "em");
1431 	combo_border_width_top_units_items =
1432 		g_list_append (combo_border_width_top_units_items,
1433 			       (gpointer) "ex");
1434 	combo_border_width_top_units_items =
1435 		g_list_append (combo_border_width_top_units_items,
1436 			       (gpointer) "px");
1437 	combo_border_width_top_units_items =
1438 		g_list_append (combo_border_width_top_units_items,
1439 			       (gpointer) "in");
1440 	combo_border_width_top_units_items =
1441 		g_list_append (combo_border_width_top_units_items,
1442 			       (gpointer) "cm");
1443 	combo_border_width_top_units_items =
1444 		g_list_append (combo_border_width_top_units_items,
1445 			       (gpointer) "mm");
1446 	combo_border_width_top_units_items =
1447 		g_list_append (combo_border_width_top_units_items,
1448 			       (gpointer) "pt");
1449 	combo_border_width_top_units_items =
1450 		g_list_append (combo_border_width_top_units_items,
1451 			       (gpointer) "pc");
1452 	gtk_combo_set_popdown_strings (GTK_COMBO
1453 				       (combo_border_width_top_units),
1454 				       combo_border_width_top_units_items);
1455 	g_list_free (combo_border_width_top_units_items);
1456 
1457 	combo_entry_border_width_top_units =
1458 		GTK_COMBO (combo_border_width_top_units)->entry;
1459 	gtk_widget_show (combo_entry_border_width_top_units);
1460 	gtk_widget_set_size_request (combo_entry_border_width_top_units, 40,
1461 				     -1);
1462 	gtk_editable_set_editable (GTK_EDITABLE
1463 				   (combo_entry_border_width_top_units),
1464 				   FALSE);
1465 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_width_top_units),
1466 			    "px");
1467 
1468 	combo_border_width_right_units = gtk_combo_new ();
1469 	g_object_set_data (G_OBJECT
1470 			   (GTK_COMBO (combo_border_width_right_units)->
1471 			    popwin), "GladeParentKey",
1472 			   combo_border_width_right_units);
1473 	gtk_widget_show (combo_border_width_right_units);
1474 	gtk_table_attach (GTK_TABLE (table_main),
1475 			  combo_border_width_right_units, 3, 4, 1, 2,
1476 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1477 			  0);
1478 	combo_border_width_right_units_items =
1479 		g_list_append (combo_border_width_right_units_items,
1480 			       (gpointer) "em");
1481 	combo_border_width_right_units_items =
1482 		g_list_append (combo_border_width_right_units_items,
1483 			       (gpointer) "ex");
1484 	combo_border_width_right_units_items =
1485 		g_list_append (combo_border_width_right_units_items,
1486 			       (gpointer) "px");
1487 	combo_border_width_right_units_items =
1488 		g_list_append (combo_border_width_right_units_items,
1489 			       (gpointer) "in");
1490 	combo_border_width_right_units_items =
1491 		g_list_append (combo_border_width_right_units_items,
1492 			       (gpointer) "cm");
1493 	combo_border_width_right_units_items =
1494 		g_list_append (combo_border_width_right_units_items,
1495 			       (gpointer) "mm");
1496 	combo_border_width_right_units_items =
1497 		g_list_append (combo_border_width_right_units_items,
1498 			       (gpointer) "pt");
1499 	combo_border_width_right_units_items =
1500 		g_list_append (combo_border_width_right_units_items,
1501 			       (gpointer) "pc");
1502 	gtk_combo_set_popdown_strings (GTK_COMBO
1503 				       (combo_border_width_right_units),
1504 				       combo_border_width_right_units_items);
1505 	g_list_free (combo_border_width_right_units_items);
1506 
1507 	combo_entry_border_width_right_units =
1508 		GTK_COMBO (combo_border_width_right_units)->entry;
1509 	gtk_widget_show (combo_entry_border_width_right_units);
1510 	gtk_widget_set_size_request (combo_entry_border_width_right_units, 40,
1511 				     -1);
1512 	gtk_editable_set_editable (GTK_EDITABLE
1513 				   (combo_entry_border_width_right_units),
1514 				   FALSE);
1515 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_width_right_units),
1516 			    "px");
1517 
1518 	combo_border_width_bottom_units = gtk_combo_new ();
1519 	g_object_set_data (G_OBJECT
1520 			   (GTK_COMBO (combo_border_width_bottom_units)->
1521 			    popwin), "GladeParentKey",
1522 			   combo_border_width_bottom_units);
1523 	gtk_widget_show (combo_border_width_bottom_units);
1524 	gtk_table_attach (GTK_TABLE (table_main),
1525 			  combo_border_width_bottom_units, 3, 4, 2, 3,
1526 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1527 			  0);
1528 	combo_border_width_bottom_units_items =
1529 		g_list_append (combo_border_width_bottom_units_items,
1530 			       (gpointer) "em");
1531 	combo_border_width_bottom_units_items =
1532 		g_list_append (combo_border_width_bottom_units_items,
1533 			       (gpointer) "ex");
1534 	combo_border_width_bottom_units_items =
1535 		g_list_append (combo_border_width_bottom_units_items,
1536 			       (gpointer) "px");
1537 	combo_border_width_bottom_units_items =
1538 		g_list_append (combo_border_width_bottom_units_items,
1539 			       (gpointer) "in");
1540 	combo_border_width_bottom_units_items =
1541 		g_list_append (combo_border_width_bottom_units_items,
1542 			       (gpointer) "cm");
1543 	combo_border_width_bottom_units_items =
1544 		g_list_append (combo_border_width_bottom_units_items,
1545 			       (gpointer) "mm");
1546 	combo_border_width_bottom_units_items =
1547 		g_list_append (combo_border_width_bottom_units_items,
1548 			       (gpointer) "pt");
1549 	combo_border_width_bottom_units_items =
1550 		g_list_append (combo_border_width_bottom_units_items,
1551 			       (gpointer) "pc");
1552 	gtk_combo_set_popdown_strings (GTK_COMBO
1553 				       (combo_border_width_bottom_units),
1554 				       combo_border_width_bottom_units_items);
1555 	g_list_free (combo_border_width_bottom_units_items);
1556 
1557 	combo_entry_border_width_bottom_units =
1558 		GTK_COMBO (combo_border_width_bottom_units)->entry;
1559 	gtk_widget_show (combo_entry_border_width_bottom_units);
1560 	gtk_widget_set_size_request (combo_entry_border_width_bottom_units,
1561 				     40, -1);
1562 	gtk_editable_set_editable (GTK_EDITABLE
1563 				   (combo_entry_border_width_bottom_units),
1564 				   FALSE);
1565 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_width_bottom_units),
1566 			    "px");
1567 
1568 	combo_border_width_left_units = gtk_combo_new ();
1569 	g_object_set_data (G_OBJECT
1570 			   (GTK_COMBO (combo_border_width_left_units)->
1571 			    popwin), "GladeParentKey",
1572 			   combo_border_width_left_units);
1573 	gtk_widget_show (combo_border_width_left_units);
1574 	gtk_table_attach (GTK_TABLE (table_main),
1575 			  combo_border_width_left_units, 3, 4, 3, 4,
1576 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1577 			  0);
1578 	combo_border_width_left_units_items =
1579 		g_list_append (combo_border_width_left_units_items,
1580 			       (gpointer) "em");
1581 	combo_border_width_left_units_items =
1582 		g_list_append (combo_border_width_left_units_items,
1583 			       (gpointer) "ex");
1584 	combo_border_width_left_units_items =
1585 		g_list_append (combo_border_width_left_units_items,
1586 			       (gpointer) "px");
1587 	combo_border_width_left_units_items =
1588 		g_list_append (combo_border_width_left_units_items,
1589 			       (gpointer) "in");
1590 	combo_border_width_left_units_items =
1591 		g_list_append (combo_border_width_left_units_items,
1592 			       (gpointer) "cm");
1593 	combo_border_width_left_units_items =
1594 		g_list_append (combo_border_width_left_units_items,
1595 			       (gpointer) "mm");
1596 	combo_border_width_left_units_items =
1597 		g_list_append (combo_border_width_left_units_items,
1598 			       (gpointer) "pt");
1599 	combo_border_width_left_units_items =
1600 		g_list_append (combo_border_width_left_units_items,
1601 			       (gpointer) "pc");
1602 	gtk_combo_set_popdown_strings (GTK_COMBO
1603 				       (combo_border_width_left_units),
1604 				       combo_border_width_left_units_items);
1605 	g_list_free (combo_border_width_left_units_items);
1606 
1607 	combo_entry_border_width_left_units =
1608 		GTK_COMBO (combo_border_width_left_units)->entry;
1609 	gtk_widget_show (combo_entry_border_width_left_units);
1610 	gtk_widget_set_size_request (combo_entry_border_width_left_units, 40,
1611 				     -1);
1612 	gtk_editable_set_editable (GTK_EDITABLE
1613 				   (combo_entry_border_width_left_units),
1614 				   FALSE);
1615 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_width_left_units),
1616 			    "px");
1617 
1618 	combo_border_width_top = gtk_combo_new ();
1619 	g_object_set_data (G_OBJECT
1620 			   (GTK_COMBO (combo_border_width_top)->popwin),
1621 			   "GladeParentKey", combo_border_width_top);
1622 	gtk_widget_show (combo_border_width_top);
1623 	gtk_table_attach (GTK_TABLE (table_main), combo_border_width_top, 1,
1624 			  2, 0, 1, (GtkAttachOptions) (0),
1625 			  (GtkAttachOptions) (0), 0, 0);
1626 	combo_border_width_top_items =
1627 		g_list_append (combo_border_width_top_items,
1628 			       (gpointer) CSS_STR_USE_LENGTH);
1629 	combo_border_width_top_items =
1630 		g_list_append (combo_border_width_top_items,
1631 			       (gpointer) "thin");
1632 	combo_border_width_top_items =
1633 		g_list_append (combo_border_width_top_items,
1634 			       (gpointer) "medium");
1635 	combo_border_width_top_items =
1636 		g_list_append (combo_border_width_top_items,
1637 			       (gpointer) "thick");
1638 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_width_top),
1639 				       combo_border_width_top_items);
1640 	g_list_free (combo_border_width_top_items);
1641 
1642 	combo_entry_border_width_top_selector =
1643 		GTK_COMBO (combo_border_width_top)->entry;
1644 	gtk_widget_show (combo_entry_border_width_top_selector);
1645 	gtk_editable_set_editable (GTK_EDITABLE
1646 				   (combo_entry_border_width_top_selector),
1647 				   FALSE);
1648 	gtk_entry_set_text (GTK_ENTRY (combo_entry_border_width_top_selector),
1649 			    CSS_STR_USE_LENGTH);
1650 
1651 	combo_border_width_right = gtk_combo_new ();
1652 	g_object_set_data (G_OBJECT
1653 			   (GTK_COMBO (combo_border_width_right)->popwin),
1654 			   "GladeParentKey", combo_border_width_right);
1655 	gtk_widget_show (combo_border_width_right);
1656 	gtk_table_attach (GTK_TABLE (table_main), combo_border_width_right, 1,
1657 			  2, 1, 2, (GtkAttachOptions) (0),
1658 			  (GtkAttachOptions) (0), 0, 0);
1659 	combo_border_width_right_items =
1660 		g_list_append (combo_border_width_right_items,
1661 			       (gpointer) CSS_STR_USE_LENGTH);
1662 	combo_border_width_right_items =
1663 		g_list_append (combo_border_width_right_items,
1664 			       (gpointer) "thin");
1665 	combo_border_width_right_items =
1666 		g_list_append (combo_border_width_right_items,
1667 			       (gpointer) "medium");
1668 	combo_border_width_right_items =
1669 		g_list_append (combo_border_width_right_items,
1670 			       (gpointer) "thick");
1671 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_width_right),
1672 				       combo_border_width_right_items);
1673 	g_list_free (combo_border_width_right_items);
1674 
1675 	combo_entry_border_width_right_selector =
1676 		GTK_COMBO (combo_border_width_right)->entry;
1677 	gtk_widget_show (combo_entry_border_width_right_selector);
1678 	gtk_editable_set_editable (GTK_EDITABLE
1679 				   (combo_entry_border_width_right_selector),
1680 				   FALSE);
1681 	gtk_entry_set_text (GTK_ENTRY
1682 			    (combo_entry_border_width_right_selector),
1683 			    CSS_STR_USE_LENGTH);
1684 
1685 	combo_border_width_bottom = gtk_combo_new ();
1686 	g_object_set_data (G_OBJECT
1687 			   (GTK_COMBO (combo_border_width_bottom)->popwin),
1688 			   "GladeParentKey", combo_border_width_bottom);
1689 	gtk_widget_show (combo_border_width_bottom);
1690 	gtk_table_attach (GTK_TABLE (table_main), combo_border_width_bottom,
1691 			  1, 2, 2, 3, (GtkAttachOptions) (0),
1692 			  (GtkAttachOptions) (0), 0, 0);
1693 	combo_border_width_bottom_items =
1694 		g_list_append (combo_border_width_bottom_items,
1695 			       (gpointer) CSS_STR_USE_LENGTH);
1696 	combo_border_width_bottom_items =
1697 		g_list_append (combo_border_width_bottom_items,
1698 			       (gpointer) "thin");
1699 	combo_border_width_bottom_items =
1700 		g_list_append (combo_border_width_bottom_items,
1701 			       (gpointer) "medium");
1702 	combo_border_width_bottom_items =
1703 		g_list_append (combo_border_width_bottom_items,
1704 			       (gpointer) "thick");
1705 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_width_bottom),
1706 				       combo_border_width_bottom_items);
1707 	g_list_free (combo_border_width_bottom_items);
1708 
1709 	combo_entry_border_width_bottom_selector =
1710 		GTK_COMBO (combo_border_width_bottom)->entry;
1711 	gtk_widget_show (combo_entry_border_width_bottom_selector);
1712 	gtk_editable_set_editable (GTK_EDITABLE
1713 				   (combo_entry_border_width_bottom_selector),
1714 				   FALSE);
1715 	gtk_entry_set_text (GTK_ENTRY
1716 			    (combo_entry_border_width_bottom_selector),
1717 			    CSS_STR_USE_LENGTH);
1718 
1719 	combo_border_width_left = gtk_combo_new ();
1720 	g_object_set_data (G_OBJECT
1721 			   (GTK_COMBO (combo_border_width_left)->popwin),
1722 			   "GladeParentKey", combo_border_width_left);
1723 	gtk_widget_show (combo_border_width_left);
1724 	gtk_table_attach (GTK_TABLE (table_main), combo_border_width_left, 1,
1725 			  2, 3, 4, (GtkAttachOptions) (0),
1726 			  (GtkAttachOptions) (0), 0, 0);
1727 	combo_border_width_left_items =
1728 		g_list_append (combo_border_width_left_items,
1729 			       (gpointer) CSS_STR_USE_LENGTH);
1730 	combo_border_width_left_items =
1731 		g_list_append (combo_border_width_left_items,
1732 			       (gpointer) "thin");
1733 	combo_border_width_left_items =
1734 		g_list_append (combo_border_width_left_items,
1735 			       (gpointer) "medium");
1736 	combo_border_width_left_items =
1737 		g_list_append (combo_border_width_left_items,
1738 			       (gpointer) "thick");
1739 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_border_width_left),
1740 				       combo_border_width_left_items);
1741 	g_list_free (combo_border_width_left_items);
1742 
1743 	combo_entry_border_width_left_selector =
1744 		GTK_COMBO (combo_border_width_left)->entry;
1745 	gtk_widget_show (combo_entry_border_width_left_selector);
1746 	gtk_editable_set_editable (GTK_EDITABLE
1747 				   (combo_entry_border_width_left_selector),
1748 				   FALSE);
1749 	gtk_entry_set_text (GTK_ENTRY
1750 			    (combo_entry_border_width_left_selector),
1751 			    CSS_STR_USE_LENGTH);
1752 
1753 	spinbutton_border_width_top_adj =
1754 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
1755 	spinbutton_border_width_top =
1756 		gtk_spin_button_new (GTK_ADJUSTMENT
1757 				     (spinbutton_border_width_top_adj), 1, 0);
1758 	gtk_widget_show (spinbutton_border_width_top);
1759 	gtk_table_attach (GTK_TABLE (table_main), spinbutton_border_width_top,
1760 			  2, 3, 0, 1, (GtkAttachOptions) (0),
1761 			  (GtkAttachOptions) (0), 0, 0);
1762 
1763 	spinbutton_border_width_right_adj =
1764 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
1765 	spinbutton_border_width_right =
1766 		gtk_spin_button_new (GTK_ADJUSTMENT
1767 				     (spinbutton_border_width_right_adj), 1,
1768 				     0);
1769 	gtk_widget_show (spinbutton_border_width_right);
1770 	gtk_table_attach (GTK_TABLE (table_main),
1771 			  spinbutton_border_width_right, 2, 3, 1, 2,
1772 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1773 			  0);
1774 
1775 	spinbutton_border_width_bottom_adj =
1776 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
1777 	spinbutton_border_width_bottom =
1778 		gtk_spin_button_new (GTK_ADJUSTMENT
1779 				     (spinbutton_border_width_bottom_adj), 1,
1780 				     0);
1781 	gtk_widget_show (spinbutton_border_width_bottom);
1782 	gtk_table_attach (GTK_TABLE (table_main),
1783 			  spinbutton_border_width_bottom, 2, 3, 2, 3,
1784 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1785 			  0);
1786 
1787 	spinbutton_border_width_left_adj =
1788 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
1789 	spinbutton_border_width_left =
1790 		gtk_spin_button_new (GTK_ADJUSTMENT
1791 				     (spinbutton_border_width_left_adj), 1,
1792 				     0);
1793 	gtk_widget_show (spinbutton_border_width_left);
1794 	gtk_table_attach (GTK_TABLE (table_main),
1795 			  spinbutton_border_width_left, 2, 3, 3, 4,
1796 			  (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0,
1797 			  0);
1798 
1799 	dialog_action_area =
1800 		GTK_DIALOG (border_width_properties_dialog)->action_area;
1801 	gtk_widget_show (dialog_action_area);
1802 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
1803 				   GTK_BUTTONBOX_END);
1804 
1805 	helpbutton = gtk_button_new_from_stock ("gtk-help");
1806 	gtk_widget_show (helpbutton);
1807 	gtk_dialog_add_action_widget (GTK_DIALOG
1808 				      (border_width_properties_dialog),
1809 				      helpbutton, GTK_RESPONSE_HELP);
1810 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
1811 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
1812 				    GDK_y, GDK_CONTROL_MASK,
1813 				    GTK_ACCEL_VISIBLE);
1814 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
1815 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
1816 
1817 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
1818 	gtk_widget_show (cancelbutton);
1819 	gtk_dialog_add_action_widget (GTK_DIALOG
1820 				      (border_width_properties_dialog),
1821 				      cancelbutton, GTK_RESPONSE_CANCEL);
1822 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
1823 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
1824 				    GDK_c, GDK_CONTROL_MASK,
1825 				    GTK_ACCEL_VISIBLE);
1826 
1827 	okbutton = gtk_button_new_from_stock ("gtk-ok");
1828 	gtk_widget_show (okbutton);
1829 	gtk_dialog_add_action_widget (GTK_DIALOG
1830 				      (border_width_properties_dialog),
1831 				      okbutton, GTK_RESPONSE_OK);
1832 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
1833 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
1834 				    GDK_o, GDK_CONTROL_MASK,
1835 				    GTK_ACCEL_VISIBLE);
1836 	/*  to update the spin button to the unit selected */
1837 	g_signal_connect ((gpointer) combo_entry_border_width_top_units,
1838 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
1839 			  spinbutton_border_width_top);
1840 	g_signal_connect ((gpointer) combo_entry_border_width_right_units,
1841 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
1842 			  spinbutton_border_width_right);
1843 	g_signal_connect ((gpointer) combo_entry_border_width_bottom_units,
1844 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
1845 			  spinbutton_border_width_bottom);
1846 	g_signal_connect ((gpointer) combo_entry_border_width_left_units,
1847 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
1848 			  spinbutton_border_width_left);
1849 
1850 	if (connect_callbacks)
1851 	{
1852 		g_signal_connect ((gpointer) border_width_properties_dialog,
1853 				  "close", G_CALLBACK (on_css_dialog_close),
1854 				  data);
1855 
1856 		g_signal_connect ((gpointer) helpbutton, "clicked",
1857 				  G_CALLBACK
1858 				  (on_border_with_properties_helpbutton_clicked),
1859 				  NULL);
1860 		g_signal_connect ((gpointer) cancelbutton, "clicked",
1861 				  G_CALLBACK
1862 				  (on_css_dialog_cancel_button_clicked),
1863 				  data);
1864 		g_signal_connect ((gpointer) okbutton, "clicked",
1865 				  G_CALLBACK
1866 				  (on_border_width_properties_dialog_okbutton_clicked),
1867 				  data);
1868 	}
1869 
1870 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_properties_dialog,
1871 				    border_width_properties_dialog,
1872 				    "border_width_properties_dialog");
1873 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_properties_dialog,
1874 				    dialog_vbox, "dialog_vbox");
1875 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog, table_main,
1876 			     "table_main");
1877 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1878 			     checkbutton_border_width_top,
1879 			     "checkbutton_border_width_top");
1880 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1881 			     checkbutton_border_width_right,
1882 			     "checkbutton_border_width_right");
1883 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1884 			     checkbutton_border_width_bottom,
1885 			     "checkbutton_border_width_bottom");
1886 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1887 			     checkbutton_border_width_left,
1888 			     "checkbutton_border_width_left");
1889 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1890 			     combo_border_width_top_units,
1891 			     "combo_border_width_top_units");
1892 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1893 			     combo_entry_border_width_top_units,
1894 			     "combo_entry_border_width_top_units");
1895 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1896 			     combo_border_width_right_units,
1897 			     "combo_border_width_right_units");
1898 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1899 			     combo_entry_border_width_right_units,
1900 			     "combo_entry_border_width_right_units");
1901 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1902 			     combo_border_width_bottom_units,
1903 			     "combo_border_width_bottom_units");
1904 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1905 			     combo_entry_border_width_bottom_units,
1906 			     "combo_entry_border_width_bottom_units");
1907 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1908 			     combo_border_width_left_units,
1909 			     "combo_border_width_left_units");
1910 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1911 			     combo_entry_border_width_left_units,
1912 			     "combo_entry_border_width_left_units");
1913 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1914 			     combo_border_width_top,
1915 			     "combo_border_width_top");
1916 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1917 			     combo_entry_border_width_top_selector,
1918 			     "combo_entry_border_width_top_selector");
1919 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1920 			     combo_border_width_right,
1921 			     "combo_border_width_right");
1922 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1923 			     combo_entry_border_width_right_selector,
1924 			     "combo_entry_border_width_right_selector");
1925 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1926 			     combo_border_width_bottom,
1927 			     "combo_border_width_bottom");
1928 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1929 			     combo_entry_border_width_bottom_selector,
1930 			     "combo_entry_border_width_bottom_selector");
1931 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1932 			     combo_border_width_left,
1933 			     "combo_border_width_left");
1934 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1935 			     combo_entry_border_width_left_selector,
1936 			     "combo_entry_border_width_left_selector");
1937 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1938 			     spinbutton_border_width_top,
1939 			     "spinbutton_border_width_top");
1940 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1941 			     spinbutton_border_width_right,
1942 			     "spinbutton_border_width_right");
1943 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1944 			     spinbutton_border_width_bottom,
1945 			     "spinbutton_border_width_bottom");
1946 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog,
1947 			     spinbutton_border_width_left,
1948 			     "spinbutton_border_width_left");
1949 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_properties_dialog,
1950 				    dialog_action_area, "dialog_action_area");
1951 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog, helpbutton,
1952 			     "helpbutton");
1953 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog, cancelbutton,
1954 			     "cancelbutton");
1955 	GLADE_HOOKUP_OBJECT (border_width_properties_dialog, okbutton,
1956 			     "okbutton");
1957 
1958 	gtk_window_add_accel_group (GTK_WINDOW
1959 				    (border_width_properties_dialog),
1960 				    accel_group);
1961 
1962 	return border_width_properties_dialog;
1963 }
1964 
1965 GtkWidget *
create_border_width_single_properties_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)1966 create_border_width_single_properties_dialog (CssedWindow *
1967 					      window,
1968 					      gchar *
1969 					      previous_string,
1970 					      gboolean
1971 					      add_previous_string,
1972 					      gboolean connect_callbacks)
1973 {
1974 	GtkWidget *border_width_single_properties_dialog;
1975 	GtkWidget *dialog_vbox;
1976 	GtkWidget *hbox;
1977 	GtkWidget *label_property;
1978 	GtkWidget *combo_selector;
1979 	GList *combo_selector_items = NULL;
1980 	GtkWidget *combo_entry_selector;
1981 	GtkObject *spinbutton_length_adj;
1982 	GtkWidget *spinbutton_length;
1983 	GtkWidget *combo__units;
1984 	GList *combo__units_items = NULL;
1985 	GtkWidget *combo_entry_units;
1986 	GtkWidget *dialog_action_area;
1987 	GtkWidget *helpbutton;
1988 	GtkWidget *cancelbutton;
1989 	GtkWidget *okbutton;
1990 	GtkAccelGroup *accel_group;
1991 	GtkWidget *main_window;
1992 	CssedCssDialogsData *data = NULL;
1993 
1994 	if (connect_callbacks)
1995 	{
1996 		data = g_malloc (sizeof (CssedCssDialogsData));
1997 		data->main_window = window;
1998 		data->previous_string = previous_string;
1999 		data->add_property_string = add_previous_string;
2000 	}
2001 
2002 
2003 	accel_group = gtk_accel_group_new ();
2004 
2005 	border_width_single_properties_dialog = gtk_dialog_new ();
2006 	gtk_window_set_title (GTK_WINDOW
2007 			      (border_width_single_properties_dialog),
2008 			      previous_string);
2009 	gtk_window_set_modal (GTK_WINDOW
2010 			      (border_width_single_properties_dialog), TRUE);
2011 
2012 	main_window = cssed_window_get_window_widget( window );
2013 
2014 	gtk_window_set_transient_for (GTK_WINDOW
2015 				      (border_width_single_properties_dialog),
2016 				      GTK_WINDOW (main_window));
2017 
2018 	dialog_vbox =
2019 		GTK_DIALOG (border_width_single_properties_dialog)->vbox;
2020 	gtk_widget_show (dialog_vbox);
2021 
2022 	hbox = gtk_hbox_new (FALSE, 0);
2023 	gtk_widget_show (hbox);
2024 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
2025 
2026 	label_property = gtk_label_new (previous_string);
2027 	gtk_widget_show (label_property);
2028 	gtk_box_pack_start (GTK_BOX (hbox), label_property, TRUE, TRUE, 0);
2029 	gtk_label_set_justify (GTK_LABEL (label_property), GTK_JUSTIFY_LEFT);
2030 
2031 	combo_selector = gtk_combo_new ();
2032 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_selector)->popwin),
2033 			   "GladeParentKey", combo_selector);
2034 	gtk_widget_show (combo_selector);
2035 	gtk_box_pack_start (GTK_BOX (hbox), combo_selector, FALSE, FALSE, 5);
2036 	combo_selector_items =
2037 		g_list_append (combo_selector_items,
2038 			       (gpointer) CSS_STR_USE_PERCLEN);
2039 	combo_selector_items =
2040 		g_list_append (combo_selector_items, (gpointer) "thin");
2041 	combo_selector_items =
2042 		g_list_append (combo_selector_items, (gpointer) "medium");
2043 	combo_selector_items =
2044 		g_list_append (combo_selector_items, (gpointer) "thick");
2045 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_selector),
2046 				       combo_selector_items);
2047 	g_list_free (combo_selector_items);
2048 
2049 	combo_entry_selector = GTK_COMBO (combo_selector)->entry;
2050 	gtk_widget_show (combo_entry_selector);
2051 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_selector),
2052 				   FALSE);
2053 	gtk_entry_set_text (GTK_ENTRY (combo_entry_selector),
2054 			    CSS_STR_USE_PERCLEN);
2055 
2056 	spinbutton_length_adj =
2057 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
2058 	spinbutton_length =
2059 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_length_adj),
2060 				     1, 0);
2061 	gtk_widget_show (spinbutton_length);
2062 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_length, FALSE, FALSE,
2063 			    5);
2064 	gtk_widget_set_size_request (spinbutton_length, 46, -1);
2065 
2066 	combo__units = gtk_combo_new ();
2067 	g_object_set_data (G_OBJECT (GTK_COMBO (combo__units)->popwin),
2068 			   "GladeParentKey", combo__units);
2069 	gtk_widget_show (combo__units);
2070 	gtk_box_pack_start (GTK_BOX (hbox), combo__units, FALSE, FALSE, 5);
2071 	gtk_widget_set_size_request (combo__units, 50, -1);
2072 	combo__units_items =
2073 		g_list_append (combo__units_items, (gpointer) "%");
2074 	combo__units_items =
2075 		g_list_append (combo__units_items, (gpointer) "em");
2076 	combo__units_items =
2077 		g_list_append (combo__units_items, (gpointer) "ex");
2078 	combo__units_items =
2079 		g_list_append (combo__units_items, (gpointer) "px");
2080 	combo__units_items =
2081 		g_list_append (combo__units_items, (gpointer) "in");
2082 	combo__units_items =
2083 		g_list_append (combo__units_items, (gpointer) "cm");
2084 	combo__units_items =
2085 		g_list_append (combo__units_items, (gpointer) "mm");
2086 	combo__units_items =
2087 		g_list_append (combo__units_items, (gpointer) "pt");
2088 	combo__units_items =
2089 		g_list_append (combo__units_items, (gpointer) "pc");
2090 
2091 	gtk_combo_set_popdown_strings (GTK_COMBO (combo__units),
2092 				       combo__units_items);
2093 	g_list_free (combo__units_items);
2094 
2095 	combo_entry_units = GTK_COMBO (combo__units)->entry;
2096 	gtk_widget_show (combo_entry_units);
2097 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_units), FALSE);
2098 	gtk_entry_set_text (GTK_ENTRY (combo_entry_units), "px");
2099 
2100 	dialog_action_area =
2101 		GTK_DIALOG (border_width_single_properties_dialog)->
2102 		action_area;
2103 	gtk_widget_show (dialog_action_area);
2104 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
2105 				   GTK_BUTTONBOX_END);
2106 
2107 	helpbutton = gtk_button_new_from_stock ("gtk-help");
2108 	gtk_widget_show (helpbutton);
2109 	gtk_dialog_add_action_widget (GTK_DIALOG
2110 				      (border_width_single_properties_dialog),
2111 				      helpbutton, GTK_RESPONSE_HELP);
2112 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
2113 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
2114 				    GDK_y, GDK_CONTROL_MASK,
2115 				    GTK_ACCEL_VISIBLE);
2116 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
2117 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2118 
2119 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
2120 	gtk_widget_show (cancelbutton);
2121 	gtk_dialog_add_action_widget (GTK_DIALOG
2122 				      (border_width_single_properties_dialog),
2123 				      cancelbutton, GTK_RESPONSE_CANCEL);
2124 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
2125 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
2126 				    GDK_c, GDK_CONTROL_MASK,
2127 				    GTK_ACCEL_VISIBLE);
2128 
2129 	okbutton = gtk_button_new_from_stock ("gtk-ok");
2130 	gtk_widget_show (okbutton);
2131 	gtk_dialog_add_action_widget (GTK_DIALOG
2132 				      (border_width_single_properties_dialog),
2133 				      okbutton, GTK_RESPONSE_OK);
2134 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
2135 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
2136 				    GDK_o, GDK_CONTROL_MASK,
2137 				    GTK_ACCEL_VISIBLE);
2138 
2139 
2140 	g_signal_connect ((gpointer) combo_entry_units,
2141 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
2142 			  spinbutton_length);
2143 
2144 	if (connect_callbacks)
2145 	{
2146 		g_signal_connect ((gpointer)
2147 				  border_width_single_properties_dialog,
2148 				  "close", G_CALLBACK (on_css_dialog_close),
2149 				  data);
2150 
2151 		g_signal_connect ((gpointer) helpbutton, "clicked",
2152 				  G_CALLBACK
2153 				  (on_border_width_single_helpbutton_clicked),
2154 				  NULL);
2155 		g_signal_connect ((gpointer) cancelbutton, "clicked",
2156 				  G_CALLBACK
2157 				  (on_css_dialog_cancel_button_clicked),
2158 				  data);
2159 		g_signal_connect ((gpointer) okbutton, "clicked",
2160 				  G_CALLBACK
2161 				  (on_border_width_single_okbutton_clicked),
2162 				  data);
2163 	}
2164 
2165 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_single_properties_dialog,
2166 				    border_width_single_properties_dialog,
2167 				    "border_width_single_properties_dialog");
2168 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_single_properties_dialog,
2169 				    dialog_vbox, "dialog_vbox");
2170 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog, hbox,
2171 			     "hbox");
2172 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2173 			     label_property, "label_property");
2174 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2175 			     combo_selector, "combo_selector");
2176 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2177 			     combo_entry_selector, "combo_entry_selector");
2178 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2179 			     spinbutton_length, "spinbutton_length");
2180 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2181 			     combo__units, "combo__units");
2182 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2183 			     combo_entry_units, "combo_entry_units");
2184 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_single_properties_dialog,
2185 				    dialog_action_area, "dialog_action_area");
2186 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2187 			     helpbutton, "helpbutton");
2188 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog,
2189 			     cancelbutton, "cancelbutton");
2190 	GLADE_HOOKUP_OBJECT (border_width_single_properties_dialog, okbutton,
2191 			     "okbutton");
2192 
2193 	gtk_window_add_accel_group (GTK_WINDOW
2194 				    (border_width_single_properties_dialog),
2195 				    accel_group);
2196 
2197 	return border_width_single_properties_dialog;
2198 }
2199 
2200 GtkWidget *
create_counter_increment_reset_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)2201 create_counter_increment_reset_dialog (CssedWindow * window,
2202 				       gchar * previous_string,
2203 				       gboolean
2204 				       add_previous_string,
2205 				       gboolean connect_callbacks)
2206 {
2207 	GtkWidget *counter_increment_reset_dialog;
2208 	GtkWidget *dialog_vbox;
2209 	GtkWidget *vbox;
2210 	GtkWidget *hbox;
2211 	GtkWidget *label_counter_increment_reset_property;
2212 	GtkWidget *entry_counter_increment_reset_identifyer;
2213 	GtkWidget *label_blank;
2214 	GtkObject *spinbutton_counter_increment_reset_step_adj;
2215 	GtkWidget *spinbutton_counter_increment_reset_step;
2216 	GtkWidget *button_counter_increment_reset_add;
2217 	GtkWidget *button_counter_increment_reset_del;
2218 	GtkWidget *scrolledwindow;
2219 	GtkWidget *treeview;
2220 	GtkWidget *dialog_action_area;
2221 	GtkWidget *helpbutton;
2222 	GtkWidget *cancelbutton;
2223 	GtkWidget *okbutton;
2224 	GtkAccelGroup *accel_group;
2225 	GtkWidget *main_window;
2226 	CssedCssDialogsData *data = NULL;
2227 	GtkTreeViewColumn *col_identifier;
2228 	GtkTreeViewColumn *col_increment_index;
2229 	GtkCellRenderer *identifier_renderer;
2230 	GtkCellRenderer *increment_renderer;
2231 	GtkListStore *store;
2232 
2233 
2234 	if (connect_callbacks)
2235 	{
2236 		data = g_malloc (sizeof (CssedCssDialogsData));
2237 		data->main_window = window;
2238 		data->previous_string = previous_string;
2239 		data->add_property_string = add_previous_string;
2240 	}
2241 
2242 	accel_group = gtk_accel_group_new ();
2243 
2244 	counter_increment_reset_dialog = gtk_dialog_new ();
2245 	gtk_window_set_title (GTK_WINDOW (counter_increment_reset_dialog),
2246 			      previous_string);
2247 	gtk_window_set_modal (GTK_WINDOW (counter_increment_reset_dialog),
2248 			      TRUE);
2249 
2250 	main_window = cssed_window_get_window_widget( window );
2251 
2252 	gtk_window_set_transient_for (GTK_WINDOW
2253 				      (counter_increment_reset_dialog),
2254 				      GTK_WINDOW (main_window));
2255 
2256 	dialog_vbox = GTK_DIALOG (counter_increment_reset_dialog)->vbox;
2257 	gtk_widget_show (dialog_vbox);
2258 
2259 	vbox = gtk_vbox_new (FALSE, 0);
2260 	gtk_widget_show (vbox);
2261 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
2262 
2263 	hbox = gtk_hbox_new (FALSE, 0);
2264 	gtk_widget_show (hbox);
2265 	gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
2266 
2267 	label_counter_increment_reset_property =
2268 		gtk_label_new (previous_string);
2269 	gtk_widget_show (label_counter_increment_reset_property);
2270 	gtk_box_pack_start (GTK_BOX (hbox),
2271 			    label_counter_increment_reset_property, TRUE,
2272 			    TRUE, 0);
2273 	gtk_label_set_justify (GTK_LABEL
2274 			       (label_counter_increment_reset_property),
2275 			       GTK_JUSTIFY_LEFT);
2276 
2277 	entry_counter_increment_reset_identifyer = gtk_entry_new ();
2278 	gtk_widget_show (entry_counter_increment_reset_identifyer);
2279 	gtk_box_pack_start (GTK_BOX (hbox),
2280 			    entry_counter_increment_reset_identifyer, FALSE,
2281 			    FALSE, 5);
2282 
2283 	label_blank = gtk_label_new (" ");
2284 	gtk_widget_show (label_blank);
2285 	gtk_box_pack_start (GTK_BOX (hbox), label_blank, FALSE, FALSE, 0);
2286 	gtk_label_set_justify (GTK_LABEL (label_blank), GTK_JUSTIFY_LEFT);
2287 
2288 	spinbutton_counter_increment_reset_step_adj =
2289 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
2290 	spinbutton_counter_increment_reset_step =
2291 		gtk_spin_button_new (GTK_ADJUSTMENT
2292 				     (spinbutton_counter_increment_reset_step_adj),
2293 				     1, 0);
2294 	gtk_widget_show (spinbutton_counter_increment_reset_step);
2295 	gtk_box_pack_start (GTK_BOX (hbox),
2296 			    spinbutton_counter_increment_reset_step, FALSE,
2297 			    TRUE, 5);
2298 
2299 	button_counter_increment_reset_add =
2300 		gtk_button_new_from_stock ("gtk-add");
2301 	gtk_widget_show (button_counter_increment_reset_add);
2302 	gtk_box_pack_start (GTK_BOX (hbox),
2303 			    button_counter_increment_reset_add, FALSE, FALSE,
2304 			    4);
2305 	gtk_widget_add_accelerator (button_counter_increment_reset_add,
2306 				    "clicked", accel_group, GDK_A,
2307 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2308 
2309 	button_counter_increment_reset_del =
2310 		gtk_button_new_from_stock ("gtk-remove");
2311 	gtk_widget_show (button_counter_increment_reset_del);
2312 	gtk_box_pack_start (GTK_BOX (hbox),
2313 			    button_counter_increment_reset_del, FALSE, FALSE,
2314 			    0);
2315 	gtk_widget_add_accelerator (button_counter_increment_reset_del,
2316 				    "clicked", accel_group, GDK_Q,
2317 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2318 
2319 	scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
2320 	gtk_widget_show (scrolledwindow);
2321 	gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow, TRUE, TRUE, 0);
2322 	gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 5);
2323 	gtk_widget_set_size_request (scrolledwindow, -1, 125);
2324 
2325 	store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
2326 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
2327 	gtk_widget_show (treeview);
2328 	gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview);
2329 
2330 	identifier_renderer = gtk_cell_renderer_text_new ();
2331 	increment_renderer = gtk_cell_renderer_text_new ();
2332 
2333 	col_identifier =
2334 		gtk_tree_view_column_new_with_attributes ("Identifier",
2335 							  identifier_renderer,
2336 							  "text", 0, NULL);
2337 	col_increment_index =
2338 		gtk_tree_view_column_new_with_attributes ("Increment",
2339 							  increment_renderer,
2340 							  "text", 1, NULL);
2341 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview), col_identifier,
2342 				     0);
2343 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
2344 				     col_increment_index, 1);
2345 
2346 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
2347 
2348 	dialog_action_area =
2349 		GTK_DIALOG (counter_increment_reset_dialog)->action_area;
2350 	gtk_widget_show (dialog_action_area);
2351 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
2352 				   GTK_BUTTONBOX_END);
2353 
2354 	helpbutton = gtk_button_new_from_stock ("gtk-help");
2355 	gtk_widget_show (helpbutton);
2356 	gtk_dialog_add_action_widget (GTK_DIALOG
2357 				      (counter_increment_reset_dialog),
2358 				      helpbutton, GTK_RESPONSE_HELP);
2359 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
2360 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
2361 				    GDK_h, GDK_CONTROL_MASK,
2362 				    GTK_ACCEL_VISIBLE);
2363 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_y,
2364 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2365 
2366 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
2367 	gtk_widget_show (cancelbutton);
2368 	gtk_dialog_add_action_widget (GTK_DIALOG
2369 				      (counter_increment_reset_dialog),
2370 				      cancelbutton, GTK_RESPONSE_CANCEL);
2371 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
2372 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
2373 				    GDK_c, GDK_CONTROL_MASK,
2374 				    GTK_ACCEL_VISIBLE);
2375 
2376 	okbutton = gtk_button_new_from_stock ("gtk-ok");
2377 	gtk_widget_show (okbutton);
2378 	gtk_dialog_add_action_widget (GTK_DIALOG
2379 				      (counter_increment_reset_dialog),
2380 				      okbutton, GTK_RESPONSE_OK);
2381 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
2382 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
2383 				    GDK_O, GDK_CONTROL_MASK,
2384 				    GTK_ACCEL_VISIBLE);
2385 	if (connect_callbacks)
2386 	{
2387 		g_signal_connect ((gpointer) counter_increment_reset_dialog,
2388 				  "close", G_CALLBACK (on_css_dialog_close),
2389 				  data);
2390 
2391 		g_signal_connect ((gpointer) helpbutton, "clicked",
2392 				  G_CALLBACK
2393 				  (on_dialog_counter_increment_reset_helpbutton_clicked),
2394 				  NULL);
2395 		g_signal_connect ((gpointer) cancelbutton, "clicked",
2396 				  G_CALLBACK
2397 				  (on_css_dialog_cancel_button_clicked),
2398 				  data);
2399 		g_signal_connect ((gpointer) okbutton, "clicked",
2400 				  G_CALLBACK
2401 				  (on_dialog_counter_increment_reset_okbutton_clicked),
2402 				  data);
2403 	}
2404 
2405 	g_signal_connect ((gpointer) button_counter_increment_reset_add,
2406 			  "clicked",
2407 			  G_CALLBACK
2408 			  (on_button_counter_increment_reset_add_clicked),
2409 			  store);
2410 	g_signal_connect ((gpointer) button_counter_increment_reset_del,
2411 			  "clicked",
2412 			  G_CALLBACK
2413 			  (on_button_counter_increment_reset_del_clicked),
2414 			  store);
2415 
2416 	GLADE_HOOKUP_OBJECT_NO_REF (counter_increment_reset_dialog,
2417 				    counter_increment_reset_dialog,
2418 				    "counter_increment_reset_dialog");
2419 	GLADE_HOOKUP_OBJECT_NO_REF (counter_increment_reset_dialog,
2420 				    dialog_vbox, "dialog_vbox");
2421 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, vbox, "vbox");
2422 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, hbox, "hbox");
2423 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog,
2424 			     label_counter_increment_reset_property,
2425 			     "label_counter_increment_reset_property");
2426 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog,
2427 			     entry_counter_increment_reset_identifyer,
2428 			     "entry_counter_increment_reset_identifyer");
2429 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, label_blank,
2430 			     "label_blank");
2431 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog,
2432 			     spinbutton_counter_increment_reset_step,
2433 			     "spinbutton_counter_increment_reset_step");
2434 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog,
2435 			     button_counter_increment_reset_add,
2436 			     "button_counter_increment_reset_add");
2437 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog,
2438 			     button_counter_increment_reset_del,
2439 			     "button_counter_increment_reset_del");
2440 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, scrolledwindow,
2441 			     "scrolledwindow");
2442 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, treeview,
2443 			     "treeview");
2444 	GLADE_HOOKUP_OBJECT_NO_REF (counter_increment_reset_dialog,
2445 				    dialog_action_area, "dialog_action_area");
2446 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, helpbutton,
2447 			     "helpbutton");
2448 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, cancelbutton,
2449 			     "cancelbutton");
2450 	GLADE_HOOKUP_OBJECT (counter_increment_reset_dialog, okbutton,
2451 			     "okbutton");
2452 
2453 	gtk_window_add_accel_group (GTK_WINDOW
2454 				    (counter_increment_reset_dialog),
2455 				    accel_group);
2456 
2457 	return counter_increment_reset_dialog;
2458 }
2459 
2460 GtkWidget *
create_string_properties_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)2461 create_string_properties_dialog (CssedWindow * window,
2462 				 gchar * previous_string,
2463 				 gboolean add_previous_string,
2464 				 gboolean connect_callbacks)
2465 {
2466 	GtkWidget *string_properties_dialog;
2467 	GtkWidget *dialog_vbox;
2468 	GtkWidget *hbox;
2469 	GtkWidget *label_property;
2470 	GtkWidget *entry_string_property_dialog;
2471 	GtkWidget *dialog_action_area;
2472 	GtkWidget *helpbutton;
2473 	GtkWidget *cancelbutton;
2474 	GtkWidget *okbutton;
2475 	GtkAccelGroup *accel_group;
2476 	GtkWidget *main_window;
2477 	CssedCssDialogsData *data = NULL;
2478 
2479 	if (connect_callbacks)
2480 	{
2481 		data = g_malloc (sizeof (CssedCssDialogsData));
2482 		data->main_window = window;
2483 		data->previous_string = previous_string;
2484 		data->add_property_string = add_previous_string;
2485 	}
2486 
2487 
2488 	accel_group = gtk_accel_group_new ();
2489 
2490 	string_properties_dialog = gtk_dialog_new ();
2491 	gtk_window_set_title (GTK_WINDOW (string_properties_dialog),
2492 			      previous_string);
2493 	gtk_window_set_modal (GTK_WINDOW (string_properties_dialog), TRUE);
2494 
2495 	main_window = cssed_window_get_window_widget( window );
2496 
2497 	gtk_window_set_transient_for (GTK_WINDOW (string_properties_dialog),
2498 				      GTK_WINDOW (main_window));
2499 
2500 	dialog_vbox = GTK_DIALOG (string_properties_dialog)->vbox;
2501 	gtk_widget_show (dialog_vbox);
2502 
2503 	hbox = gtk_hbox_new (TRUE, 0);
2504 	gtk_widget_show (hbox);
2505 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
2506 
2507 	label_property = gtk_label_new (previous_string);
2508 	gtk_widget_show (label_property);
2509 	gtk_box_pack_start (GTK_BOX (hbox), label_property, TRUE, TRUE, 0);
2510 	gtk_label_set_justify (GTK_LABEL (label_property), GTK_JUSTIFY_LEFT);
2511 
2512 	entry_string_property_dialog = gtk_entry_new ();
2513 	gtk_widget_show (entry_string_property_dialog);
2514 	gtk_box_pack_start (GTK_BOX (hbox), entry_string_property_dialog,
2515 			    TRUE, TRUE, 5);
2516 	gtk_entry_set_activates_default (GTK_ENTRY
2517 					 (entry_string_property_dialog),
2518 					 TRUE);
2519 
2520 	dialog_action_area =
2521 		GTK_DIALOG (string_properties_dialog)->action_area;
2522 	gtk_widget_show (dialog_action_area);
2523 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
2524 				   GTK_BUTTONBOX_END);
2525 
2526 	helpbutton = gtk_button_new_from_stock ("gtk-help");
2527 	gtk_widget_show (helpbutton);
2528 	gtk_dialog_add_action_widget (GTK_DIALOG (string_properties_dialog),
2529 				      helpbutton, GTK_RESPONSE_HELP);
2530 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
2531 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
2532 				    GDK_y, GDK_CONTROL_MASK,
2533 				    GTK_ACCEL_VISIBLE);
2534 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
2535 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2536 
2537 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
2538 	gtk_widget_show (cancelbutton);
2539 	gtk_dialog_add_action_widget (GTK_DIALOG (string_properties_dialog),
2540 				      cancelbutton, GTK_RESPONSE_CANCEL);
2541 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
2542 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
2543 				    GDK_c, GDK_CONTROL_MASK,
2544 				    GTK_ACCEL_VISIBLE);
2545 
2546 	okbutton = gtk_button_new_from_stock ("gtk-ok");
2547 	gtk_widget_show (okbutton);
2548 	gtk_dialog_add_action_widget (GTK_DIALOG (string_properties_dialog),
2549 				      okbutton, GTK_RESPONSE_OK);
2550 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
2551 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
2552 				    GDK_o, GDK_CONTROL_MASK,
2553 				    GTK_ACCEL_VISIBLE);
2554 	if (connect_callbacks)
2555 	{
2556 		g_signal_connect ((gpointer) string_properties_dialog,
2557 				  "close", G_CALLBACK (on_css_dialog_close),
2558 				  data);
2559 
2560 		g_signal_connect ((gpointer) helpbutton, "clicked",
2561 				  G_CALLBACK
2562 				  (on_string_properties_dialog_helpbutton_clicked),
2563 				  NULL);
2564 		g_signal_connect ((gpointer) cancelbutton, "clicked",
2565 				  G_CALLBACK
2566 				  (on_css_dialog_cancel_button_clicked),
2567 				  data);
2568 		g_signal_connect ((gpointer) okbutton, "clicked",
2569 				  G_CALLBACK
2570 				  (on_string_properties_dialog_okbutton_clicked),
2571 				  data);
2572 	}
2573 
2574 	GLADE_HOOKUP_OBJECT_NO_REF (string_properties_dialog,
2575 				    string_properties_dialog,
2576 				    "string_properties_dialog");
2577 	GLADE_HOOKUP_OBJECT_NO_REF (string_properties_dialog, dialog_vbox,
2578 				    "dialog_vbox");
2579 	GLADE_HOOKUP_OBJECT (string_properties_dialog, hbox, "hbox");
2580 	GLADE_HOOKUP_OBJECT (string_properties_dialog, label_property,
2581 			     "label_property");
2582 	GLADE_HOOKUP_OBJECT (string_properties_dialog,
2583 			     entry_string_property_dialog,
2584 			     "entry_string_property_dialog");
2585 	GLADE_HOOKUP_OBJECT_NO_REF (string_properties_dialog,
2586 				    dialog_action_area, "dialog_action_area");
2587 	GLADE_HOOKUP_OBJECT (string_properties_dialog, helpbutton,
2588 			     "helpbutton");
2589 	GLADE_HOOKUP_OBJECT (string_properties_dialog, cancelbutton,
2590 			     "cancelbutton");
2591 	GLADE_HOOKUP_OBJECT (string_properties_dialog, okbutton, "okbutton");
2592 
2593 	gtk_window_add_accel_group (GTK_WINDOW (string_properties_dialog),
2594 				    accel_group);
2595 
2596 	return string_properties_dialog;
2597 }
2598 
2599 GtkWidget *
create_uri_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)2600 create_uri_value_dialog (CssedWindow * window,
2601 			 gchar * previous_string,
2602 			 gboolean add_previous_string,
2603 			 gboolean connect_callbacks)
2604 {
2605 	GtkWidget *uri_value_dialog;
2606 	GtkWidget *dialog_vbox;
2607 	GtkWidget *hbox26;
2608 	GtkWidget *label_uri;
2609 	GtkWidget *entry_uri_value_dialog;
2610 	GtkWidget *dialog_action_area;
2611 	GtkWidget *helpbutton;
2612 	GtkWidget *cancelbutton;
2613 	GtkWidget *okbutton;
2614 	GtkAccelGroup *accel_group;
2615 	GtkWidget *main_window;
2616 	CssedCssDialogsData *data = NULL;
2617 
2618 	if (connect_callbacks)
2619 	{
2620 		data = g_malloc (sizeof (CssedCssDialogsData));
2621 		data->main_window = window;
2622 		data->previous_string = previous_string;
2623 		data->add_property_string = add_previous_string;
2624 	}
2625 
2626 	accel_group = gtk_accel_group_new ();
2627 
2628 	uri_value_dialog = gtk_dialog_new ();
2629 	gtk_window_set_title (GTK_WINDOW (uri_value_dialog), previous_string);
2630 	gtk_window_set_modal (GTK_WINDOW (uri_value_dialog), TRUE);
2631 
2632 	main_window = cssed_window_get_window_widget( window );
2633 
2634 	gtk_window_set_transient_for (GTK_WINDOW (uri_value_dialog),
2635 				      GTK_WINDOW (main_window));
2636 
2637 	dialog_vbox = GTK_DIALOG (uri_value_dialog)->vbox;
2638 	gtk_widget_show (dialog_vbox);
2639 
2640 	hbox26 = gtk_hbox_new (FALSE, 0);
2641 	gtk_widget_show (hbox26);
2642 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox26, TRUE, TRUE, 0);
2643 
2644 	label_uri = gtk_label_new (_("uri"));
2645 	gtk_widget_show (label_uri);
2646 	gtk_box_pack_start (GTK_BOX (hbox26), label_uri, TRUE, TRUE, 0);
2647 	gtk_label_set_justify (GTK_LABEL (label_uri), GTK_JUSTIFY_LEFT);
2648 
2649 	entry_uri_value_dialog = gtk_entry_new ();
2650 	gtk_widget_show (entry_uri_value_dialog);
2651 	gtk_box_pack_start (GTK_BOX (hbox26), entry_uri_value_dialog, TRUE,
2652 			    TRUE, 5);
2653 	gtk_entry_set_activates_default (GTK_ENTRY (entry_uri_value_dialog),
2654 					 TRUE);
2655 
2656 	dialog_action_area = GTK_DIALOG (uri_value_dialog)->action_area;
2657 	gtk_widget_show (dialog_action_area);
2658 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
2659 				   GTK_BUTTONBOX_END);
2660 
2661 	helpbutton = gtk_button_new_from_stock ("gtk-help");
2662 	gtk_widget_show (helpbutton);
2663 	gtk_dialog_add_action_widget (GTK_DIALOG (uri_value_dialog),
2664 				      helpbutton, GTK_RESPONSE_HELP);
2665 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
2666 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
2667 				    GDK_y, GDK_CONTROL_MASK,
2668 				    GTK_ACCEL_VISIBLE);
2669 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
2670 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2671 
2672 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
2673 	gtk_widget_show (cancelbutton);
2674 	gtk_dialog_add_action_widget (GTK_DIALOG (uri_value_dialog),
2675 				      cancelbutton, GTK_RESPONSE_CANCEL);
2676 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
2677 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
2678 				    GDK_c, GDK_CONTROL_MASK,
2679 				    GTK_ACCEL_VISIBLE);
2680 
2681 	okbutton = gtk_button_new_from_stock ("gtk-ok");
2682 	gtk_widget_show (okbutton);
2683 	gtk_dialog_add_action_widget (GTK_DIALOG (uri_value_dialog), okbutton,
2684 				      GTK_RESPONSE_OK);
2685 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
2686 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
2687 				    GDK_o, GDK_CONTROL_MASK,
2688 				    GTK_ACCEL_VISIBLE);
2689 	if (connect_callbacks)
2690 	{
2691 		g_signal_connect ((gpointer) uri_value_dialog, "close",
2692 				  G_CALLBACK (on_css_dialog_close), data);
2693 
2694 		g_signal_connect ((gpointer) helpbutton, "clicked",
2695 				  G_CALLBACK
2696 				  (on_uri_value_dialog_helpbutton_clicked),
2697 				  NULL);
2698 		g_signal_connect ((gpointer) cancelbutton, "clicked",
2699 				  G_CALLBACK
2700 				  (on_css_dialog_cancel_button_clicked),
2701 				  data);
2702 		g_signal_connect ((gpointer) okbutton, "clicked",
2703 				  G_CALLBACK
2704 				  (on_uri_value_dialog_okbutton_clicked),
2705 				  data);
2706 	}
2707 	GLADE_HOOKUP_OBJECT_NO_REF (uri_value_dialog, uri_value_dialog,
2708 				    "uri_value_dialog");
2709 	GLADE_HOOKUP_OBJECT_NO_REF (uri_value_dialog, dialog_vbox,
2710 				    "dialog_vbox");
2711 	GLADE_HOOKUP_OBJECT (uri_value_dialog, hbox26, "hbox26");
2712 	GLADE_HOOKUP_OBJECT (uri_value_dialog, label_uri, "label_uri");
2713 	GLADE_HOOKUP_OBJECT (uri_value_dialog, entry_uri_value_dialog,
2714 			     "entry_uri_value_dialog");
2715 	GLADE_HOOKUP_OBJECT_NO_REF (uri_value_dialog, dialog_action_area,
2716 				    "dialog_action_area");
2717 	GLADE_HOOKUP_OBJECT (uri_value_dialog, helpbutton, "helpbutton");
2718 	GLADE_HOOKUP_OBJECT (uri_value_dialog, cancelbutton, "cancelbutton");
2719 	GLADE_HOOKUP_OBJECT (uri_value_dialog, okbutton, "okbutton");
2720 
2721 	gtk_window_add_accel_group (GTK_WINDOW (uri_value_dialog),
2722 				    accel_group);
2723 
2724 	return uri_value_dialog;
2725 }
2726 
2727 GtkWidget *
create_attr_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)2728 create_attr_value_dialog (CssedWindow * window,
2729 			  gchar * previous_string,
2730 			  gboolean add_previous_string,
2731 			  gboolean connect_callbacks)
2732 {
2733 	GtkWidget *attr_value_dialog;
2734 	GtkWidget *dialog_vbox;
2735 	GtkWidget *hbox;
2736 	GtkWidget *label_attribute;
2737 	GtkWidget *entry_attribute_value_dialog;
2738 	GtkWidget *dialog_action_area;
2739 	GtkWidget *helpbutton;
2740 	GtkWidget *cancelbutton;
2741 	GtkWidget *okbutton;
2742 	GtkAccelGroup *accel_group;
2743 	GtkWidget *main_window;
2744 	CssedCssDialogsData *data = NULL;
2745 
2746 	if (connect_callbacks)
2747 	{
2748 		data = g_malloc (sizeof (CssedCssDialogsData));
2749 		data->main_window = window;
2750 		data->previous_string = previous_string;
2751 		data->add_property_string = add_previous_string;
2752 	}
2753 
2754 	accel_group = gtk_accel_group_new ();
2755 
2756 	attr_value_dialog = gtk_dialog_new ();
2757 	gtk_window_set_title (GTK_WINDOW (attr_value_dialog),
2758 			      previous_string);
2759 	gtk_window_set_modal (GTK_WINDOW (attr_value_dialog), TRUE);
2760 
2761 	main_window = cssed_window_get_window_widget( window );
2762 
2763 	gtk_window_set_transient_for (GTK_WINDOW (attr_value_dialog),
2764 				      GTK_WINDOW (main_window));
2765 
2766 	dialog_vbox = GTK_DIALOG (attr_value_dialog)->vbox;
2767 	gtk_widget_show (dialog_vbox);
2768 
2769 	hbox = gtk_hbox_new (FALSE, 0);
2770 	gtk_widget_show (hbox);
2771 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
2772 
2773 	label_attribute = gtk_label_new (_("Attribute"));
2774 	gtk_widget_show (label_attribute);
2775 	gtk_box_pack_start (GTK_BOX (hbox), label_attribute, TRUE, TRUE, 0);
2776 	gtk_label_set_justify (GTK_LABEL (label_attribute), GTK_JUSTIFY_LEFT);
2777 
2778 	entry_attribute_value_dialog = gtk_entry_new ();
2779 	gtk_widget_show (entry_attribute_value_dialog);
2780 	gtk_box_pack_start (GTK_BOX (hbox), entry_attribute_value_dialog,
2781 			    TRUE, TRUE, 4);
2782 	gtk_entry_set_activates_default (GTK_ENTRY
2783 					 (entry_attribute_value_dialog),
2784 					 TRUE);
2785 
2786 	dialog_action_area = GTK_DIALOG (attr_value_dialog)->action_area;
2787 	gtk_widget_show (dialog_action_area);
2788 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
2789 				   GTK_BUTTONBOX_END);
2790 
2791 	helpbutton = gtk_button_new_from_stock ("gtk-help");
2792 	gtk_widget_show (helpbutton);
2793 	gtk_dialog_add_action_widget (GTK_DIALOG (attr_value_dialog),
2794 				      helpbutton, GTK_RESPONSE_HELP);
2795 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
2796 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
2797 				    GDK_y, GDK_CONTROL_MASK,
2798 				    GTK_ACCEL_VISIBLE);
2799 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
2800 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
2801 
2802 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
2803 	gtk_widget_show (cancelbutton);
2804 	gtk_dialog_add_action_widget (GTK_DIALOG (attr_value_dialog),
2805 				      cancelbutton, GTK_RESPONSE_CANCEL);
2806 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
2807 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
2808 				    GDK_c, GDK_CONTROL_MASK,
2809 				    GTK_ACCEL_VISIBLE);
2810 
2811 	okbutton = gtk_button_new_from_stock ("gtk-ok");
2812 	gtk_widget_show (okbutton);
2813 	gtk_dialog_add_action_widget (GTK_DIALOG (attr_value_dialog),
2814 				      okbutton, GTK_RESPONSE_OK);
2815 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
2816 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
2817 				    GDK_o, GDK_CONTROL_MASK,
2818 				    GTK_ACCEL_VISIBLE);
2819 	if (connect_callbacks)
2820 	{
2821 		g_signal_connect ((gpointer) attr_value_dialog, "close",
2822 				  G_CALLBACK (on_css_dialog_close), data);
2823 
2824 		g_signal_connect ((gpointer) helpbutton, "clicked",
2825 				  G_CALLBACK
2826 				  (on_attr_value_dialog_helpbutton_clicked),
2827 				  NULL);
2828 		g_signal_connect ((gpointer) cancelbutton, "clicked",
2829 				  G_CALLBACK
2830 				  (on_css_dialog_cancel_button_clicked),
2831 				  data);
2832 		g_signal_connect ((gpointer) okbutton, "clicked",
2833 				  G_CALLBACK
2834 				  (on_attr_value_dialog_okbutton_clicked),
2835 				  data);
2836 	}
2837 
2838 	GLADE_HOOKUP_OBJECT_NO_REF (attr_value_dialog, attr_value_dialog,
2839 				    "attr_value_dialog");
2840 	GLADE_HOOKUP_OBJECT_NO_REF (attr_value_dialog, dialog_vbox,
2841 				    "dialog_vbox");
2842 	GLADE_HOOKUP_OBJECT (attr_value_dialog, hbox, "hbox");
2843 	GLADE_HOOKUP_OBJECT (attr_value_dialog, label_attribute,
2844 			     "label_attribute");
2845 	GLADE_HOOKUP_OBJECT (attr_value_dialog, entry_attribute_value_dialog,
2846 			     "entry_attribute_value_dialog");
2847 	GLADE_HOOKUP_OBJECT_NO_REF (attr_value_dialog, dialog_action_area,
2848 				    "dialog_action_area");
2849 	GLADE_HOOKUP_OBJECT (attr_value_dialog, helpbutton, "helpbutton");
2850 	GLADE_HOOKUP_OBJECT (attr_value_dialog, cancelbutton, "cancelbutton");
2851 	GLADE_HOOKUP_OBJECT (attr_value_dialog, okbutton, "okbutton");
2852 
2853 	gtk_window_add_accel_group (GTK_WINDOW (attr_value_dialog),
2854 				    accel_group);
2855 
2856 	return attr_value_dialog;
2857 }
2858 
2859 GtkWidget *
create_counter_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)2860 create_counter_property_dialog (CssedWindow * window,
2861 				gchar * previous_string,
2862 				gboolean add_previous_string,
2863 				gboolean connect_callbacks)
2864 {
2865 	GtkWidget *counter_property_dialog;
2866 	GtkWidget *dialog_vbox;
2867 	GtkWidget *vbox_main;
2868 	GtkWidget *hbox_counter;
2869 	GtkWidget *label_counter;
2870 	GtkWidget *entry_counter_identifier;
2871 	GtkWidget *hbox_after;
2872 	GtkWidget *checkbutton_after;
2873 	GtkWidget *entry_string_after;
2874 	GtkWidget *hbox_before;
2875 	GtkWidget *checkbutton_before;
2876 	GtkWidget *entry_string_before;
2877 	GtkWidget *hbox_list_style;
2878 	GtkWidget *checkbutton_list_style_tyle;
2879 	GtkWidget *combo_list_style;
2880 	GList *combo_list_style_items = NULL;
2881 	GtkWidget *combo_entry_list_style_type;
2882 	GtkWidget *dialog_action_area;
2883 	GtkWidget *helpbutton;
2884 	GtkWidget *cancelbutton;
2885 	GtkWidget *okbutton;
2886 	GtkAccelGroup *accel_group;
2887 	GtkWidget *main_window;
2888 	CssedCssDialogsData *data = NULL;
2889 
2890 	if (connect_callbacks)
2891 	{
2892 		data = g_malloc (sizeof (CssedCssDialogsData));
2893 		data->main_window = window;
2894 		data->previous_string = previous_string;
2895 		data->add_property_string = add_previous_string;
2896 	}
2897 
2898 
2899 	accel_group = gtk_accel_group_new ();
2900 
2901 	counter_property_dialog = gtk_dialog_new ();
2902 	gtk_window_set_title (GTK_WINDOW (counter_property_dialog),
2903 			      previous_string);
2904 	gtk_window_set_modal (GTK_WINDOW (counter_property_dialog), TRUE);
2905 
2906 	main_window = cssed_window_get_window_widget( window );
2907 
2908 	gtk_window_set_transient_for (GTK_WINDOW (counter_property_dialog),
2909 				      GTK_WINDOW (main_window));
2910 
2911 	dialog_vbox = GTK_DIALOG (counter_property_dialog)->vbox;
2912 	gtk_widget_show (dialog_vbox);
2913 
2914 	vbox_main = gtk_vbox_new (FALSE, 0);
2915 	gtk_widget_show (vbox_main);
2916 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox_main, TRUE, TRUE, 0);
2917 
2918 	hbox_counter = gtk_hbox_new (TRUE, 0);
2919 	gtk_widget_show (hbox_counter);
2920 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_counter, TRUE, TRUE, 0);
2921 
2922 	label_counter = gtk_label_new (_("Counter identifier"));
2923 	gtk_widget_show (label_counter);
2924 	gtk_box_pack_start (GTK_BOX (hbox_counter), label_counter, TRUE, TRUE,
2925 			    0);
2926 	gtk_label_set_justify (GTK_LABEL (label_counter), GTK_JUSTIFY_LEFT);
2927 
2928 	entry_counter_identifier = gtk_entry_new ();
2929 	gtk_widget_show (entry_counter_identifier);
2930 	gtk_box_pack_start (GTK_BOX (hbox_counter), entry_counter_identifier,
2931 			    TRUE, TRUE, 5);
2932 
2933 	hbox_after = gtk_hbox_new (TRUE, 0);
2934 	gtk_widget_show (hbox_after);
2935 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_after, TRUE, TRUE, 0);
2936 
2937 	checkbutton_after =
2938 		gtk_check_button_new_with_mnemonic (_("String after"));
2939 	gtk_widget_show (checkbutton_after);
2940 	gtk_box_pack_start (GTK_BOX (hbox_after), checkbutton_after, TRUE,
2941 			    TRUE, 5);
2942 
2943 	entry_string_after = gtk_entry_new ();
2944 	gtk_widget_show (entry_string_after);
2945 	gtk_box_pack_start (GTK_BOX (hbox_after), entry_string_after, TRUE,
2946 			    TRUE, 5);
2947 
2948 	hbox_before = gtk_hbox_new (TRUE, 0);
2949 	gtk_widget_show (hbox_before);
2950 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_before, TRUE, TRUE, 0);
2951 
2952 	checkbutton_before =
2953 		gtk_check_button_new_with_mnemonic (_("String before"));
2954 	gtk_widget_show (checkbutton_before);
2955 	gtk_box_pack_start (GTK_BOX (hbox_before), checkbutton_before, TRUE,
2956 			    TRUE, 5);
2957 
2958 	entry_string_before = gtk_entry_new ();
2959 	gtk_widget_show (entry_string_before);
2960 	gtk_box_pack_start (GTK_BOX (hbox_before), entry_string_before, TRUE,
2961 			    TRUE, 5);
2962 
2963 	hbox_list_style = gtk_hbox_new (TRUE, 0);
2964 	gtk_widget_show (hbox_list_style);
2965 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_list_style, TRUE, TRUE,
2966 			    0);
2967 
2968 	checkbutton_list_style_tyle =
2969 		gtk_check_button_new_with_mnemonic (_("list style type"));
2970 	gtk_widget_show (checkbutton_list_style_tyle);
2971 	gtk_box_pack_start (GTK_BOX (hbox_list_style),
2972 			    checkbutton_list_style_tyle, TRUE, TRUE, 5);
2973 
2974 	combo_list_style = gtk_combo_new ();
2975 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_list_style)->popwin),
2976 			   "GladeParentKey", combo_list_style);
2977 	gtk_widget_show (combo_list_style);
2978 	gtk_box_pack_start (GTK_BOX (hbox_list_style), combo_list_style, TRUE,
2979 			    TRUE, 5);
2980 	combo_list_style_items =
2981 		g_list_append (combo_list_style_items, (gpointer) "disc");
2982 	combo_list_style_items =
2983 		g_list_append (combo_list_style_items, (gpointer) "circle");
2984 	combo_list_style_items =
2985 		g_list_append (combo_list_style_items, (gpointer) "square");
2986 	combo_list_style_items =
2987 		g_list_append (combo_list_style_items, (gpointer) "decimal");
2988 	combo_list_style_items =
2989 		g_list_append (combo_list_style_items,
2990 			       (gpointer) "decimal-leading-zero");
2991 	combo_list_style_items =
2992 		g_list_append (combo_list_style_items,
2993 			       (gpointer) "lower-roman ");
2994 	combo_list_style_items =
2995 		g_list_append (combo_list_style_items,
2996 			       (gpointer) "upper-roman");
2997 	combo_list_style_items =
2998 		g_list_append (combo_list_style_items,
2999 			       (gpointer) "lower-greek");
3000 	combo_list_style_items =
3001 		g_list_append (combo_list_style_items,
3002 			       (gpointer) "lower-alpha");
3003 	combo_list_style_items =
3004 		g_list_append (combo_list_style_items,
3005 			       (gpointer) "lower-latin");
3006 	combo_list_style_items =
3007 		g_list_append (combo_list_style_items,
3008 			       (gpointer) "upper-alpha");
3009 	combo_list_style_items =
3010 		g_list_append (combo_list_style_items,
3011 			       (gpointer) "upper-latin");
3012 	combo_list_style_items =
3013 		g_list_append (combo_list_style_items, (gpointer) "hebrew");
3014 	combo_list_style_items =
3015 		g_list_append (combo_list_style_items, (gpointer) "armenian");
3016 	combo_list_style_items =
3017 		g_list_append (combo_list_style_items, (gpointer) "georgian");
3018 	combo_list_style_items =
3019 		g_list_append (combo_list_style_items,
3020 			       (gpointer) "cjk-ideographic");
3021 	combo_list_style_items =
3022 		g_list_append (combo_list_style_items, (gpointer) "hiragana");
3023 	combo_list_style_items =
3024 		g_list_append (combo_list_style_items, (gpointer) "katakana");
3025 	combo_list_style_items =
3026 		g_list_append (combo_list_style_items,
3027 			       (gpointer) "hiragana-iroha ");
3028 	combo_list_style_items =
3029 		g_list_append (combo_list_style_items,
3030 			       (gpointer) "katakana-iroha");
3031 	combo_list_style_items =
3032 		g_list_append (combo_list_style_items, (gpointer) "none");
3033 	combo_list_style_items =
3034 		g_list_append (combo_list_style_items, (gpointer) "inherit");
3035 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_list_style),
3036 				       combo_list_style_items);
3037 	g_list_free (combo_list_style_items);
3038 
3039 	combo_entry_list_style_type = GTK_COMBO (combo_list_style)->entry;
3040 	gtk_widget_show (combo_entry_list_style_type);
3041 	gtk_entry_set_text (GTK_ENTRY (combo_entry_list_style_type), "disc");
3042 
3043 	dialog_action_area =
3044 		GTK_DIALOG (counter_property_dialog)->action_area;
3045 	gtk_widget_show (dialog_action_area);
3046 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
3047 				   GTK_BUTTONBOX_END);
3048 
3049 	helpbutton = gtk_button_new_from_stock ("gtk-help");
3050 	gtk_widget_show (helpbutton);
3051 	gtk_dialog_add_action_widget (GTK_DIALOG (counter_property_dialog),
3052 				      helpbutton, GTK_RESPONSE_HELP);
3053 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
3054 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
3055 				    GDK_y, GDK_CONTROL_MASK,
3056 				    GTK_ACCEL_VISIBLE);
3057 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
3058 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
3059 
3060 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
3061 	gtk_widget_show (cancelbutton);
3062 	gtk_dialog_add_action_widget (GTK_DIALOG (counter_property_dialog),
3063 				      cancelbutton, GTK_RESPONSE_CANCEL);
3064 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
3065 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
3066 				    GDK_c, GDK_CONTROL_MASK,
3067 				    GTK_ACCEL_VISIBLE);
3068 
3069 	okbutton = gtk_button_new_from_stock ("gtk-ok");
3070 	gtk_widget_show (okbutton);
3071 	gtk_dialog_add_action_widget (GTK_DIALOG (counter_property_dialog),
3072 				      okbutton, GTK_RESPONSE_OK);
3073 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
3074 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
3075 				    GDK_o, GDK_CONTROL_MASK,
3076 				    GTK_ACCEL_VISIBLE);
3077 	if (connect_callbacks)
3078 	{
3079 		g_signal_connect ((gpointer) counter_property_dialog, "close",
3080 				  G_CALLBACK (on_css_dialog_close), data);
3081 
3082 		g_signal_connect ((gpointer) helpbutton, "clicked",
3083 				  G_CALLBACK
3084 				  (on_counter_property_dialog_helpbutton_clicked),
3085 				  NULL);
3086 		g_signal_connect ((gpointer) cancelbutton, "clicked",
3087 				  G_CALLBACK
3088 				  (on_css_dialog_cancel_button_clicked),
3089 				  data);
3090 		g_signal_connect ((gpointer) okbutton, "clicked",
3091 				  G_CALLBACK
3092 				  (on_counter_property_dialog_okbutton_clicked),
3093 				  data);
3094 	}
3095 
3096 	GLADE_HOOKUP_OBJECT_NO_REF (counter_property_dialog,
3097 				    counter_property_dialog,
3098 				    "counter_property_dialog");
3099 	GLADE_HOOKUP_OBJECT_NO_REF (counter_property_dialog, dialog_vbox,
3100 				    "dialog_vbox");
3101 	GLADE_HOOKUP_OBJECT (counter_property_dialog, vbox_main, "vbox_main");
3102 	GLADE_HOOKUP_OBJECT (counter_property_dialog, hbox_counter,
3103 			     "hbox_counter");
3104 	GLADE_HOOKUP_OBJECT (counter_property_dialog, label_counter,
3105 			     "label_counter");
3106 	GLADE_HOOKUP_OBJECT (counter_property_dialog,
3107 			     entry_counter_identifier,
3108 			     "entry_counter_identifier");
3109 	GLADE_HOOKUP_OBJECT (counter_property_dialog, hbox_after,
3110 			     "hbox_after");
3111 	GLADE_HOOKUP_OBJECT (counter_property_dialog, checkbutton_after,
3112 			     "checkbutton_after");
3113 	GLADE_HOOKUP_OBJECT (counter_property_dialog, entry_string_after,
3114 			     "entry_string_after");
3115 	GLADE_HOOKUP_OBJECT (counter_property_dialog, hbox_before,
3116 			     "hbox_before");
3117 	GLADE_HOOKUP_OBJECT (counter_property_dialog, checkbutton_before,
3118 			     "checkbutton_before");
3119 	GLADE_HOOKUP_OBJECT (counter_property_dialog, entry_string_before,
3120 			     "entry_string_before");
3121 	GLADE_HOOKUP_OBJECT (counter_property_dialog, hbox_list_style,
3122 			     "hbox_list_style");
3123 	GLADE_HOOKUP_OBJECT (counter_property_dialog,
3124 			     checkbutton_list_style_tyle,
3125 			     "checkbutton_list_style_tyle");
3126 	GLADE_HOOKUP_OBJECT (counter_property_dialog, combo_list_style,
3127 			     "combo_list_style");
3128 	GLADE_HOOKUP_OBJECT (counter_property_dialog,
3129 			     combo_entry_list_style_type,
3130 			     "combo_entry_list_style_type");
3131 	GLADE_HOOKUP_OBJECT_NO_REF (counter_property_dialog,
3132 				    dialog_action_area, "dialog_action_area");
3133 	GLADE_HOOKUP_OBJECT (counter_property_dialog, helpbutton,
3134 			     "helpbutton");
3135 	GLADE_HOOKUP_OBJECT (counter_property_dialog, cancelbutton,
3136 			     "cancelbutton");
3137 	GLADE_HOOKUP_OBJECT (counter_property_dialog, okbutton, "okbutton");
3138 
3139 	gtk_window_add_accel_group (GTK_WINDOW (counter_property_dialog),
3140 				    accel_group);
3141 
3142 	return counter_property_dialog;
3143 }
3144 
3145 GtkWidget *
create_font_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)3146 create_font_property_dialog (CssedWindow * window,
3147 			     gchar * previous_string,
3148 			     gboolean add_previous_string,
3149 			     gboolean connect_callbacks)
3150 {
3151 	GtkWidget *font_property_dialog;
3152 	GtkWidget *dialog_vbox;
3153 	GtkWidget *vbox_main;
3154 	GtkWidget *hbox_system_fonts;
3155 	GtkWidget *radiobutton_system_fonts;
3156 	GSList *radiobutton_system_fonts_group = NULL;
3157 	GtkWidget *combo_system_fonts;
3158 	GList *combo_system_fonts_items = NULL;
3159 	GtkWidget *combo_entry_system_fonts;
3160 	GtkWidget *hbox_typographical;
3161 	GtkWidget *radiobutton_typographical_notation;
3162 	GtkWidget *label_blank;
3163 	GtkWidget *hbox_size;
3164 	GtkWidget *checkbutton_size;
3165 	GtkWidget *combo_font_size_selector;
3166 	GList *combo_font_size_selector_items = NULL;
3167 	GtkWidget *combo_entry_font_size_selector;
3168 	GtkObject *spinbutton_font_size_adj;
3169 	GtkWidget *spinbutton_font_size;
3170 	GtkWidget *combo_font_size_units;
3171 	GList *combo_font_size_units_items = NULL;
3172 	GtkWidget *combo_entry_font_size_units;
3173 	GtkWidget *hbox_line_height;
3174 	GtkWidget *checkbutton_line_height;
3175 	GtkObject *spinbutton_line_height_adj;
3176 	GtkWidget *spinbutton_line_height;
3177 	GtkWidget *combo_line_height;
3178 	GList *combo_line_height_items = NULL;
3179 	GtkWidget *combo_entry_line_height_selector_and_units;
3180 	GtkWidget *hbox_style;
3181 	GtkWidget *checkbutton_style;
3182 	GtkWidget *combo_style;
3183 	GList *combo_style_items = NULL;
3184 	GtkWidget *combo_entry_style;
3185 	GtkWidget *hbox_variant;
3186 	GtkWidget *checkbutton_variant;
3187 	GtkWidget *combo_variant;
3188 	GList *combo_variant_items = NULL;
3189 	GtkWidget *combo_entry_variant;
3190 	GtkWidget *hbox_weight;
3191 	GtkWidget *checkbutton_weight;
3192 	GtkWidget *combo_weight;
3193 	GList *combo_weight_items = NULL;
3194 	GtkWidget *combo_entry_weight;
3195 	GtkWidget *hbox_font_family;
3196 	GtkWidget *checkbutton_font_family;
3197 	GtkWidget *combo_font_family;
3198 	GList *combo_font_family_items = NULL;
3199 	GtkWidget *combo_entry_font_family;
3200 	GtkWidget *hbox_generic_family;
3201 	GtkWidget *checkbutton_generic_family;
3202 	GtkWidget *combo_generic_family;
3203 	GList *combo_generic_family_items = NULL;
3204 	GtkWidget *combo_entry_generic_family;
3205 	GtkWidget *hbox_use_font_set;
3206 	GtkWidget *checkbutton_use_font_set;
3207 	GtkWidget *hbuttonbox;
3208 	GtkWidget *button_font_set_add;
3209 	GtkWidget *button_font_set_del;
3210 	GtkWidget *scrolledwindow_font_set;
3211 	GtkWidget *treeview;
3212 	GtkWidget *dialog_action_area;
3213 	GtkWidget *helpbutton;
3214 	GtkWidget *cancelbutton;
3215 	GtkWidget *okbutton;
3216 	GtkAccelGroup *accel_group;
3217 	GtkWidget *main_window;
3218 	CssedCssDialogsData *data = NULL;
3219 	GtkTreeViewColumn *col_font_family;
3220 	GtkTreeViewColumn *col_generic_family;
3221 	GtkCellRenderer *ff_renderer;
3222 	GtkCellRenderer *gf_renderer;
3223 	GtkListStore *store;
3224 
3225 	if (connect_callbacks)
3226 	{
3227 		data = g_malloc (sizeof (CssedCssDialogsData));
3228 		data->main_window = window;
3229 		data->previous_string = previous_string;
3230 		data->add_property_string = add_previous_string;
3231 	}
3232 
3233 
3234 	accel_group = gtk_accel_group_new ();
3235 
3236 	font_property_dialog = gtk_dialog_new ();
3237 	gtk_window_set_title (GTK_WINDOW (font_property_dialog), _("font"));
3238 	gtk_window_set_modal (GTK_WINDOW (font_property_dialog), TRUE);
3239 
3240 	main_window = cssed_window_get_window_widget( window );
3241 
3242 	gtk_window_set_transient_for (GTK_WINDOW (font_property_dialog),
3243 				      GTK_WINDOW (main_window));
3244 
3245 	dialog_vbox = GTK_DIALOG (font_property_dialog)->vbox;
3246 	gtk_widget_show (dialog_vbox);
3247 
3248 	vbox_main = gtk_vbox_new (FALSE, 0);
3249 	gtk_widget_show (vbox_main);
3250 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox_main, TRUE, TRUE, 0);
3251 
3252 	hbox_system_fonts = gtk_hbox_new (TRUE, 0);
3253 	gtk_widget_show (hbox_system_fonts);
3254 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_system_fonts, FALSE,
3255 			    FALSE, 10);
3256 
3257 	radiobutton_system_fonts =
3258 		gtk_radio_button_new_with_mnemonic (NULL,
3259 						    _("Use system fonts"));
3260 	gtk_widget_show (radiobutton_system_fonts);
3261 	gtk_box_pack_start (GTK_BOX (hbox_system_fonts),
3262 			    radiobutton_system_fonts, TRUE, TRUE, 5);
3263 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
3264 				    (radiobutton_system_fonts),
3265 				    radiobutton_system_fonts_group);
3266 	radiobutton_system_fonts_group =
3267 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
3268 					    (radiobutton_system_fonts));
3269 
3270 	combo_system_fonts = gtk_combo_new ();
3271 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_system_fonts)->popwin),
3272 			   "GladeParentKey", combo_system_fonts);
3273 	gtk_widget_show (combo_system_fonts);
3274 	gtk_box_pack_start (GTK_BOX (hbox_system_fonts), combo_system_fonts,
3275 			    TRUE, TRUE, 5);
3276 	combo_system_fonts_items =
3277 		g_list_append (combo_system_fonts_items,
3278 			       (gpointer) "caption");
3279 	combo_system_fonts_items =
3280 		g_list_append (combo_system_fonts_items, (gpointer) "icon");
3281 	combo_system_fonts_items =
3282 		g_list_append (combo_system_fonts_items, (gpointer) "menu");
3283 	combo_system_fonts_items =
3284 		g_list_append (combo_system_fonts_items,
3285 			       (gpointer) "message-box");
3286 	combo_system_fonts_items =
3287 		g_list_append (combo_system_fonts_items,
3288 			       (gpointer) "small-caption");
3289 	combo_system_fonts_items =
3290 		g_list_append (combo_system_fonts_items,
3291 			       (gpointer) "status-bar");
3292 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_system_fonts),
3293 				       combo_system_fonts_items);
3294 	g_list_free (combo_system_fonts_items);
3295 
3296 	combo_entry_system_fonts = GTK_COMBO (combo_system_fonts)->entry;
3297 	gtk_widget_show (combo_entry_system_fonts);
3298 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_system_fonts),
3299 				   FALSE);
3300 	gtk_entry_set_text (GTK_ENTRY (combo_entry_system_fonts), "caption");
3301 
3302 	hbox_typographical = gtk_hbox_new (TRUE, 0);
3303 	gtk_widget_show (hbox_typographical);
3304 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_typographical, FALSE,
3305 			    FALSE, 1);
3306 
3307 	radiobutton_typographical_notation =
3308 		gtk_radio_button_new_with_mnemonic (NULL,
3309 						    _
3310 						    ("Use typographical notation"));
3311 	gtk_widget_show (radiobutton_typographical_notation);
3312 	gtk_box_pack_start (GTK_BOX (hbox_typographical),
3313 			    radiobutton_typographical_notation, TRUE, TRUE,
3314 			    5);
3315 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
3316 				    (radiobutton_typographical_notation),
3317 				    radiobutton_system_fonts_group);
3318 	radiobutton_system_fonts_group =
3319 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
3320 					    (radiobutton_typographical_notation));
3321 
3322 	label_blank = gtk_label_new ("");
3323 	gtk_widget_show (label_blank);
3324 	gtk_box_pack_start (GTK_BOX (hbox_typographical), label_blank, FALSE,
3325 			    FALSE, 0);
3326 	gtk_label_set_justify (GTK_LABEL (label_blank), GTK_JUSTIFY_LEFT);
3327 
3328 	hbox_size = gtk_hbox_new (FALSE, 0);
3329 	gtk_widget_show (hbox_size);
3330 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_size, FALSE, FALSE, 1);
3331 
3332 	checkbutton_size = gtk_check_button_new_with_mnemonic (_("_size"));
3333 	gtk_widget_show (checkbutton_size);
3334 	gtk_box_pack_start (GTK_BOX (hbox_size), checkbutton_size, TRUE, TRUE,
3335 			    5);
3336 
3337 	combo_font_size_selector = gtk_combo_new ();
3338 	g_object_set_data (G_OBJECT
3339 			   (GTK_COMBO (combo_font_size_selector)->popwin),
3340 			   "GladeParentKey", combo_font_size_selector);
3341 	gtk_widget_show (combo_font_size_selector);
3342 	gtk_box_pack_start (GTK_BOX (hbox_size), combo_font_size_selector,
3343 			    FALSE, FALSE, 0);
3344 	combo_font_size_selector_items =
3345 		g_list_append (combo_font_size_selector_items,
3346 			       (gpointer) CSS_STR_USE_PERCLEN);
3347 	combo_font_size_selector_items =
3348 		g_list_append (combo_font_size_selector_items,
3349 			       (gpointer) "xx-small");
3350 	combo_font_size_selector_items =
3351 		g_list_append (combo_font_size_selector_items,
3352 			       (gpointer) "x-small");
3353 	combo_font_size_selector_items =
3354 		g_list_append (combo_font_size_selector_items,
3355 			       (gpointer) "small");
3356 	combo_font_size_selector_items =
3357 		g_list_append (combo_font_size_selector_items,
3358 			       (gpointer) "medium");
3359 	combo_font_size_selector_items =
3360 		g_list_append (combo_font_size_selector_items,
3361 			       (gpointer) "large");
3362 	combo_font_size_selector_items =
3363 		g_list_append (combo_font_size_selector_items,
3364 			       (gpointer) "x-large");
3365 	combo_font_size_selector_items =
3366 		g_list_append (combo_font_size_selector_items,
3367 			       (gpointer) "xx-large");
3368 	combo_font_size_selector_items =
3369 		g_list_append (combo_font_size_selector_items,
3370 			       (gpointer) "larger");
3371 	combo_font_size_selector_items =
3372 		g_list_append (combo_font_size_selector_items,
3373 			       (gpointer) "smaller ");
3374 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_size_selector),
3375 				       combo_font_size_selector_items);
3376 	g_list_free (combo_font_size_selector_items);
3377 
3378 	combo_entry_font_size_selector =
3379 		GTK_COMBO (combo_font_size_selector)->entry;
3380 	gtk_widget_show (combo_entry_font_size_selector);
3381 	gtk_editable_set_editable (GTK_EDITABLE
3382 				   (combo_entry_font_size_selector), FALSE);
3383 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_size_selector),
3384 			    CSS_STR_USE_PERCLEN);
3385 
3386 	spinbutton_font_size_adj =
3387 		gtk_adjustment_new (8, -35565, 35565, 1, 10, 10);
3388 	spinbutton_font_size =
3389 		gtk_spin_button_new (GTK_ADJUSTMENT
3390 				     (spinbutton_font_size_adj), 1, 0);
3391 	gtk_widget_show (spinbutton_font_size);
3392 	gtk_box_pack_start (GTK_BOX (hbox_size), spinbutton_font_size, FALSE,
3393 			    FALSE, 5);
3394 	gtk_widget_set_size_request (spinbutton_font_size, 46, -1);
3395 
3396 	combo_font_size_units = gtk_combo_new ();
3397 	g_object_set_data (G_OBJECT
3398 			   (GTK_COMBO (combo_font_size_units)->popwin),
3399 			   "GladeParentKey", combo_font_size_units);
3400 	gtk_widget_show (combo_font_size_units);
3401 	gtk_box_pack_end (GTK_BOX (hbox_size), combo_font_size_units, FALSE,
3402 			  FALSE, 5);
3403 	combo_font_size_units_items =
3404 		g_list_append (combo_font_size_units_items, (gpointer) "%");
3405 	combo_font_size_units_items =
3406 		g_list_append (combo_font_size_units_items, (gpointer) "em");
3407 	combo_font_size_units_items =
3408 		g_list_append (combo_font_size_units_items, (gpointer) "ex");
3409 	combo_font_size_units_items =
3410 		g_list_append (combo_font_size_units_items, (gpointer) "px");
3411 	combo_font_size_units_items =
3412 		g_list_append (combo_font_size_units_items, (gpointer) "in");
3413 	combo_font_size_units_items =
3414 		g_list_append (combo_font_size_units_items, (gpointer) "cm");
3415 	combo_font_size_units_items =
3416 		g_list_append (combo_font_size_units_items, (gpointer) "mm");
3417 	combo_font_size_units_items =
3418 		g_list_append (combo_font_size_units_items, (gpointer) "pt");
3419 	combo_font_size_units_items =
3420 		g_list_append (combo_font_size_units_items, (gpointer) "pc");
3421 
3422 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_size_units),
3423 				       combo_font_size_units_items);
3424 	g_list_free (combo_font_size_units_items);
3425 
3426 	combo_entry_font_size_units =
3427 		GTK_COMBO (combo_font_size_units)->entry;
3428 	gtk_widget_show (combo_entry_font_size_units);
3429 	gtk_widget_set_size_request (combo_entry_font_size_units, 30, -1);
3430 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_font_size_units),
3431 				   FALSE);
3432 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_size_units), "px");
3433 
3434 	hbox_line_height = gtk_hbox_new (FALSE, 0);
3435 	gtk_widget_show (hbox_line_height);
3436 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_line_height, FALSE,
3437 			    FALSE, 1);
3438 
3439 	checkbutton_line_height =
3440 		gtk_check_button_new_with_mnemonic (_("line height"));
3441 	gtk_widget_show (checkbutton_line_height);
3442 	gtk_box_pack_start (GTK_BOX (hbox_line_height),
3443 			    checkbutton_line_height, TRUE, TRUE, 5);
3444 
3445 	spinbutton_line_height_adj =
3446 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
3447 	spinbutton_line_height =
3448 		gtk_spin_button_new (GTK_ADJUSTMENT
3449 				     (spinbutton_line_height_adj), 1, 0);
3450 	gtk_widget_show (spinbutton_line_height);
3451 	gtk_box_pack_start (GTK_BOX (hbox_line_height),
3452 			    spinbutton_line_height, FALSE, FALSE, 5);
3453 	gtk_widget_set_size_request (spinbutton_line_height, 50, -1);
3454 
3455 	combo_line_height = gtk_combo_new ();
3456 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_line_height)->popwin),
3457 			   "GladeParentKey", combo_line_height);
3458 	gtk_widget_show (combo_line_height);
3459 	gtk_box_pack_start (GTK_BOX (hbox_line_height), combo_line_height,
3460 			    FALSE, FALSE, 5);
3461 	combo_line_height_items =
3462 		g_list_append (combo_line_height_items,
3463 			       (gpointer) CSS_STR_USE_NUM);
3464 	combo_line_height_items =
3465 		g_list_append (combo_line_height_items, (gpointer) "%");
3466 	combo_line_height_items =
3467 		g_list_append (combo_line_height_items, (gpointer) "em");
3468 	combo_line_height_items =
3469 		g_list_append (combo_line_height_items, (gpointer) "ex");
3470 	combo_line_height_items =
3471 		g_list_append (combo_line_height_items, (gpointer) "px");
3472 	combo_line_height_items =
3473 		g_list_append (combo_line_height_items, (gpointer) "in");
3474 	combo_line_height_items =
3475 		g_list_append (combo_line_height_items, (gpointer) "cm");
3476 	combo_line_height_items =
3477 		g_list_append (combo_line_height_items, (gpointer) "mm");
3478 	combo_line_height_items =
3479 		g_list_append (combo_line_height_items, (gpointer) "pt");
3480 	combo_line_height_items =
3481 		g_list_append (combo_line_height_items, (gpointer) "pc");
3482 
3483 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_line_height),
3484 				       combo_line_height_items);
3485 	g_list_free (combo_line_height_items);
3486 
3487 	combo_entry_line_height_selector_and_units =
3488 		GTK_COMBO (combo_line_height)->entry;
3489 	gtk_widget_show (combo_entry_line_height_selector_and_units);
3490 	gtk_editable_set_editable (GTK_EDITABLE
3491 				   (combo_entry_line_height_selector_and_units),
3492 				   FALSE);
3493 	gtk_entry_set_text (GTK_ENTRY
3494 			    (combo_entry_line_height_selector_and_units),
3495 			    CSS_STR_USE_NUM);
3496 
3497 	hbox_style = gtk_hbox_new (TRUE, 0);
3498 	gtk_widget_show (hbox_style);
3499 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_style, FALSE, FALSE, 1);
3500 
3501 	checkbutton_style = gtk_check_button_new_with_mnemonic (_("style"));
3502 	gtk_widget_show (checkbutton_style);
3503 	gtk_box_pack_start (GTK_BOX (hbox_style), checkbutton_style, TRUE,
3504 			    TRUE, 5);
3505 
3506 	combo_style = gtk_combo_new ();
3507 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_style)->popwin),
3508 			   "GladeParentKey", combo_style);
3509 	gtk_widget_show (combo_style);
3510 	gtk_box_pack_start (GTK_BOX (hbox_style), combo_style, TRUE, TRUE, 4);
3511 	combo_style_items =
3512 		g_list_append (combo_style_items, (gpointer) "normal");
3513 	combo_style_items =
3514 		g_list_append (combo_style_items, (gpointer) "italic");
3515 	combo_style_items =
3516 		g_list_append (combo_style_items, (gpointer) "oblique");
3517 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_style),
3518 				       combo_style_items);
3519 	g_list_free (combo_style_items);
3520 
3521 	combo_entry_style = GTK_COMBO (combo_style)->entry;
3522 	gtk_widget_show (combo_entry_style);
3523 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_style), FALSE);
3524 	gtk_entry_set_text (GTK_ENTRY (combo_entry_style), "normal");
3525 
3526 	hbox_variant = gtk_hbox_new (TRUE, 0);
3527 	gtk_widget_show (hbox_variant);
3528 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_variant, FALSE, FALSE,
3529 			    1);
3530 
3531 	checkbutton_variant = gtk_check_button_new_with_mnemonic ("variant");
3532 	gtk_widget_show (checkbutton_variant);
3533 	gtk_box_pack_start (GTK_BOX (hbox_variant), checkbutton_variant, TRUE,
3534 			    TRUE, 5);
3535 
3536 	combo_variant = gtk_combo_new ();
3537 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_variant)->popwin),
3538 			   "GladeParentKey", combo_variant);
3539 	gtk_widget_show (combo_variant);
3540 	gtk_box_pack_start (GTK_BOX (hbox_variant), combo_variant, TRUE, TRUE,
3541 			    5);
3542 	combo_variant_items =
3543 		g_list_append (combo_variant_items, (gpointer) "normal");
3544 	combo_variant_items =
3545 		g_list_append (combo_variant_items, (gpointer) "small-caps");
3546 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_variant),
3547 				       combo_variant_items);
3548 	g_list_free (combo_variant_items);
3549 
3550 	combo_entry_variant = GTK_COMBO (combo_variant)->entry;
3551 	gtk_widget_show (combo_entry_variant);
3552 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_variant), FALSE);
3553 	gtk_entry_set_text (GTK_ENTRY (combo_entry_variant), "normal");
3554 
3555 	hbox_weight = gtk_hbox_new (TRUE, 0);
3556 	gtk_widget_show (hbox_weight);
3557 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_weight, FALSE, FALSE,
3558 			    1);
3559 
3560 	checkbutton_weight = gtk_check_button_new_with_mnemonic ("weight");
3561 	gtk_widget_show (checkbutton_weight);
3562 	gtk_box_pack_start (GTK_BOX (hbox_weight), checkbutton_weight, TRUE,
3563 			    TRUE, 5);
3564 
3565 	combo_weight = gtk_combo_new ();
3566 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_weight)->popwin),
3567 			   "GladeParentKey", combo_weight);
3568 	gtk_widget_show (combo_weight);
3569 	gtk_box_pack_start (GTK_BOX (hbox_weight), combo_weight, TRUE, TRUE,
3570 			    5);
3571 	combo_weight_items =
3572 		g_list_append (combo_weight_items, (gpointer) "normal");
3573 	combo_weight_items =
3574 		g_list_append (combo_weight_items, (gpointer) "bold");
3575 	combo_weight_items =
3576 		g_list_append (combo_weight_items, (gpointer) "bolder");
3577 	combo_weight_items =
3578 		g_list_append (combo_weight_items, (gpointer) "lighter");
3579 	combo_weight_items =
3580 		g_list_append (combo_weight_items, (gpointer) "100");
3581 	combo_weight_items =
3582 		g_list_append (combo_weight_items, (gpointer) "200");
3583 	combo_weight_items =
3584 		g_list_append (combo_weight_items, (gpointer) "300");
3585 	combo_weight_items =
3586 		g_list_append (combo_weight_items, (gpointer) "400");
3587 	combo_weight_items =
3588 		g_list_append (combo_weight_items, (gpointer) "500");
3589 	combo_weight_items =
3590 		g_list_append (combo_weight_items, (gpointer) "600");
3591 	combo_weight_items =
3592 		g_list_append (combo_weight_items, (gpointer) "700");
3593 	combo_weight_items =
3594 		g_list_append (combo_weight_items, (gpointer) "800");
3595 	combo_weight_items =
3596 		g_list_append (combo_weight_items, (gpointer) "900");
3597 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_weight),
3598 				       combo_weight_items);
3599 	g_list_free (combo_weight_items);
3600 
3601 	combo_entry_weight = GTK_COMBO (combo_weight)->entry;
3602 	gtk_widget_show (combo_entry_weight);
3603 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_weight), FALSE);
3604 	gtk_entry_set_text (GTK_ENTRY (combo_entry_weight), "normal");
3605 
3606 	hbox_font_family = gtk_hbox_new (TRUE, 0);
3607 	gtk_widget_show (hbox_font_family);
3608 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_font_family, FALSE,
3609 			    FALSE, 1);
3610 
3611 	checkbutton_font_family =
3612 		gtk_check_button_new_with_mnemonic (_("font family"));
3613 	gtk_widget_show (checkbutton_font_family);
3614 	gtk_box_pack_start (GTK_BOX (hbox_font_family),
3615 			    checkbutton_font_family, TRUE, TRUE, 5);
3616 
3617 	combo_font_family = gtk_combo_new ();
3618 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_font_family)->popwin),
3619 			   "GladeParentKey", combo_font_family);
3620 	gtk_widget_show (combo_font_family);
3621 	gtk_box_pack_start (GTK_BOX (hbox_font_family), combo_font_family,
3622 			    TRUE, TRUE, 5);
3623 	combo_font_family_items =
3624 		g_list_append (combo_font_family_items, (gpointer) "Arial");
3625 	combo_font_family_items =
3626 		g_list_append (combo_font_family_items,
3627 			       (gpointer) "Arial Black");
3628 	combo_font_family_items =
3629 		g_list_append (combo_font_family_items, (gpointer) "Charter");
3630 	combo_font_family_items =
3631 		g_list_append (combo_font_family_items, (gpointer) "Chicago");
3632 	combo_font_family_items =
3633 		g_list_append (combo_font_family_items, (gpointer) "Clean");
3634 	combo_font_family_items =
3635 		g_list_append (combo_font_family_items,
3636 			       (gpointer) "Comic Sans MS");
3637 	combo_font_family_items =
3638 		g_list_append (combo_font_family_items, (gpointer) "Courier");
3639 	combo_font_family_items =
3640 		g_list_append (combo_font_family_items,
3641 			       (gpointer) "Courier New");
3642 	combo_font_family_items =
3643 		g_list_append (combo_font_family_items,
3644 			       (gpointer) "Courier Regular");
3645 	combo_font_family_items =
3646 		g_list_append (combo_font_family_items, (gpointer) "Fixed");
3647 	combo_font_family_items =
3648 		g_list_append (combo_font_family_items, (gpointer) "Geneva");
3649 	combo_font_family_items =
3650 		g_list_append (combo_font_family_items,
3651 			       (gpointer) "Helvetica");
3652 	combo_font_family_items =
3653 		g_list_append (combo_font_family_items, (gpointer) "Monaco");
3654 	combo_font_family_items =
3655 		g_list_append (combo_font_family_items,
3656 			       (gpointer) "New York");
3657 	combo_font_family_items =
3658 		g_list_append (combo_font_family_items,
3659 			       (gpointer) "Palatino");
3660 	combo_font_family_items =
3661 		g_list_append (combo_font_family_items, (gpointer) "Impact");
3662 	combo_font_family_items =
3663 		g_list_append (combo_font_family_items, (gpointer) "Lucida");
3664 	combo_font_family_items =
3665 		g_list_append (combo_font_family_items,
3666 			       (gpointer) "Lucida Bright");
3667 	combo_font_family_items =
3668 		g_list_append (combo_font_family_items,
3669 			       (gpointer) "Lucidatypewriter");
3670 	combo_font_family_items =
3671 		g_list_append (combo_font_family_items,
3672 			       (gpointer) "Lucida Sans");
3673 	combo_font_family_items =
3674 		g_list_append (combo_font_family_items,
3675 			       (gpointer) "Lucida Console");
3676 	combo_font_family_items =
3677 		g_list_append (combo_font_family_items,
3678 			       (gpointer) "New Century Schoolbook");
3679 	combo_font_family_items =
3680 		g_list_append (combo_font_family_items, (gpointer) "Symbol");
3681 	combo_font_family_items =
3682 		g_list_append (combo_font_family_items, (gpointer) "Times");
3683 	combo_font_family_items =
3684 		g_list_append (combo_font_family_items,
3685 			       (gpointer) "Times New Roman");
3686 	combo_font_family_items =
3687 		g_list_append (combo_font_family_items, (gpointer) "Utopia");
3688 	combo_font_family_items =
3689 		g_list_append (combo_font_family_items, (gpointer) "Verdana");
3690 	combo_font_family_items =
3691 		g_list_append (combo_font_family_items,
3692 			       (gpointer) "Webdings");
3693 	combo_font_family_items =
3694 		g_list_append (combo_font_family_items,
3695 			       (gpointer) "Windings");
3696 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_family),
3697 				       combo_font_family_items);
3698 	g_list_free (combo_font_family_items);
3699 
3700 	combo_entry_font_family = GTK_COMBO (combo_font_family)->entry;
3701 	gtk_widget_show (combo_entry_font_family);
3702 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_family), "Arial");
3703 
3704 	hbox_generic_family = gtk_hbox_new (TRUE, 0);
3705 	gtk_widget_show (hbox_generic_family);
3706 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_generic_family, FALSE,
3707 			    FALSE, 1);
3708 
3709 	checkbutton_generic_family =
3710 		gtk_check_button_new_with_mnemonic (_("generic family"));
3711 	gtk_widget_show (checkbutton_generic_family);
3712 	gtk_box_pack_start (GTK_BOX (hbox_generic_family),
3713 			    checkbutton_generic_family, TRUE, TRUE, 5);
3714 
3715 	combo_generic_family = gtk_combo_new ();
3716 	g_object_set_data (G_OBJECT
3717 			   (GTK_COMBO (combo_generic_family)->popwin),
3718 			   "GladeParentKey", combo_generic_family);
3719 	gtk_widget_show (combo_generic_family);
3720 	gtk_box_pack_start (GTK_BOX (hbox_generic_family),
3721 			    combo_generic_family, TRUE, TRUE, 5);
3722 	combo_generic_family_items =
3723 		g_list_append (combo_generic_family_items,
3724 			       (gpointer) "serif");
3725 	combo_generic_family_items =
3726 		g_list_append (combo_generic_family_items,
3727 			       (gpointer) "sans-serif");
3728 	combo_generic_family_items =
3729 		g_list_append (combo_generic_family_items,
3730 			       (gpointer) "cursive");
3731 	combo_generic_family_items =
3732 		g_list_append (combo_generic_family_items,
3733 			       (gpointer) "fantasy");
3734 	combo_generic_family_items =
3735 		g_list_append (combo_generic_family_items,
3736 			       (gpointer) "monospace   ");
3737 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_generic_family),
3738 				       combo_generic_family_items);
3739 	g_list_free (combo_generic_family_items);
3740 
3741 	combo_entry_generic_family = GTK_COMBO (combo_generic_family)->entry;
3742 	gtk_widget_show (combo_entry_generic_family);
3743 	gtk_entry_set_text (GTK_ENTRY (combo_entry_generic_family), "serif");
3744 
3745 	hbox_use_font_set = gtk_hbox_new (TRUE, 0);
3746 	gtk_widget_show (hbox_use_font_set);
3747 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_use_font_set, FALSE,
3748 			    FALSE, 0);
3749 
3750 	checkbutton_use_font_set =
3751 		gtk_check_button_new_with_mnemonic (_("use font set"));
3752 	gtk_widget_show (checkbutton_use_font_set);
3753 	gtk_box_pack_start (GTK_BOX (hbox_use_font_set),
3754 			    checkbutton_use_font_set, TRUE, TRUE, 5);
3755 
3756 	hbuttonbox = gtk_hbutton_box_new ();
3757 	gtk_widget_show (hbuttonbox);
3758 	gtk_box_pack_start (GTK_BOX (hbox_use_font_set), hbuttonbox, TRUE,
3759 			    TRUE, 0);
3760 	gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox), 5);
3761 
3762 	button_font_set_add = gtk_button_new_from_stock ("gtk-add");
3763 	gtk_widget_show (button_font_set_add);
3764 	gtk_container_add (GTK_CONTAINER (hbuttonbox), button_font_set_add);
3765 	GTK_WIDGET_SET_FLAGS (button_font_set_add, GTK_CAN_DEFAULT);
3766 
3767 	button_font_set_del = gtk_button_new_from_stock ("gtk-remove");
3768 	gtk_widget_show (button_font_set_del);
3769 	gtk_container_add (GTK_CONTAINER (hbuttonbox), button_font_set_del);
3770 	GTK_WIDGET_SET_FLAGS (button_font_set_del, GTK_CAN_DEFAULT);
3771 	gtk_widget_add_accelerator (button_font_set_del, "clicked",
3772 				    accel_group, GDK_q, GDK_CONTROL_MASK,
3773 				    GTK_ACCEL_VISIBLE);
3774 	gtk_widget_add_accelerator (button_font_set_del, "clicked",
3775 				    accel_group, GDK_d, GDK_CONTROL_MASK,
3776 				    GTK_ACCEL_VISIBLE);
3777 
3778 	scrolledwindow_font_set = gtk_scrolled_window_new (NULL, NULL);
3779 	gtk_widget_show (scrolledwindow_font_set);
3780 	gtk_box_pack_start (GTK_BOX (vbox_main), scrolledwindow_font_set,
3781 			    TRUE, TRUE, 0);
3782 	gtk_container_set_border_width (GTK_CONTAINER
3783 					(scrolledwindow_font_set), 5);
3784 	gtk_widget_set_size_request (scrolledwindow_font_set, -1, 125);
3785 
3786 	store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
3787 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
3788 	gtk_widget_show (treeview);
3789 	gtk_container_add (GTK_CONTAINER (scrolledwindow_font_set), treeview);
3790 
3791 	ff_renderer = gtk_cell_renderer_text_new ();
3792 	gf_renderer = gtk_cell_renderer_text_new ();
3793 
3794 	col_font_family =
3795 		gtk_tree_view_column_new_with_attributes (_("Font family"),
3796 							  ff_renderer, "text",
3797 							  0, NULL);
3798 	col_generic_family =
3799 		gtk_tree_view_column_new_with_attributes (_("Generic family"),
3800 							  gf_renderer, "text",
3801 							  1, NULL);
3802 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
3803 				     col_font_family, 0);
3804 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
3805 				     col_generic_family, 1);
3806 
3807 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
3808 
3809 	dialog_action_area = GTK_DIALOG (font_property_dialog)->action_area;
3810 	gtk_widget_show (dialog_action_area);
3811 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
3812 				   GTK_BUTTONBOX_END);
3813 
3814 	helpbutton = gtk_button_new_from_stock ("gtk-help");
3815 	gtk_widget_show (helpbutton);
3816 	gtk_dialog_add_action_widget (GTK_DIALOG (font_property_dialog),
3817 				      helpbutton, GTK_RESPONSE_HELP);
3818 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
3819 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
3820 				    GDK_y, GDK_CONTROL_MASK,
3821 				    GTK_ACCEL_VISIBLE);
3822 
3823 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
3824 	gtk_widget_show (cancelbutton);
3825 	gtk_dialog_add_action_widget (GTK_DIALOG (font_property_dialog),
3826 				      cancelbutton, GTK_RESPONSE_CANCEL);
3827 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
3828 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
3829 				    GDK_c, GDK_CONTROL_MASK,
3830 				    GTK_ACCEL_VISIBLE);
3831 
3832 	okbutton = gtk_button_new_from_stock ("gtk-ok");
3833 	gtk_widget_show (okbutton);
3834 	gtk_dialog_add_action_widget (GTK_DIALOG (font_property_dialog),
3835 				      okbutton, GTK_RESPONSE_OK);
3836 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
3837 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
3838 				    GDK_o, GDK_CONTROL_MASK,
3839 				    GTK_ACCEL_VISIBLE);
3840 
3841 
3842 	g_signal_connect ((gpointer) combo_entry_font_size_units,
3843 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
3844 			  spinbutton_font_size);
3845 	g_signal_connect ((gpointer)
3846 			  combo_entry_line_height_selector_and_units,
3847 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
3848 			  spinbutton_line_height);
3849 
3850 	if (connect_callbacks)
3851 	{
3852 		g_signal_connect ((gpointer) font_property_dialog, "close",
3853 				  G_CALLBACK (on_css_dialog_close), data);
3854 		g_signal_connect ((gpointer) helpbutton, "clicked",
3855 				  G_CALLBACK
3856 				  (on_font_property_dialog_helpbutton_clicked),
3857 				  NULL);
3858 		g_signal_connect ((gpointer) cancelbutton, "clicked",
3859 				  G_CALLBACK
3860 				  (on_css_dialog_cancel_button_clicked),
3861 				  data);
3862 		g_signal_connect ((gpointer) okbutton, "clicked",
3863 				  G_CALLBACK
3864 				  (on_font_property_dialog_okbutton_clicked),
3865 				  data);
3866 	}
3867 
3868 	g_signal_connect ((gpointer) button_font_set_add, "clicked",
3869 			  G_CALLBACK (on_button_font_set_add_clicked), store);
3870 
3871 	g_signal_connect ((gpointer) button_font_set_del, "clicked",
3872 			  G_CALLBACK (on_button_font_set_del_clicked), store);
3873 	GLADE_HOOKUP_OBJECT_NO_REF (font_property_dialog,
3874 				    font_property_dialog,
3875 				    "font_property_dialog");
3876 	GLADE_HOOKUP_OBJECT_NO_REF (font_property_dialog, dialog_vbox,
3877 				    "dialog_vbox");
3878 	GLADE_HOOKUP_OBJECT (font_property_dialog, vbox_main, "vbox_main");
3879 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_system_fonts,
3880 			     "hbox_system_fonts");
3881 	GLADE_HOOKUP_OBJECT (font_property_dialog, radiobutton_system_fonts,
3882 			     "radiobutton_system_fonts");
3883 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_system_fonts,
3884 			     "combo_system_fonts");
3885 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_system_fonts,
3886 			     "combo_entry_system_fonts");
3887 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_typographical,
3888 			     "hbox_typographical");
3889 	GLADE_HOOKUP_OBJECT (font_property_dialog,
3890 			     radiobutton_typographical_notation,
3891 			     "radiobutton_typographical_notation");
3892 	GLADE_HOOKUP_OBJECT (font_property_dialog, label_blank,
3893 			     "label_blank");
3894 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_size, "hbox_size");
3895 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_size,
3896 			     "checkbutton_size");
3897 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_font_size_selector,
3898 			     "combo_font_size_selector");
3899 	GLADE_HOOKUP_OBJECT (font_property_dialog,
3900 			     combo_entry_font_size_selector,
3901 			     "combo_entry_font_size_selector");
3902 	GLADE_HOOKUP_OBJECT (font_property_dialog, spinbutton_font_size,
3903 			     "spinbutton_font_size");
3904 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_font_size_units,
3905 			     "combo_font_size_units");
3906 	GLADE_HOOKUP_OBJECT (font_property_dialog,
3907 			     combo_entry_font_size_units,
3908 			     "combo_entry_font_size_units");
3909 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_line_height,
3910 			     "hbox_line_height");
3911 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_line_height,
3912 			     "checkbutton_line_height");
3913 	GLADE_HOOKUP_OBJECT (font_property_dialog, spinbutton_line_height,
3914 			     "spinbutton_line_height");
3915 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_line_height,
3916 			     "combo_line_height");
3917 	GLADE_HOOKUP_OBJECT (font_property_dialog,
3918 			     combo_entry_line_height_selector_and_units,
3919 			     "combo_entry_line_height_selector_and_units");
3920 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_style, "hbox_style");
3921 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_style,
3922 			     "checkbutton_style");
3923 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_style,
3924 			     "combo_style");
3925 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_style,
3926 			     "combo_entry_style");
3927 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_variant,
3928 			     "hbox_variant");
3929 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_variant,
3930 			     "checkbutton_variant");
3931 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_variant,
3932 			     "combo_variant");
3933 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_variant,
3934 			     "combo_entry_variant");
3935 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_weight,
3936 			     "hbox_weight");
3937 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_weight,
3938 			     "checkbutton_weight");
3939 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_weight,
3940 			     "combo_weight");
3941 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_weight,
3942 			     "combo_entry_weight");
3943 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_font_family,
3944 			     "hbox_font_family");
3945 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_font_family,
3946 			     "checkbutton_font_family");
3947 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_font_family,
3948 			     "combo_font_family");
3949 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_font_family,
3950 			     "combo_entry_font_family");
3951 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_generic_family,
3952 			     "hbox_generic_family");
3953 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_generic_family,
3954 			     "checkbutton_generic_family");
3955 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_generic_family,
3956 			     "combo_generic_family");
3957 	GLADE_HOOKUP_OBJECT (font_property_dialog, combo_entry_generic_family,
3958 			     "combo_entry_generic_family");
3959 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbox_use_font_set,
3960 			     "hbox_use_font_set");
3961 	GLADE_HOOKUP_OBJECT (font_property_dialog, checkbutton_use_font_set,
3962 			     "checkbutton_use_font_set");
3963 	GLADE_HOOKUP_OBJECT (font_property_dialog, hbuttonbox, "hbuttonbox");
3964 	GLADE_HOOKUP_OBJECT (font_property_dialog, button_font_set_add,
3965 			     "button_font_set_add");
3966 	GLADE_HOOKUP_OBJECT (font_property_dialog, button_font_set_del,
3967 			     "button_font_set_del");
3968 	GLADE_HOOKUP_OBJECT (font_property_dialog, scrolledwindow_font_set,
3969 			     "scrolledwindow_font_set");
3970 	GLADE_HOOKUP_OBJECT (font_property_dialog, treeview, "treeview");
3971 	GLADE_HOOKUP_OBJECT_NO_REF (font_property_dialog, dialog_action_area,
3972 				    "dialog_action_area");
3973 	GLADE_HOOKUP_OBJECT (font_property_dialog, helpbutton, "helpbutton");
3974 	GLADE_HOOKUP_OBJECT (font_property_dialog, cancelbutton,
3975 			     "cancelbutton");
3976 	GLADE_HOOKUP_OBJECT (font_property_dialog, okbutton, "okbutton");
3977 
3978 	gtk_window_add_accel_group (GTK_WINDOW (font_property_dialog),
3979 				    accel_group);
3980 
3981 	return font_property_dialog;
3982 }
3983 
3984 GtkWidget *
create_font_family_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)3985 create_font_family_dialog (CssedWindow * window,
3986 			   gchar * previous_string,
3987 			   gboolean add_previous_string,
3988 			   gboolean connect_callbacks)
3989 {
3990 	GtkWidget *font_family_dialog;
3991 	GtkWidget *dialog_vbox;
3992 	GtkWidget *vbox_main;
3993 	GtkWidget *hbox_system_fonts;
3994 	GtkWidget *radiobutton_system_fonts;
3995 	GSList *radiobutton_system_fonts_group = NULL;
3996 	GtkWidget *combo_system_fonts;
3997 	GList *combo_system_fonts_items = NULL;
3998 	GtkWidget *combo_entry_system_fonts;
3999 	GtkWidget *hbox_typo;
4000 	GtkWidget *radiobutton_typographical_notation;
4001 	GtkWidget *label_blank;
4002 	GtkWidget *hbox_font_family;
4003 	GtkWidget *checkbutton_font_family;
4004 	GtkWidget *combo_font_family;
4005 	GList *combo_font_family_items = NULL;
4006 	GtkWidget *combo_entry_font_family;
4007 	GtkWidget *hbox_generic_family;
4008 	GtkWidget *checkbutton_generic_family;
4009 	GtkWidget *combo_generic_family;
4010 	GList *combo_generic_family_items = NULL;
4011 	GtkWidget *combo_entry_generic_family;
4012 	GtkWidget *hbox_font_set;
4013 	GtkWidget *checkbutton_font_set;
4014 	GtkWidget *hbuttonbox_fs;
4015 	GtkWidget *button_font_family_dialog_add;
4016 	GtkWidget *button_font_family_dialog_del;
4017 	GtkWidget *scrolledwindow_font_set;
4018 	GtkWidget *treeview;
4019 	GtkWidget *dialog_action_area;
4020 	GtkWidget *helpbutton;
4021 	GtkWidget *cancelbutton;
4022 	GtkWidget *okbutton;
4023 	GtkWidget *main_window;
4024 	GtkTreeViewColumn *col_font_family;
4025 	GtkTreeViewColumn *col_generic_family;
4026 	GtkCellRenderer *ff_renderer;
4027 	GtkCellRenderer *gf_renderer;
4028 	GtkListStore *store;
4029 	CssedCssDialogsData *data = NULL;
4030 
4031 	if (connect_callbacks)
4032 	{
4033 		data = g_malloc (sizeof (CssedCssDialogsData));
4034 		data->main_window = window;
4035 		data->previous_string = previous_string;
4036 		data->add_property_string = add_previous_string;
4037 	}
4038 
4039 	font_family_dialog = gtk_dialog_new ();
4040 	gtk_window_set_title (GTK_WINDOW (font_family_dialog),
4041 			      _("font-family"));
4042 	gtk_window_set_modal (GTK_WINDOW (font_family_dialog), TRUE);
4043 
4044 	main_window = cssed_window_get_window_widget( window );
4045 
4046 	gtk_window_set_transient_for (GTK_WINDOW (font_family_dialog),
4047 				      GTK_WINDOW (main_window));
4048 
4049 	dialog_vbox = GTK_DIALOG (font_family_dialog)->vbox;
4050 	gtk_widget_show (dialog_vbox);
4051 
4052 	vbox_main = gtk_vbox_new (FALSE, 0);
4053 	gtk_widget_show (vbox_main);
4054 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox_main, TRUE, TRUE, 0);
4055 
4056 	hbox_system_fonts = gtk_hbox_new (TRUE, 0);
4057 	gtk_widget_show (hbox_system_fonts);
4058 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_system_fonts, FALSE,
4059 			    TRUE, 0);
4060 
4061 	radiobutton_system_fonts =
4062 		gtk_radio_button_new_with_mnemonic (NULL,
4063 						    _("Use system fonts"));
4064 	gtk_widget_show (radiobutton_system_fonts);
4065 	gtk_box_pack_start (GTK_BOX (hbox_system_fonts),
4066 			    radiobutton_system_fonts, TRUE, TRUE, 5);
4067 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
4068 				    (radiobutton_system_fonts),
4069 				    radiobutton_system_fonts_group);
4070 	radiobutton_system_fonts_group =
4071 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
4072 					    (radiobutton_system_fonts));
4073 
4074 	combo_system_fonts = gtk_combo_new ();
4075 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_system_fonts)->popwin),
4076 			   "GladeParentKey", combo_system_fonts);
4077 	gtk_widget_show (combo_system_fonts);
4078 	gtk_box_pack_start (GTK_BOX (hbox_system_fonts), combo_system_fonts,
4079 			    TRUE, TRUE, 5);
4080 	combo_system_fonts_items =
4081 		g_list_append (combo_system_fonts_items,
4082 			       (gpointer) "caption");
4083 	combo_system_fonts_items =
4084 		g_list_append (combo_system_fonts_items, (gpointer) "icon");
4085 	combo_system_fonts_items =
4086 		g_list_append (combo_system_fonts_items, (gpointer) "menu");
4087 	combo_system_fonts_items =
4088 		g_list_append (combo_system_fonts_items,
4089 			       (gpointer) "message-box");
4090 	combo_system_fonts_items =
4091 		g_list_append (combo_system_fonts_items,
4092 			       (gpointer) "small-caption");
4093 	combo_system_fonts_items =
4094 		g_list_append (combo_system_fonts_items,
4095 			       (gpointer) "status-bar");
4096 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_system_fonts),
4097 				       combo_system_fonts_items);
4098 	g_list_free (combo_system_fonts_items);
4099 
4100 	combo_entry_system_fonts = GTK_COMBO (combo_system_fonts)->entry;
4101 	gtk_widget_show (combo_entry_system_fonts);
4102 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_system_fonts),
4103 				   FALSE);
4104 	gtk_entry_set_text (GTK_ENTRY (combo_entry_system_fonts), "caption");
4105 
4106 	hbox_typo = gtk_hbox_new (FALSE, 0);
4107 	gtk_widget_show (hbox_typo);
4108 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_typo, FALSE, TRUE, 0);
4109 
4110 	radiobutton_typographical_notation =
4111 		gtk_radio_button_new_with_mnemonic (NULL,
4112 						    _
4113 						    ("Use typographical notation"));
4114 	gtk_widget_show (radiobutton_typographical_notation);
4115 	gtk_box_pack_start (GTK_BOX (hbox_typo),
4116 			    radiobutton_typographical_notation, FALSE, FALSE,
4117 			    5);
4118 	gtk_radio_button_set_group (GTK_RADIO_BUTTON
4119 				    (radiobutton_typographical_notation),
4120 				    radiobutton_system_fonts_group);
4121 	radiobutton_system_fonts_group =
4122 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
4123 					    (radiobutton_typographical_notation));
4124 
4125 	label_blank = gtk_label_new ("");
4126 	gtk_widget_show (label_blank);
4127 	gtk_box_pack_start (GTK_BOX (hbox_typo), label_blank, TRUE, TRUE, 0);
4128 	gtk_label_set_justify (GTK_LABEL (label_blank), GTK_JUSTIFY_LEFT);
4129 
4130 	hbox_font_family = gtk_hbox_new (TRUE, 0);
4131 	gtk_widget_show (hbox_font_family);
4132 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_font_family, FALSE,
4133 			    TRUE, 0);
4134 
4135 	checkbutton_font_family =
4136 		gtk_check_button_new_with_mnemonic ("font family");
4137 	gtk_widget_show (checkbutton_font_family);
4138 	gtk_box_pack_start (GTK_BOX (hbox_font_family),
4139 			    checkbutton_font_family, TRUE, TRUE, 5);
4140 
4141 	combo_font_family = gtk_combo_new ();
4142 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_font_family)->popwin),
4143 			   "GladeParentKey", combo_font_family);
4144 	gtk_widget_show (combo_font_family);
4145 	gtk_box_pack_start (GTK_BOX (hbox_font_family), combo_font_family,
4146 			    TRUE, TRUE, 5);
4147 	combo_font_family_items =
4148 		g_list_append (combo_font_family_items, (gpointer) "Arial");
4149 	combo_font_family_items =
4150 		g_list_append (combo_font_family_items,
4151 			       (gpointer) "Arial Black");
4152 	combo_font_family_items =
4153 		g_list_append (combo_font_family_items, (gpointer) "Charter");
4154 	combo_font_family_items =
4155 		g_list_append (combo_font_family_items, (gpointer) "Chicago");
4156 	combo_font_family_items =
4157 		g_list_append (combo_font_family_items, (gpointer) "Clean");
4158 	combo_font_family_items =
4159 		g_list_append (combo_font_family_items,
4160 			       (gpointer) "Comic Sans MS");
4161 	combo_font_family_items =
4162 		g_list_append (combo_font_family_items, (gpointer) "Courier");
4163 	combo_font_family_items =
4164 		g_list_append (combo_font_family_items,
4165 			       (gpointer) "Courier New");
4166 	combo_font_family_items =
4167 		g_list_append (combo_font_family_items,
4168 			       (gpointer) "Courier Regular");
4169 	combo_font_family_items =
4170 		g_list_append (combo_font_family_items, (gpointer) "Fixed");
4171 	combo_font_family_items =
4172 		g_list_append (combo_font_family_items, (gpointer) "Geneva");
4173 	combo_font_family_items =
4174 		g_list_append (combo_font_family_items,
4175 			       (gpointer) "Helvetica");
4176 	combo_font_family_items =
4177 		g_list_append (combo_font_family_items, (gpointer) "Monaco");
4178 	combo_font_family_items =
4179 		g_list_append (combo_font_family_items,
4180 			       (gpointer) "New York");
4181 	combo_font_family_items =
4182 		g_list_append (combo_font_family_items,
4183 			       (gpointer) "Palatino");
4184 	combo_font_family_items =
4185 		g_list_append (combo_font_family_items, (gpointer) "Impact");
4186 	combo_font_family_items =
4187 		g_list_append (combo_font_family_items, (gpointer) "Lucida");
4188 	combo_font_family_items =
4189 		g_list_append (combo_font_family_items,
4190 			       (gpointer) "Lucida Bright");
4191 	combo_font_family_items =
4192 		g_list_append (combo_font_family_items,
4193 			       (gpointer) "Lucidatypewriter");
4194 	combo_font_family_items =
4195 		g_list_append (combo_font_family_items,
4196 			       (gpointer) "Lucida Sans");
4197 	combo_font_family_items =
4198 		g_list_append (combo_font_family_items,
4199 			       (gpointer) "Lucida Console");
4200 	combo_font_family_items =
4201 		g_list_append (combo_font_family_items,
4202 			       (gpointer) "New Century Schoolbook");
4203 	combo_font_family_items =
4204 		g_list_append (combo_font_family_items, (gpointer) "Symbol");
4205 	combo_font_family_items =
4206 		g_list_append (combo_font_family_items, (gpointer) "Times");
4207 	combo_font_family_items =
4208 		g_list_append (combo_font_family_items,
4209 			       (gpointer) "Times New Roman");
4210 	combo_font_family_items =
4211 		g_list_append (combo_font_family_items, (gpointer) "Utopia");
4212 	combo_font_family_items =
4213 		g_list_append (combo_font_family_items, (gpointer) "Verdana");
4214 	combo_font_family_items =
4215 		g_list_append (combo_font_family_items,
4216 			       (gpointer) "Webdings");
4217 	combo_font_family_items =
4218 		g_list_append (combo_font_family_items,
4219 			       (gpointer) "Windings");
4220 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_family),
4221 				       combo_font_family_items);
4222 	g_list_free (combo_font_family_items);
4223 
4224 	combo_entry_font_family = GTK_COMBO (combo_font_family)->entry;
4225 	gtk_widget_show (combo_entry_font_family);
4226 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_family), "Arial");
4227 
4228 	hbox_generic_family = gtk_hbox_new (TRUE, 0);
4229 	gtk_widget_show (hbox_generic_family);
4230 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_generic_family, FALSE,
4231 			    TRUE, 0);
4232 
4233 	checkbutton_generic_family =
4234 		gtk_check_button_new_with_mnemonic (_("generic family"));
4235 	gtk_widget_show (checkbutton_generic_family);
4236 	gtk_box_pack_start (GTK_BOX (hbox_generic_family),
4237 			    checkbutton_generic_family, TRUE, TRUE, 5);
4238 
4239 	combo_generic_family = gtk_combo_new ();
4240 	g_object_set_data (G_OBJECT
4241 			   (GTK_COMBO (combo_generic_family)->popwin),
4242 			   "GladeParentKey", combo_generic_family);
4243 	gtk_widget_show (combo_generic_family);
4244 	gtk_box_pack_start (GTK_BOX (hbox_generic_family),
4245 			    combo_generic_family, TRUE, TRUE, 5);
4246 	combo_generic_family_items =
4247 		g_list_append (combo_generic_family_items,
4248 			       (gpointer) "serif");
4249 	combo_generic_family_items =
4250 		g_list_append (combo_generic_family_items,
4251 			       (gpointer) "sans-serif");
4252 	combo_generic_family_items =
4253 		g_list_append (combo_generic_family_items,
4254 			       (gpointer) "cursive");
4255 	combo_generic_family_items =
4256 		g_list_append (combo_generic_family_items,
4257 			       (gpointer) "fantasy");
4258 	combo_generic_family_items =
4259 		g_list_append (combo_generic_family_items,
4260 			       (gpointer) "monospace ");
4261 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_generic_family),
4262 				       combo_generic_family_items);
4263 	g_list_free (combo_generic_family_items);
4264 
4265 	combo_entry_generic_family = GTK_COMBO (combo_generic_family)->entry;
4266 	gtk_widget_show (combo_entry_generic_family);
4267 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_generic_family),
4268 				   TRUE);
4269 	gtk_entry_set_text (GTK_ENTRY (combo_entry_generic_family), "serif");
4270 
4271 	hbox_font_set = gtk_hbox_new (TRUE, 0);
4272 	gtk_widget_show (hbox_font_set);
4273 	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_font_set, FALSE, TRUE,
4274 			    5);
4275 
4276 	checkbutton_font_set =
4277 		gtk_check_button_new_with_mnemonic (_("Use font set"));
4278 	gtk_widget_show (checkbutton_font_set);
4279 	gtk_box_pack_start (GTK_BOX (hbox_font_set), checkbutton_font_set,
4280 			    TRUE, TRUE, 5);
4281 
4282 	hbuttonbox_fs = gtk_hbutton_box_new ();
4283 	gtk_widget_show (hbuttonbox_fs);
4284 	gtk_box_pack_start (GTK_BOX (hbox_font_set), hbuttonbox_fs, TRUE,
4285 			    TRUE, 5);
4286 
4287 	button_font_family_dialog_add = gtk_button_new_from_stock ("gtk-add");
4288 	gtk_widget_show (button_font_family_dialog_add);
4289 	gtk_container_add (GTK_CONTAINER (hbuttonbox_fs),
4290 			   button_font_family_dialog_add);
4291 	GTK_WIDGET_SET_FLAGS (button_font_family_dialog_add, GTK_CAN_DEFAULT);
4292 
4293 	button_font_family_dialog_del =
4294 		gtk_button_new_from_stock ("gtk-remove");
4295 	gtk_widget_show (button_font_family_dialog_del);
4296 	gtk_container_add (GTK_CONTAINER (hbuttonbox_fs),
4297 			   button_font_family_dialog_del);
4298 	GTK_WIDGET_SET_FLAGS (button_font_family_dialog_del, GTK_CAN_DEFAULT);
4299 
4300 	scrolledwindow_font_set = gtk_scrolled_window_new (NULL, NULL);
4301 	gtk_widget_show (scrolledwindow_font_set);
4302 	gtk_box_pack_start (GTK_BOX (vbox_main), scrolledwindow_font_set,
4303 			    TRUE, TRUE, 5);
4304 	gtk_container_set_border_width (GTK_CONTAINER
4305 					(scrolledwindow_font_set), 5);
4306 	gtk_widget_set_size_request (scrolledwindow_font_set, -1, 125);
4307 
4308 	store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
4309 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
4310 	gtk_widget_show (treeview);
4311 	gtk_container_add (GTK_CONTAINER (scrolledwindow_font_set), treeview);
4312 
4313 	ff_renderer = gtk_cell_renderer_text_new ();
4314 	gf_renderer = gtk_cell_renderer_text_new ();
4315 
4316 	col_font_family =
4317 		gtk_tree_view_column_new_with_attributes (_("Font family"),
4318 							  ff_renderer, "text",
4319 							  0, NULL);
4320 	col_generic_family =
4321 		gtk_tree_view_column_new_with_attributes (_("Generic family"),
4322 							  gf_renderer, "text",
4323 							  1, NULL);
4324 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
4325 				     col_font_family, 0);
4326 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
4327 				     col_generic_family, 1);
4328 
4329 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
4330 
4331 	dialog_action_area = GTK_DIALOG (font_family_dialog)->action_area;
4332 	gtk_widget_show (dialog_action_area);
4333 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
4334 				   GTK_BUTTONBOX_END);
4335 
4336 	helpbutton = gtk_button_new_from_stock ("gtk-help");
4337 	gtk_widget_show (helpbutton);
4338 	gtk_dialog_add_action_widget (GTK_DIALOG (font_family_dialog),
4339 				      helpbutton, GTK_RESPONSE_HELP);
4340 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
4341 
4342 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
4343 	gtk_widget_show (cancelbutton);
4344 	gtk_dialog_add_action_widget (GTK_DIALOG (font_family_dialog),
4345 				      cancelbutton, GTK_RESPONSE_CANCEL);
4346 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
4347 
4348 	okbutton = gtk_button_new_from_stock ("gtk-ok");
4349 	gtk_widget_show (okbutton);
4350 	gtk_dialog_add_action_widget (GTK_DIALOG (font_family_dialog),
4351 				      okbutton, GTK_RESPONSE_OK);
4352 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
4353 
4354 	if (connect_callbacks)
4355 	{
4356 		g_signal_connect ((gpointer) font_family_dialog, "close",
4357 				  G_CALLBACK (on_css_dialog_close), data);
4358 		g_signal_connect ((gpointer) helpbutton, "clicked",
4359 				  G_CALLBACK
4360 				  (on_font_family_dialog_helpbutton_clicked),
4361 				  NULL);
4362 		g_signal_connect ((gpointer) cancelbutton, "clicked",
4363 				  G_CALLBACK
4364 				  (on_css_dialog_cancel_button_clicked),
4365 				  data);
4366 		g_signal_connect ((gpointer) okbutton, "clicked",
4367 				  G_CALLBACK
4368 				  (on_font_family_dialog_okbutton_clicked),
4369 				  data);
4370 	}
4371 	g_signal_connect ((gpointer) checkbutton_font_set, "toggled",
4372 			  G_CALLBACK (on_button_font_fam_dialog_set_toggled),
4373 			  radiobutton_typographical_notation);
4374 	g_signal_connect ((gpointer) button_font_family_dialog_add, "clicked",
4375 			  G_CALLBACK
4376 			  (on_button_font_family_dialog_add_clicked), store);
4377 	g_signal_connect ((gpointer) button_font_family_dialog_del, "clicked",
4378 			  G_CALLBACK
4379 			  (on_button_font_family_dialog_del_clicked), store);
4380 
4381 	GLADE_HOOKUP_OBJECT_NO_REF (font_family_dialog, font_family_dialog,
4382 				    "font_family_dialog");
4383 	GLADE_HOOKUP_OBJECT_NO_REF (font_family_dialog, dialog_vbox,
4384 				    "dialog_vbox");
4385 	GLADE_HOOKUP_OBJECT (font_family_dialog, vbox_main, "vbox_main");
4386 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_system_fonts,
4387 			     "hbox_system_fonts");
4388 	GLADE_HOOKUP_OBJECT (font_family_dialog, radiobutton_system_fonts,
4389 			     "radiobutton_system_fonts");
4390 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_system_fonts,
4391 			     "combo_system_fonts");
4392 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_entry_system_fonts,
4393 			     "combo_entry_system_fonts");
4394 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_typo, "hbox_typo");
4395 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_typo, "hbox_typo");
4396 	GLADE_HOOKUP_OBJECT (font_family_dialog,
4397 			     radiobutton_typographical_notation,
4398 			     "radiobutton_typographical_notation");
4399 	GLADE_HOOKUP_OBJECT (font_family_dialog, label_blank, "label_blank");
4400 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_font_family,
4401 			     "hbox_font_family");
4402 	GLADE_HOOKUP_OBJECT (font_family_dialog, checkbutton_font_family,
4403 			     "checkbutton_font_family");
4404 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_font_family,
4405 			     "combo_font_family");
4406 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_entry_font_family,
4407 			     "combo_entry_font_family");
4408 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_generic_family,
4409 			     "hbox_generic_family");
4410 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_generic_family,
4411 			     "hbox_generic_family");
4412 	GLADE_HOOKUP_OBJECT (font_family_dialog, checkbutton_generic_family,
4413 			     "checkbutton_generic_family");
4414 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_generic_family,
4415 			     "combo_generic_family");
4416 	GLADE_HOOKUP_OBJECT (font_family_dialog, combo_entry_generic_family,
4417 			     "combo_entry_generic_family");
4418 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbox_font_set,
4419 			     "hbox_font_set");
4420 	GLADE_HOOKUP_OBJECT (font_family_dialog, checkbutton_font_set,
4421 			     "checkbutton_font_set");
4422 	GLADE_HOOKUP_OBJECT (font_family_dialog, hbuttonbox_fs,
4423 			     "hbuttonbox_fs");
4424 	GLADE_HOOKUP_OBJECT (font_family_dialog,
4425 			     button_font_family_dialog_add,
4426 			     "button_font_family_dialog_add");
4427 	GLADE_HOOKUP_OBJECT (font_family_dialog,
4428 			     button_font_family_dialog_del,
4429 			     "button_font_family_dialog_del");
4430 	GLADE_HOOKUP_OBJECT (font_family_dialog, scrolledwindow_font_set,
4431 			     "scrolledwindow_font_set");
4432 	GLADE_HOOKUP_OBJECT (font_family_dialog, treeview, "treeview");
4433 	GLADE_HOOKUP_OBJECT_NO_REF (font_family_dialog, dialog_action_area,
4434 				    "dialog_action_area");
4435 	GLADE_HOOKUP_OBJECT (font_family_dialog, helpbutton, "helpbutton");
4436 	GLADE_HOOKUP_OBJECT (font_family_dialog, cancelbutton,
4437 			     "cancelbutton");
4438 	GLADE_HOOKUP_OBJECT (font_family_dialog, okbutton, "okbutton");
4439 
4440 	return font_family_dialog;
4441 }
4442 
4443 GtkWidget *
create_font_size_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)4444 create_font_size_dialog (CssedWindow * window,
4445 			 gchar * previous_string,
4446 			 gboolean add_previous_string,
4447 			 gboolean connect_callbacks)
4448 {
4449 	GtkWidget *font_size_dialog;
4450 	GtkWidget *dialog_vbox;
4451 	GtkWidget *hbox;
4452 	GtkWidget *label_font_size;
4453 	GtkWidget *combo_font_size;
4454 	GList *combo_font_size_items = NULL;
4455 	GtkWidget *combo_entry_font_size;
4456 	GtkObject *spinbutton_font_size_adj;
4457 	GtkWidget *spinbutton_font_size;
4458 	GtkWidget *combo_font_size_units;
4459 	GList *combo_font_size_units_items = NULL;
4460 	GtkWidget *combo_entry_font_size_units;
4461 	GtkWidget *dialog_action_area;
4462 	GtkWidget *helpbutton;
4463 	GtkWidget *cancelbutton;
4464 	GtkWidget *okbutton;
4465 	GtkAccelGroup *accel_group;
4466 	GtkWidget *main_window;
4467 	CssedCssDialogsData *data = NULL;
4468 
4469 	if (connect_callbacks)
4470 	{
4471 		data = g_malloc (sizeof (CssedCssDialogsData));
4472 		data->main_window = window;
4473 		data->previous_string = previous_string;
4474 		data->add_property_string = add_previous_string;
4475 	}
4476 
4477 
4478 	accel_group = gtk_accel_group_new ();
4479 
4480 	font_size_dialog = gtk_dialog_new ();
4481 	gtk_window_set_title (GTK_WINDOW (font_size_dialog), previous_string);
4482 	gtk_window_set_modal (GTK_WINDOW (font_size_dialog), TRUE);
4483 
4484 	main_window = cssed_window_get_window_widget( window );
4485 
4486 	gtk_window_set_transient_for (GTK_WINDOW (font_size_dialog),
4487 				      GTK_WINDOW (main_window));
4488 
4489 	dialog_vbox = GTK_DIALOG (font_size_dialog)->vbox;
4490 	gtk_widget_show (dialog_vbox);
4491 
4492 	hbox = gtk_hbox_new (FALSE, 0);
4493 	gtk_widget_show (hbox);
4494 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
4495 
4496 	label_font_size = gtk_label_new (previous_string);
4497 	gtk_widget_show (label_font_size);
4498 	gtk_box_pack_start (GTK_BOX (hbox), label_font_size, FALSE, FALSE, 5);
4499 	gtk_label_set_justify (GTK_LABEL (label_font_size), GTK_JUSTIFY_LEFT);
4500 
4501 	combo_font_size = gtk_combo_new ();
4502 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_font_size)->popwin),
4503 			   "GladeParentKey", combo_font_size);
4504 	gtk_widget_show (combo_font_size);
4505 	gtk_box_pack_start (GTK_BOX (hbox), combo_font_size, TRUE, TRUE, 0);
4506 	combo_font_size_items =
4507 		g_list_append (combo_font_size_items,
4508 			       (gpointer) CSS_STR_USE_PERCLEN);
4509 	combo_font_size_items =
4510 		g_list_append (combo_font_size_items, (gpointer) "xx-small");
4511 	combo_font_size_items =
4512 		g_list_append (combo_font_size_items, (gpointer) "x-small");
4513 	combo_font_size_items =
4514 		g_list_append (combo_font_size_items, (gpointer) "small");
4515 	combo_font_size_items =
4516 		g_list_append (combo_font_size_items, (gpointer) "medium");
4517 	combo_font_size_items =
4518 		g_list_append (combo_font_size_items, (gpointer) "large");
4519 	combo_font_size_items =
4520 		g_list_append (combo_font_size_items, (gpointer) "x-large");
4521 	combo_font_size_items =
4522 		g_list_append (combo_font_size_items, (gpointer) "xx-large");
4523 	combo_font_size_items =
4524 		g_list_append (combo_font_size_items, (gpointer) "larger");
4525 	combo_font_size_items =
4526 		g_list_append (combo_font_size_items, (gpointer) "smaller ");
4527 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_size),
4528 				       combo_font_size_items);
4529 	g_list_free (combo_font_size_items);
4530 
4531 	combo_entry_font_size = GTK_COMBO (combo_font_size)->entry;
4532 	gtk_widget_show (combo_entry_font_size);
4533 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_font_size),
4534 				   FALSE);
4535 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_size),
4536 			    CSS_STR_USE_PERCLEN);
4537 
4538 	spinbutton_font_size_adj =
4539 		gtk_adjustment_new (8, -35565, 35565, 1, 10, 10);
4540 	spinbutton_font_size =
4541 		gtk_spin_button_new (GTK_ADJUSTMENT
4542 				     (spinbutton_font_size_adj), 1, 0);
4543 	gtk_widget_show (spinbutton_font_size);
4544 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_font_size, FALSE,
4545 			    FALSE, 0);
4546 	gtk_widget_set_size_request (spinbutton_font_size, 50, -1);
4547 
4548 	combo_font_size_units = gtk_combo_new ();
4549 	g_object_set_data (G_OBJECT
4550 			   (GTK_COMBO (combo_font_size_units)->popwin),
4551 			   "GladeParentKey", combo_font_size_units);
4552 	gtk_widget_show (combo_font_size_units);
4553 	gtk_box_pack_start (GTK_BOX (hbox), combo_font_size_units, FALSE,
4554 			    FALSE, 0);
4555 	combo_font_size_units_items =
4556 		g_list_append (combo_font_size_units_items, (gpointer) "%");
4557 	combo_font_size_units_items =
4558 		g_list_append (combo_font_size_units_items, (gpointer) "em");
4559 	combo_font_size_units_items =
4560 		g_list_append (combo_font_size_units_items, (gpointer) "ex");
4561 	combo_font_size_units_items =
4562 		g_list_append (combo_font_size_units_items, (gpointer) "px");
4563 	combo_font_size_units_items =
4564 		g_list_append (combo_font_size_units_items, (gpointer) "in");
4565 	combo_font_size_units_items =
4566 		g_list_append (combo_font_size_units_items, (gpointer) "cm");
4567 	combo_font_size_units_items =
4568 		g_list_append (combo_font_size_units_items, (gpointer) "mm");
4569 	combo_font_size_units_items =
4570 		g_list_append (combo_font_size_units_items, (gpointer) "pt");
4571 	combo_font_size_units_items =
4572 		g_list_append (combo_font_size_units_items, (gpointer) "pc");
4573 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_font_size_units),
4574 				       combo_font_size_units_items);
4575 	g_list_free (combo_font_size_units_items);
4576 
4577 	combo_entry_font_size_units =
4578 		GTK_COMBO (combo_font_size_units)->entry;
4579 	gtk_widget_show (combo_entry_font_size_units);
4580 	gtk_widget_set_size_request (combo_entry_font_size_units, 40, -1);
4581 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_font_size_units),
4582 				   FALSE);
4583 	gtk_entry_set_text (GTK_ENTRY (combo_entry_font_size_units), "px");
4584 
4585 	dialog_action_area = GTK_DIALOG (font_size_dialog)->action_area;
4586 	gtk_widget_show (dialog_action_area);
4587 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
4588 				   GTK_BUTTONBOX_END);
4589 
4590 	helpbutton = gtk_button_new_from_stock ("gtk-help");
4591 	gtk_widget_show (helpbutton);
4592 	gtk_dialog_add_action_widget (GTK_DIALOG (font_size_dialog),
4593 				      helpbutton, GTK_RESPONSE_HELP);
4594 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
4595 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
4596 				    GDK_y, GDK_CONTROL_MASK,
4597 				    GTK_ACCEL_VISIBLE);
4598 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
4599 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
4600 
4601 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
4602 	gtk_widget_show (cancelbutton);
4603 	gtk_dialog_add_action_widget (GTK_DIALOG (font_size_dialog),
4604 				      cancelbutton, GTK_RESPONSE_CANCEL);
4605 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
4606 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
4607 				    GDK_c, GDK_CONTROL_MASK,
4608 				    GTK_ACCEL_VISIBLE);
4609 
4610 	okbutton = gtk_button_new_from_stock ("gtk-ok");
4611 	gtk_widget_show (okbutton);
4612 	gtk_dialog_add_action_widget (GTK_DIALOG (font_size_dialog), okbutton,
4613 				      GTK_RESPONSE_OK);
4614 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
4615 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
4616 				    GDK_o, GDK_CONTROL_MASK,
4617 				    GTK_ACCEL_VISIBLE);
4618 
4619 	g_signal_connect ((gpointer) combo_entry_font_size_units,
4620 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
4621 			  spinbutton_font_size);
4622 
4623 	if (connect_callbacks)
4624 	{
4625 		g_signal_connect ((gpointer) font_size_dialog, "close",
4626 				  G_CALLBACK (on_css_dialog_close), data);
4627 
4628 		g_signal_connect ((gpointer) helpbutton, "clicked",
4629 				  G_CALLBACK
4630 				  (on_font_size_dialog_helpbutton_clicked),
4631 				  NULL);
4632 		g_signal_connect ((gpointer) cancelbutton, "clicked",
4633 				  G_CALLBACK
4634 				  (on_css_dialog_cancel_button_clicked),
4635 				  data);
4636 		g_signal_connect ((gpointer) okbutton, "clicked",
4637 				  G_CALLBACK
4638 				  (on_font_size_dialog_okbutton_clicked),
4639 				  data);
4640 	}
4641 
4642 	GLADE_HOOKUP_OBJECT_NO_REF (font_size_dialog, font_size_dialog,
4643 				    "font_size_dialog");
4644 	GLADE_HOOKUP_OBJECT_NO_REF (font_size_dialog, dialog_vbox,
4645 				    "dialog_vbox");
4646 	GLADE_HOOKUP_OBJECT (font_size_dialog, hbox, "hbox");
4647 	GLADE_HOOKUP_OBJECT (font_size_dialog, label_font_size,
4648 			     "label_font_size");
4649 	GLADE_HOOKUP_OBJECT (font_size_dialog, combo_font_size,
4650 			     "combo_font_size");
4651 	GLADE_HOOKUP_OBJECT (font_size_dialog, combo_entry_font_size,
4652 			     "combo_entry_font_size");
4653 	GLADE_HOOKUP_OBJECT (font_size_dialog, spinbutton_font_size,
4654 			     "spinbutton_font_size");
4655 	GLADE_HOOKUP_OBJECT (font_size_dialog, combo_font_size_units,
4656 			     "combo_font_size_units");
4657 	GLADE_HOOKUP_OBJECT (font_size_dialog, combo_entry_font_size_units,
4658 			     "combo_entry_font_size_units");
4659 	GLADE_HOOKUP_OBJECT_NO_REF (font_size_dialog, dialog_action_area,
4660 				    "dialog_action_area");
4661 	GLADE_HOOKUP_OBJECT (font_size_dialog, helpbutton, "helpbutton");
4662 	GLADE_HOOKUP_OBJECT (font_size_dialog, cancelbutton, "cancelbutton");
4663 	GLADE_HOOKUP_OBJECT (font_size_dialog, okbutton, "okbutton");
4664 
4665 	gtk_window_add_accel_group (GTK_WINDOW (font_size_dialog),
4666 				    accel_group);
4667 
4668 	return font_size_dialog;
4669 }
4670 
4671 GtkWidget *
create_frecuency_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)4672 create_frecuency_property_dialog (CssedWindow * window,
4673 				  gchar * previous_string,
4674 				  gboolean add_previous_string,
4675 				  gboolean connect_callbacks)
4676 {
4677 	GtkWidget *frecuency_property_dialog;
4678 	GtkWidget *dialog_vbox;
4679 	GtkWidget *hbox50;
4680 	GtkWidget *label_frecuency;
4681 	GtkObject *spinbutton_frecuency_adj;
4682 	GtkWidget *spinbutton_frecuency;
4683 	GtkWidget *combo_frecuency;
4684 	GList *combo_frecuency_items = NULL;
4685 	GtkWidget *combo_entry_frecuency;
4686 	GtkWidget *dialog_action_area;
4687 	GtkWidget *helpbutton;
4688 	GtkWidget *cancelbutton;
4689 	GtkWidget *okbutton;
4690 	GtkAccelGroup *accel_group;
4691 	GtkWidget *main_window;
4692 	CssedCssDialogsData *data = NULL;
4693 
4694 	if (connect_callbacks)
4695 	{
4696 		data = g_malloc (sizeof (CssedCssDialogsData));
4697 		data->main_window = window;
4698 		data->previous_string = previous_string;
4699 		data->add_property_string = add_previous_string;
4700 	}
4701 
4702 
4703 	accel_group = gtk_accel_group_new ();
4704 
4705 	frecuency_property_dialog = gtk_dialog_new ();
4706 	gtk_window_set_title (GTK_WINDOW (frecuency_property_dialog),
4707 			      previous_string);
4708 	gtk_window_set_modal (GTK_WINDOW (frecuency_property_dialog), TRUE);
4709 
4710 	main_window = cssed_window_get_window_widget( window );
4711 
4712 	gtk_window_set_transient_for (GTK_WINDOW (frecuency_property_dialog),
4713 				      GTK_WINDOW (main_window));
4714 
4715 	dialog_vbox = GTK_DIALOG (frecuency_property_dialog)->vbox;
4716 	gtk_widget_show (dialog_vbox);
4717 
4718 	hbox50 = gtk_hbox_new (FALSE, 0);
4719 	gtk_widget_show (hbox50);
4720 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox50, TRUE, TRUE, 0);
4721 
4722 	label_frecuency = gtk_label_new (_("frequency"));
4723 	gtk_widget_show (label_frecuency);
4724 	gtk_box_pack_start (GTK_BOX (hbox50), label_frecuency, TRUE, TRUE, 0);
4725 	gtk_label_set_justify (GTK_LABEL (label_frecuency), GTK_JUSTIFY_LEFT);
4726 
4727 	spinbutton_frecuency_adj =
4728 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
4729 	spinbutton_frecuency =
4730 		gtk_spin_button_new (GTK_ADJUSTMENT
4731 				     (spinbutton_frecuency_adj), 1, 0);
4732 	gtk_widget_show (spinbutton_frecuency);
4733 	gtk_box_pack_start (GTK_BOX (hbox50), spinbutton_frecuency, FALSE,
4734 			    FALSE, 5);
4735 
4736 	combo_frecuency = gtk_combo_new ();
4737 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_frecuency)->popwin),
4738 			   "GladeParentKey", combo_frecuency);
4739 	gtk_widget_show (combo_frecuency);
4740 	gtk_box_pack_start (GTK_BOX (hbox50), combo_frecuency, FALSE, FALSE,
4741 			    5);
4742 	combo_frecuency_items =
4743 		g_list_append (combo_frecuency_items, (gpointer) "Hz");
4744 	combo_frecuency_items =
4745 		g_list_append (combo_frecuency_items, (gpointer) "kHz");
4746 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_frecuency),
4747 				       combo_frecuency_items);
4748 	g_list_free (combo_frecuency_items);
4749 
4750 	combo_entry_frecuency = GTK_COMBO (combo_frecuency)->entry;
4751 	gtk_widget_show (combo_entry_frecuency);
4752 	gtk_widget_set_size_request (combo_entry_frecuency, 50, -1);
4753 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_frecuency),
4754 				   FALSE);
4755 	gtk_entry_set_text (GTK_ENTRY (combo_entry_frecuency), "Hz");
4756 
4757 	dialog_action_area =
4758 		GTK_DIALOG (frecuency_property_dialog)->action_area;
4759 	gtk_widget_show (dialog_action_area);
4760 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
4761 				   GTK_BUTTONBOX_END);
4762 
4763 	helpbutton = gtk_button_new_from_stock ("gtk-help");
4764 	gtk_widget_show (helpbutton);
4765 	gtk_dialog_add_action_widget (GTK_DIALOG (frecuency_property_dialog),
4766 				      helpbutton, GTK_RESPONSE_HELP);
4767 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
4768 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
4769 				    GDK_y, GDK_CONTROL_MASK,
4770 				    GTK_ACCEL_VISIBLE);
4771 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
4772 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
4773 
4774 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
4775 	gtk_widget_show (cancelbutton);
4776 	gtk_dialog_add_action_widget (GTK_DIALOG (frecuency_property_dialog),
4777 				      cancelbutton, GTK_RESPONSE_CANCEL);
4778 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
4779 
4780 	okbutton = gtk_button_new_from_stock ("gtk-ok");
4781 	gtk_widget_show (okbutton);
4782 	gtk_dialog_add_action_widget (GTK_DIALOG (frecuency_property_dialog),
4783 				      okbutton, GTK_RESPONSE_OK);
4784 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
4785 
4786 	if (connect_callbacks)
4787 	{
4788 		g_signal_connect ((gpointer) frecuency_property_dialog,
4789 				  "close", G_CALLBACK (on_css_dialog_close),
4790 				  data);
4791 
4792 		g_signal_connect ((gpointer) helpbutton, "clicked",
4793 				  G_CALLBACK
4794 				  (on_dialog_frecuency_helpbutton_clicked),
4795 				  NULL);
4796 		g_signal_connect ((gpointer) cancelbutton, "clicked",
4797 				  G_CALLBACK
4798 				  (on_css_dialog_cancel_button_clicked),
4799 				  data);
4800 		g_signal_connect ((gpointer) okbutton, "clicked",
4801 				  G_CALLBACK
4802 				  (on_frecuency_property_dialog_okbutton_clicked),
4803 				  data);
4804 	}
4805 
4806 	GLADE_HOOKUP_OBJECT_NO_REF (frecuency_property_dialog,
4807 				    frecuency_property_dialog,
4808 				    "frecuency_property_dialog");
4809 	GLADE_HOOKUP_OBJECT_NO_REF (frecuency_property_dialog, dialog_vbox,
4810 				    "dialog_vbox");
4811 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, hbox50, "hbox50");
4812 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, label_frecuency,
4813 			     "label_frecuency");
4814 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, spinbutton_frecuency,
4815 			     "spinbutton_frecuency");
4816 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, combo_frecuency,
4817 			     "combo_frecuency");
4818 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, combo_entry_frecuency,
4819 			     "combo_entry_frecuency");
4820 	GLADE_HOOKUP_OBJECT_NO_REF (frecuency_property_dialog,
4821 				    dialog_action_area, "dialog_action_area");
4822 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, helpbutton,
4823 			     "helpbutton");
4824 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, cancelbutton,
4825 			     "cancelbutton");
4826 	GLADE_HOOKUP_OBJECT (frecuency_property_dialog, okbutton, "okbutton");
4827 
4828 	gtk_window_add_accel_group (GTK_WINDOW (frecuency_property_dialog),
4829 				    accel_group);
4830 
4831 	return frecuency_property_dialog;
4832 }
4833 
4834 
4835 
4836 GtkWidget *
create_identifier_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)4837 create_identifier_value_dialog (CssedWindow * window,
4838 				gchar * previous_string,
4839 				gboolean add_previous_string,
4840 				gboolean connect_callbacks)
4841 {
4842 	GtkWidget *identifier_value_dialog;
4843 	GtkWidget *dialog_vbox;
4844 	GtkWidget *hbox;
4845 	GtkWidget *label;
4846 	GtkWidget *entry_identifier;
4847 	GtkWidget *dialog_action_area;
4848 	GtkWidget *helpbutton;
4849 	GtkWidget *cancelbutton;
4850 	GtkWidget *okbutton;
4851 	GtkAccelGroup *accel_group;
4852 	GtkWidget *main_window;
4853 	CssedCssDialogsData *data = NULL;
4854 
4855 	if (connect_callbacks)
4856 	{
4857 		data = g_malloc (sizeof (CssedCssDialogsData));
4858 		data->main_window = window;
4859 		data->previous_string = previous_string;
4860 		data->add_property_string = add_previous_string;
4861 	}
4862 
4863 	accel_group = gtk_accel_group_new ();
4864 
4865 	identifier_value_dialog = gtk_dialog_new ();
4866 	gtk_window_set_title (GTK_WINDOW (identifier_value_dialog),
4867 			      previous_string);
4868 	gtk_window_set_modal (GTK_WINDOW (identifier_value_dialog), TRUE);
4869 
4870 	main_window = cssed_window_get_window_widget( window );
4871 
4872 	gtk_window_set_transient_for (GTK_WINDOW (identifier_value_dialog),
4873 				      GTK_WINDOW (main_window));
4874 
4875 	dialog_vbox = GTK_DIALOG (identifier_value_dialog)->vbox;
4876 	gtk_widget_show (dialog_vbox);
4877 
4878 	hbox = gtk_hbox_new (TRUE, 0);
4879 	gtk_widget_show (hbox);
4880 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
4881 
4882 	label = gtk_label_new (_("Identifier"));
4883 	gtk_widget_show (label);
4884 	gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
4885 	gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
4886 
4887 	entry_identifier = gtk_entry_new ();
4888 	gtk_widget_show (entry_identifier);
4889 	gtk_box_pack_start (GTK_BOX (hbox), entry_identifier, TRUE, TRUE, 5);
4890 
4891 	dialog_action_area =
4892 		GTK_DIALOG (identifier_value_dialog)->action_area;
4893 	gtk_widget_show (dialog_action_area);
4894 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
4895 				   GTK_BUTTONBOX_END);
4896 
4897 	helpbutton = gtk_button_new_from_stock ("gtk-help");
4898 	gtk_widget_show (helpbutton);
4899 	gtk_dialog_add_action_widget (GTK_DIALOG (identifier_value_dialog),
4900 				      helpbutton, GTK_RESPONSE_HELP);
4901 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
4902 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
4903 				    GDK_y, GDK_CONTROL_MASK,
4904 				    GTK_ACCEL_VISIBLE);
4905 
4906 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
4907 	gtk_widget_show (cancelbutton);
4908 	gtk_dialog_add_action_widget (GTK_DIALOG (identifier_value_dialog),
4909 				      cancelbutton, GTK_RESPONSE_CANCEL);
4910 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
4911 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
4912 				    GDK_c, GDK_CONTROL_MASK,
4913 				    GTK_ACCEL_VISIBLE);
4914 
4915 	okbutton = gtk_button_new_from_stock ("gtk-ok");
4916 	gtk_widget_show (okbutton);
4917 	gtk_dialog_add_action_widget (GTK_DIALOG (identifier_value_dialog),
4918 				      okbutton, GTK_RESPONSE_OK);
4919 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
4920 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
4921 				    GDK_o, GDK_CONTROL_MASK,
4922 				    GTK_ACCEL_VISIBLE);
4923 	if (connect_callbacks)
4924 	{
4925 		g_signal_connect ((gpointer) identifier_value_dialog, "close",
4926 				  G_CALLBACK (on_css_dialog_close), data);
4927 		g_signal_connect ((gpointer) helpbutton, "clicked",
4928 				  G_CALLBACK
4929 				  (on_identifier_value_helpbutton_clicked),
4930 				  NULL);
4931 		g_signal_connect ((gpointer) cancelbutton, "clicked",
4932 				  G_CALLBACK
4933 				  (on_css_dialog_cancel_button_clicked),
4934 				  data);
4935 		g_signal_connect ((gpointer) okbutton, "clicked",
4936 				  G_CALLBACK
4937 				  (on_identifier_value_dialog_okbutton_clicked),
4938 				  data);
4939 	}
4940 	/*
4941 	 * Store pointers to all widgets, for use by lookup_widget().
4942 	 */
4943 	GLADE_HOOKUP_OBJECT_NO_REF (identifier_value_dialog,
4944 				    identifier_value_dialog,
4945 				    "identifier_value_dialog");
4946 	GLADE_HOOKUP_OBJECT_NO_REF (identifier_value_dialog, dialog_vbox,
4947 				    "dialog_vbox");
4948 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, hbox, "hbox");
4949 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, label, "label");
4950 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, entry_identifier,
4951 			     "entry_identifier");
4952 	GLADE_HOOKUP_OBJECT_NO_REF (identifier_value_dialog,
4953 				    dialog_action_area, "dialog_action_area");
4954 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, helpbutton,
4955 			     "helpbutton");
4956 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, cancelbutton,
4957 			     "cancelbutton");
4958 	GLADE_HOOKUP_OBJECT (identifier_value_dialog, okbutton, "okbutton");
4959 
4960 	gtk_window_add_accel_group (GTK_WINDOW (identifier_value_dialog),
4961 				    accel_group);
4962 
4963 	return identifier_value_dialog;
4964 }
4965 
4966 GtkWidget *
create_integer_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)4967 create_integer_value_dialog (CssedWindow * window,
4968 			     gchar * previous_string,
4969 			     gboolean add_previous_string,
4970 			     gboolean connect_callbacks)
4971 {
4972 	GtkWidget *integer_value_dialog;
4973 	GtkWidget *dialog_vbox;
4974 	GtkWidget *hbox;
4975 	GtkWidget *label_integer;
4976 	GtkObject *spinbutton_integer_adj;
4977 	GtkWidget *spinbutton_integer;
4978 	GtkWidget *dialog_action_area;
4979 	GtkWidget *helpbutton;
4980 	GtkWidget *cancelbutton;
4981 	GtkWidget *okbutton;
4982 	GtkAccelGroup *accel_group;
4983 	GtkWidget *main_window;
4984 	CssedCssDialogsData *data = NULL;
4985 
4986 	if (connect_callbacks)
4987 	{
4988 		data = g_malloc (sizeof (CssedCssDialogsData));
4989 		data->main_window = window;
4990 		data->previous_string = previous_string;
4991 		data->add_property_string = add_previous_string;
4992 	}
4993 
4994 	accel_group = gtk_accel_group_new ();
4995 
4996 	integer_value_dialog = gtk_dialog_new ();
4997 	gtk_window_set_title (GTK_WINDOW (integer_value_dialog),
4998 			      previous_string);
4999 	// ~ gtk_window_set_position (GTK_WINDOW (integer_value_dialog),
5000 	// ~ GTK_WIN_POS_CENTER);
5001 	gtk_window_set_modal (GTK_WINDOW (integer_value_dialog), TRUE);
5002 
5003 	main_window = cssed_window_get_window_widget( window );
5004 
5005 	gtk_window_set_transient_for (GTK_WINDOW (integer_value_dialog),
5006 				      GTK_WINDOW (main_window));
5007 
5008 	dialog_vbox = GTK_DIALOG (integer_value_dialog)->vbox;
5009 	gtk_widget_show (dialog_vbox);
5010 
5011 	hbox = gtk_hbox_new (FALSE, 0);
5012 	gtk_widget_show (hbox);
5013 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
5014 
5015 	label_integer = gtk_label_new (previous_string);
5016 	gtk_widget_show (label_integer);
5017 	gtk_box_pack_start (GTK_BOX (hbox), label_integer, TRUE, TRUE, 0);
5018 	gtk_label_set_justify (GTK_LABEL (label_integer), GTK_JUSTIFY_LEFT);
5019 
5020 	spinbutton_integer_adj =
5021 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5022 	spinbutton_integer =
5023 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_integer_adj),
5024 				     1, 0);
5025 	gtk_widget_show (spinbutton_integer);
5026 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_integer, FALSE, TRUE,
5027 			    5);
5028 
5029 	dialog_action_area = GTK_DIALOG (integer_value_dialog)->action_area;
5030 	gtk_widget_show (dialog_action_area);
5031 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
5032 				   GTK_BUTTONBOX_END);
5033 
5034 	helpbutton = gtk_button_new_from_stock ("gtk-help");
5035 	gtk_widget_show (helpbutton);
5036 	gtk_dialog_add_action_widget (GTK_DIALOG (integer_value_dialog),
5037 				      helpbutton, GTK_RESPONSE_HELP);
5038 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
5039 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
5040 				    GDK_y, GDK_CONTROL_MASK,
5041 				    GTK_ACCEL_VISIBLE);
5042 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
5043 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
5044 
5045 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
5046 	gtk_widget_show (cancelbutton);
5047 	gtk_dialog_add_action_widget (GTK_DIALOG (integer_value_dialog),
5048 				      cancelbutton, GTK_RESPONSE_CANCEL);
5049 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
5050 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
5051 				    GDK_c, GDK_CONTROL_MASK,
5052 				    GTK_ACCEL_VISIBLE);
5053 
5054 	okbutton = gtk_button_new_from_stock ("gtk-ok");
5055 	gtk_widget_show (okbutton);
5056 	gtk_dialog_add_action_widget (GTK_DIALOG (integer_value_dialog),
5057 				      okbutton, GTK_RESPONSE_OK);
5058 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
5059 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
5060 				    GDK_o, GDK_CONTROL_MASK,
5061 				    GTK_ACCEL_VISIBLE);
5062 	if (connect_callbacks)
5063 	{
5064 		g_signal_connect ((gpointer) integer_value_dialog, "close",
5065 				  G_CALLBACK (on_css_dialog_close), data);
5066 
5067 		g_signal_connect ((gpointer) helpbutton, "clicked",
5068 				  G_CALLBACK
5069 				  (on_dialog_integer_helpbutton_clicked),
5070 				  NULL);
5071 		g_signal_connect ((gpointer) cancelbutton, "clicked",
5072 				  G_CALLBACK
5073 				  (on_css_dialog_cancel_button_clicked),
5074 				  data);
5075 		g_signal_connect ((gpointer) okbutton, "clicked",
5076 				  G_CALLBACK
5077 				  (on_integer_value_dialog_okbutton_clicked),
5078 				  data);
5079 	}
5080 	/*
5081 	 * Store pointers to all widgets, for use by lookup_widget().
5082 	 */
5083 	GLADE_HOOKUP_OBJECT_NO_REF (integer_value_dialog,
5084 				    integer_value_dialog,
5085 				    "integer_value_dialog");
5086 	GLADE_HOOKUP_OBJECT_NO_REF (integer_value_dialog, dialog_vbox,
5087 				    "dialog_vbox");
5088 	GLADE_HOOKUP_OBJECT (integer_value_dialog, hbox, "hbox");
5089 	GLADE_HOOKUP_OBJECT (integer_value_dialog, label_integer,
5090 			     "label_integer");
5091 	GLADE_HOOKUP_OBJECT (integer_value_dialog, spinbutton_integer,
5092 			     "spinbutton_integer");
5093 	GLADE_HOOKUP_OBJECT_NO_REF (integer_value_dialog, dialog_action_area,
5094 				    "dialog_action_area");
5095 	GLADE_HOOKUP_OBJECT (integer_value_dialog, helpbutton, "helpbutton");
5096 	GLADE_HOOKUP_OBJECT (integer_value_dialog, cancelbutton,
5097 			     "cancelbutton");
5098 	GLADE_HOOKUP_OBJECT (integer_value_dialog, okbutton, "okbutton");
5099 
5100 	gtk_window_add_accel_group (GTK_WINDOW (integer_value_dialog),
5101 				    accel_group);
5102 
5103 	return integer_value_dialog;
5104 }
5105 
5106 GtkWidget *
create_length_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)5107 create_length_value_dialog (CssedWindow * window,
5108 			    gchar * previous_string,
5109 			    gboolean add_previous_string,
5110 			    gboolean connect_callbacks)
5111 {
5112 	GtkWidget *length_value_dialog;
5113 	GtkWidget *dialog_vbox;
5114 	GtkWidget *hbox;
5115 	GtkWidget *label_length;
5116 	GtkObject *spinbutton_length_adj;
5117 	GtkWidget *spinbutton_length;
5118 	GtkWidget *combo_length;
5119 	GList *combo_length_items = NULL;
5120 	GtkWidget *combo_entry_length;
5121 	GtkWidget *dialog_action_area;
5122 	GtkWidget *helpbutton;
5123 	GtkWidget *cancelbutton;
5124 	GtkWidget *okbutton;
5125 	GtkAccelGroup *accel_group;
5126 	GtkWidget *main_window;
5127 	CssedCssDialogsData *data = NULL;
5128 
5129 	if (connect_callbacks)
5130 	{
5131 		data = g_malloc (sizeof (CssedCssDialogsData));
5132 		data->main_window = window;
5133 		data->previous_string = previous_string;
5134 		data->add_property_string = add_previous_string;
5135 	}
5136 
5137 	accel_group = gtk_accel_group_new ();
5138 
5139 	length_value_dialog = gtk_dialog_new ();
5140 	gtk_window_set_title (GTK_WINDOW (length_value_dialog),
5141 			      previous_string);
5142 	// ~ gtk_window_set_position (GTK_WINDOW (length_value_dialog),
5143 	// ~ GTK_WIN_POS_CENTER);
5144 	gtk_window_set_modal (GTK_WINDOW (length_value_dialog), TRUE);
5145 
5146 	main_window = cssed_window_get_window_widget( window );
5147 
5148 	gtk_window_set_transient_for (GTK_WINDOW (length_value_dialog),
5149 				      GTK_WINDOW (main_window));
5150 
5151 	dialog_vbox = GTK_DIALOG (length_value_dialog)->vbox;
5152 	gtk_widget_show (dialog_vbox);
5153 
5154 	hbox = gtk_hbox_new (FALSE, 0);
5155 	gtk_widget_show (hbox);
5156 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
5157 
5158 	label_length = gtk_label_new (previous_string);
5159 	gtk_widget_show (label_length);
5160 	gtk_box_pack_start (GTK_BOX (hbox), label_length, TRUE, TRUE, 0);
5161 	gtk_label_set_justify (GTK_LABEL (label_length), GTK_JUSTIFY_LEFT);
5162 
5163 	spinbutton_length_adj =
5164 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5165 	spinbutton_length =
5166 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_length_adj),
5167 				     1, 0);
5168 	gtk_widget_show (spinbutton_length);
5169 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_length, FALSE, FALSE,
5170 			    5);
5171 
5172 	combo_length = gtk_combo_new ();
5173 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_length)->popwin),
5174 			   "GladeParentKey", combo_length);
5175 	gtk_widget_show (combo_length);
5176 	gtk_box_pack_start (GTK_BOX (hbox), combo_length, FALSE, FALSE, 5);
5177 	combo_length_items =
5178 		g_list_append (combo_length_items, (gpointer) "em");
5179 	combo_length_items =
5180 		g_list_append (combo_length_items, (gpointer) "ex");
5181 	combo_length_items =
5182 		g_list_append (combo_length_items, (gpointer) "px");
5183 	combo_length_items =
5184 		g_list_append (combo_length_items, (gpointer) "in");
5185 	combo_length_items =
5186 		g_list_append (combo_length_items, (gpointer) "cm");
5187 	combo_length_items =
5188 		g_list_append (combo_length_items, (gpointer) "mm");
5189 	combo_length_items =
5190 		g_list_append (combo_length_items, (gpointer) "pt");
5191 	combo_length_items =
5192 		g_list_append (combo_length_items, (gpointer) "pc");
5193 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_length),
5194 				       combo_length_items);
5195 	g_list_free (combo_length_items);
5196 
5197 	combo_entry_length = GTK_COMBO (combo_length)->entry;
5198 	gtk_widget_show (combo_entry_length);
5199 	gtk_widget_set_size_request (combo_entry_length, 25, -1);
5200 	gtk_entry_set_text (GTK_ENTRY (combo_entry_length), "px");
5201 
5202 	dialog_action_area = GTK_DIALOG (length_value_dialog)->action_area;
5203 	gtk_widget_show (dialog_action_area);
5204 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
5205 				   GTK_BUTTONBOX_END);
5206 
5207 	helpbutton = gtk_button_new_from_stock ("gtk-help");
5208 	gtk_widget_show (helpbutton);
5209 	gtk_dialog_add_action_widget (GTK_DIALOG (length_value_dialog),
5210 				      helpbutton, GTK_RESPONSE_HELP);
5211 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
5212 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
5213 				    GDK_y, GDK_CONTROL_MASK,
5214 				    GTK_ACCEL_VISIBLE);
5215 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
5216 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
5217 
5218 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
5219 	gtk_widget_show (cancelbutton);
5220 	gtk_dialog_add_action_widget (GTK_DIALOG (length_value_dialog),
5221 				      cancelbutton, GTK_RESPONSE_CANCEL);
5222 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
5223 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
5224 				    GDK_c, GDK_CONTROL_MASK,
5225 				    GTK_ACCEL_VISIBLE);
5226 
5227 	okbutton = gtk_button_new_from_stock ("gtk-ok");
5228 	gtk_widget_show (okbutton);
5229 	gtk_dialog_add_action_widget (GTK_DIALOG (length_value_dialog),
5230 				      okbutton, GTK_RESPONSE_OK);
5231 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
5232 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
5233 				    GDK_o, GDK_CONTROL_MASK,
5234 				    GTK_ACCEL_VISIBLE);
5235 
5236 	g_signal_connect ((gpointer) combo_entry_length,
5237 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
5238 			  spinbutton_length);
5239 
5240 	if (connect_callbacks)
5241 	{
5242 		g_signal_connect ((gpointer) length_value_dialog, "close",
5243 				  G_CALLBACK (on_css_dialog_close), data);
5244 
5245 		g_signal_connect ((gpointer) helpbutton, "clicked",
5246 				  G_CALLBACK
5247 				  (on_length_value_dialog_helpbutton_clicked),
5248 				  NULL);
5249 		g_signal_connect ((gpointer) cancelbutton, "clicked",
5250 				  G_CALLBACK
5251 				  (on_css_dialog_cancel_button_clicked),
5252 				  data);
5253 		g_signal_connect ((gpointer) okbutton, "clicked",
5254 				  G_CALLBACK
5255 				  (on_length_value_dialog_okbutton_clicked),
5256 				  data);
5257 	}
5258 	/*
5259 	 * Store pointers to all widgets, for use by lookup_widget().
5260 	 */
5261 	GLADE_HOOKUP_OBJECT_NO_REF (length_value_dialog, length_value_dialog,
5262 				    "length_value_dialog");
5263 	GLADE_HOOKUP_OBJECT_NO_REF (length_value_dialog, dialog_vbox,
5264 				    "dialog_vbox");
5265 	GLADE_HOOKUP_OBJECT (length_value_dialog, hbox, "hbox");
5266 	GLADE_HOOKUP_OBJECT (length_value_dialog, label_length,
5267 			     "label_length");
5268 	GLADE_HOOKUP_OBJECT (length_value_dialog, spinbutton_length,
5269 			     "spinbutton_length");
5270 	GLADE_HOOKUP_OBJECT (length_value_dialog, combo_length,
5271 			     "combo_length");
5272 	GLADE_HOOKUP_OBJECT (length_value_dialog, combo_entry_length,
5273 			     "combo_entry_length");
5274 	GLADE_HOOKUP_OBJECT_NO_REF (length_value_dialog, dialog_action_area,
5275 				    "dialog_action_area");
5276 	GLADE_HOOKUP_OBJECT (length_value_dialog, helpbutton, "helpbutton");
5277 	GLADE_HOOKUP_OBJECT (length_value_dialog, cancelbutton,
5278 			     "cancelbutton");
5279 	GLADE_HOOKUP_OBJECT (length_value_dialog, okbutton, "okbutton");
5280 
5281 	gtk_window_add_accel_group (GTK_WINDOW (length_value_dialog),
5282 				    accel_group);
5283 
5284 	return length_value_dialog;
5285 }
5286 
5287 GtkWidget *
create_list_style_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)5288 create_list_style_dialog (CssedWindow * window,
5289 			  gchar * previous_string,
5290 			  gboolean add_previous_string,
5291 			  gboolean connect_callbacks)
5292 {
5293 	GtkWidget *list_style_dialog;
5294 	GtkWidget *dialog_vbox;
5295 	GtkWidget *vbox;
5296 	GtkWidget *hbox_position;
5297 	GtkWidget *checkbutton_position;
5298 	GtkWidget *combo_position;
5299 	GList *combo_position_items = NULL;
5300 	GtkWidget *combo_entry_position;
5301 	GtkWidget *hbox_type;
5302 	GtkWidget *checkbutton_type;
5303 	GtkWidget *combo_type;
5304 	GList *combo_type_items = NULL;
5305 	GtkWidget *combo_entry_type;
5306 	GtkWidget *hbox_image;
5307 	GtkWidget *checkbutton_image;
5308 	GtkWidget *entry_image;
5309 	GtkWidget *dialog_action_area;
5310 	GtkWidget *helpbutton;
5311 	GtkWidget *cancelbutton;
5312 	GtkWidget *okbutton;
5313 	GtkAccelGroup *accel_group;
5314 	GtkWidget *main_window;
5315 	CssedCssDialogsData *data = NULL;
5316 
5317 	if (connect_callbacks)
5318 	{
5319 		data = g_malloc (sizeof (CssedCssDialogsData));
5320 		data->main_window = window;
5321 		data->previous_string = previous_string;
5322 		data->add_property_string = add_previous_string;
5323 	}
5324 
5325 	accel_group = gtk_accel_group_new ();
5326 
5327 	list_style_dialog = gtk_dialog_new ();
5328 	gtk_window_set_title (GTK_WINDOW (list_style_dialog),
5329 			      previous_string);
5330 
5331 	gtk_window_set_modal (GTK_WINDOW (list_style_dialog), TRUE);
5332 	main_window = cssed_window_get_window_widget( window );
5333 
5334 	gtk_window_set_transient_for (GTK_WINDOW (list_style_dialog),
5335 				      GTK_WINDOW (main_window));
5336 
5337 	dialog_vbox = GTK_DIALOG (list_style_dialog)->vbox;
5338 	gtk_widget_show (dialog_vbox);
5339 
5340 	vbox = gtk_vbox_new (FALSE, 0);
5341 	gtk_widget_show (vbox);
5342 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
5343 
5344 	hbox_position = gtk_hbox_new (TRUE, 0);
5345 	gtk_widget_show (hbox_position);
5346 	gtk_box_pack_start (GTK_BOX (vbox), hbox_position, TRUE, TRUE, 0);
5347 
5348 	checkbutton_position =
5349 		gtk_check_button_new_with_mnemonic (_("list style position"));
5350 	gtk_widget_show (checkbutton_position);
5351 	gtk_box_pack_start (GTK_BOX (hbox_position), checkbutton_position,
5352 			    TRUE, TRUE, 5);
5353 
5354 	combo_position = gtk_combo_new ();
5355 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_position)->popwin),
5356 			   "GladeParentKey", combo_position);
5357 	gtk_widget_show (combo_position);
5358 	gtk_box_pack_start (GTK_BOX (hbox_position), combo_position, TRUE,
5359 			    TRUE, 5);
5360 	combo_position_items =
5361 		g_list_append (combo_position_items, (gpointer) "inside");
5362 	combo_position_items =
5363 		g_list_append (combo_position_items, (gpointer) "outside");
5364 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_position),
5365 				       combo_position_items);
5366 	g_list_free (combo_position_items);
5367 
5368 	combo_entry_position = GTK_COMBO (combo_position)->entry;
5369 	gtk_widget_show (combo_entry_position);
5370 	gtk_entry_set_text (GTK_ENTRY (combo_entry_position), "inside");
5371 
5372 	hbox_type = gtk_hbox_new (TRUE, 0);
5373 	gtk_widget_show (hbox_type);
5374 	gtk_box_pack_start (GTK_BOX (vbox), hbox_type, TRUE, TRUE, 0);
5375 
5376 	checkbutton_type =
5377 		gtk_check_button_new_with_mnemonic (_("list style type"));
5378 	gtk_widget_show (checkbutton_type);
5379 	gtk_box_pack_start (GTK_BOX (hbox_type), checkbutton_type, TRUE, TRUE,
5380 			    5);
5381 
5382 	combo_type = gtk_combo_new ();
5383 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_type)->popwin),
5384 			   "GladeParentKey", combo_type);
5385 	gtk_widget_show (combo_type);
5386 	gtk_box_pack_start (GTK_BOX (hbox_type), combo_type, FALSE, FALSE, 0);
5387 	combo_type_items =
5388 		g_list_append (combo_type_items, (gpointer) "disc");
5389 	combo_type_items =
5390 		g_list_append (combo_type_items, (gpointer) "circle");
5391 	combo_type_items =
5392 		g_list_append (combo_type_items, (gpointer) "square");
5393 	combo_type_items =
5394 		g_list_append (combo_type_items, (gpointer) "decimal");
5395 	combo_type_items =
5396 		g_list_append (combo_type_items,
5397 			       (gpointer) "decimal-leading-zero");
5398 	combo_type_items =
5399 		g_list_append (combo_type_items, (gpointer) "lower-roman");
5400 	combo_type_items =
5401 		g_list_append (combo_type_items, (gpointer) "upper-roman");
5402 	combo_type_items =
5403 		g_list_append (combo_type_items, (gpointer) "lower-greek");
5404 	combo_type_items =
5405 		g_list_append (combo_type_items, (gpointer) "lower-alpha");
5406 	combo_type_items =
5407 		g_list_append (combo_type_items, (gpointer) "lower-latin");
5408 	combo_type_items =
5409 		g_list_append (combo_type_items, (gpointer) "upper-alpha");
5410 	combo_type_items =
5411 		g_list_append (combo_type_items, (gpointer) "upper-latin");
5412 	combo_type_items =
5413 		g_list_append (combo_type_items, (gpointer) "hebrew");
5414 	combo_type_items =
5415 		g_list_append (combo_type_items, (gpointer) "armenian");
5416 	combo_type_items =
5417 		g_list_append (combo_type_items, (gpointer) "georgian");
5418 	combo_type_items =
5419 		g_list_append (combo_type_items,
5420 			       (gpointer) "cjk-ideographic");
5421 	combo_type_items =
5422 		g_list_append (combo_type_items, (gpointer) "hiragana");
5423 	combo_type_items =
5424 		g_list_append (combo_type_items, (gpointer) "katakana");
5425 	combo_type_items =
5426 		g_list_append (combo_type_items, (gpointer) "hiragana-iroha");
5427 	combo_type_items =
5428 		g_list_append (combo_type_items, (gpointer) "katakana-iroha");
5429 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_type),
5430 				       combo_type_items);
5431 	g_list_free (combo_type_items);
5432 
5433 	combo_entry_type = GTK_COMBO (combo_type)->entry;
5434 	gtk_widget_show (combo_entry_type);
5435 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_type), FALSE);
5436 	gtk_entry_set_text (GTK_ENTRY (combo_entry_type), "disc");
5437 
5438 	hbox_image = gtk_hbox_new (TRUE, 0);
5439 	gtk_widget_show (hbox_image);
5440 	gtk_box_pack_start (GTK_BOX (vbox), hbox_image, TRUE, TRUE, 0);
5441 
5442 	checkbutton_image =
5443 		gtk_check_button_new_with_mnemonic (_
5444 						    ("list style image (uri)"));
5445 	gtk_widget_show (checkbutton_image);
5446 	gtk_box_pack_start (GTK_BOX (hbox_image), checkbutton_image, TRUE,
5447 			    TRUE, 5);
5448 
5449 	entry_image = gtk_entry_new ();
5450 	gtk_widget_show (entry_image);
5451 	gtk_box_pack_start (GTK_BOX (hbox_image), entry_image, TRUE, TRUE, 5);
5452 
5453 	dialog_action_area = GTK_DIALOG (list_style_dialog)->action_area;
5454 	gtk_widget_show (dialog_action_area);
5455 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
5456 				   GTK_BUTTONBOX_END);
5457 
5458 	helpbutton = gtk_button_new_from_stock ("gtk-help");
5459 	gtk_widget_show (helpbutton);
5460 	gtk_dialog_add_action_widget (GTK_DIALOG (list_style_dialog),
5461 				      helpbutton, GTK_RESPONSE_HELP);
5462 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
5463 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
5464 				    GDK_y, GDK_CONTROL_MASK,
5465 				    GTK_ACCEL_VISIBLE);
5466 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
5467 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
5468 
5469 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
5470 	gtk_widget_show (cancelbutton);
5471 	gtk_dialog_add_action_widget (GTK_DIALOG (list_style_dialog),
5472 				      cancelbutton, GTK_RESPONSE_CANCEL);
5473 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
5474 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
5475 				    GDK_c, GDK_CONTROL_MASK,
5476 				    GTK_ACCEL_VISIBLE);
5477 
5478 	okbutton = gtk_button_new_from_stock ("gtk-ok");
5479 	gtk_widget_show (okbutton);
5480 	gtk_dialog_add_action_widget (GTK_DIALOG (list_style_dialog),
5481 				      okbutton, GTK_RESPONSE_OK);
5482 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
5483 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
5484 				    GDK_o, GDK_CONTROL_MASK,
5485 				    GTK_ACCEL_VISIBLE);
5486 	if (connect_callbacks)
5487 	{
5488 		g_signal_connect ((gpointer) list_style_dialog, "close",
5489 				  G_CALLBACK (on_css_dialog_close), data);
5490 
5491 		g_signal_connect ((gpointer) helpbutton, "clicked",
5492 				  G_CALLBACK
5493 				  (on_list_style_dialog_helpbutton_clicked),
5494 				  NULL);
5495 		g_signal_connect ((gpointer) cancelbutton, "clicked",
5496 				  G_CALLBACK
5497 				  (on_css_dialog_cancel_button_clicked),
5498 				  data);
5499 		g_signal_connect ((gpointer) okbutton, "clicked",
5500 				  G_CALLBACK
5501 				  (on_list_style_dialog_okbutton_clicked),
5502 				  data);
5503 	}
5504 	/*
5505 	 * Store pointers to all widgets, for use by lookup_widget().
5506 	 */
5507 	GLADE_HOOKUP_OBJECT_NO_REF (list_style_dialog, list_style_dialog,
5508 				    "list_style_dialog");
5509 	GLADE_HOOKUP_OBJECT (list_style_dialog, checkbutton_position,
5510 			     "checkbutton_position");
5511 	GLADE_HOOKUP_OBJECT (list_style_dialog, combo_position,
5512 			     "combo_position");
5513 	GLADE_HOOKUP_OBJECT (list_style_dialog, combo_entry_position,
5514 			     "combo_entry_position");
5515 	GLADE_HOOKUP_OBJECT (list_style_dialog, checkbutton_type,
5516 			     "checkbutton_type");
5517 	GLADE_HOOKUP_OBJECT (list_style_dialog, combo_type, "combo_type");
5518 	GLADE_HOOKUP_OBJECT (list_style_dialog, combo_entry_type,
5519 			     "combo_entry_type");
5520 	GLADE_HOOKUP_OBJECT (list_style_dialog, checkbutton_image,
5521 			     "checkbutton_image");
5522 	GLADE_HOOKUP_OBJECT (list_style_dialog, entry_image, "entry_image");
5523 	GLADE_HOOKUP_OBJECT (list_style_dialog, helpbutton, "helpbutton");
5524 	GLADE_HOOKUP_OBJECT (list_style_dialog, cancelbutton, "cancelbutton");
5525 	GLADE_HOOKUP_OBJECT (list_style_dialog, okbutton, "okbutton");
5526 
5527 	gtk_window_add_accel_group (GTK_WINDOW (list_style_dialog),
5528 				    accel_group);
5529 
5530 	return list_style_dialog;
5531 }
5532 
5533 GtkWidget *
create_margin_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)5534 create_margin_property_dialog (CssedWindow * window,
5535 			       gchar * previous_string,
5536 			       gboolean add_previous_string,
5537 			       gboolean connect_callbacks)
5538 {
5539 	GtkWidget *margin_property_dialog;
5540 	GtkWidget *dialog_vbox;
5541 	GtkWidget *vbox;
5542 	GtkWidget *hbox_top;
5543 	GtkWidget *checkbutton_top;
5544 	GtkObject *spinbutton_top_adj;
5545 	GtkWidget *spinbutton_top;
5546 	GtkWidget *combo_top;
5547 	GList *combo_top_items = NULL;
5548 	GtkWidget *combo_entry_top;
5549 	GtkWidget *hbox_right;
5550 	GtkWidget *checkbutton_right;
5551 	GtkObject *spinbutton_right_adj;
5552 	GtkWidget *spinbutton_right;
5553 	GtkWidget *combo_right;
5554 	GList *combo_right_items = NULL;
5555 	GtkWidget *combo_entry_right;
5556 	GtkWidget *hbox_bottom;
5557 	GtkWidget *checkbutton_bottom;
5558 	GtkObject *spinbutton_bottom_adj;
5559 	GtkWidget *spinbutton_bottom;
5560 	GtkWidget *combo_bottom;
5561 	GList *combo_bottom_items = NULL;
5562 	GtkWidget *combo_entry_bottom;
5563 	GtkWidget *hbox_left;
5564 	GtkWidget *checkbutton_left;
5565 	GtkObject *spinbutton_left_adj;
5566 	GtkWidget *spinbutton_left;
5567 	GtkWidget *combo_left;
5568 	GList *combo_left_items = NULL;
5569 	GtkWidget *combo_entry_left;
5570 	GtkWidget *dialog_action_area;
5571 	GtkWidget *helpbutton;
5572 	GtkWidget *cancelbutton;
5573 	GtkWidget *okbutton;
5574 	GtkAccelGroup *accel_group;
5575 	GtkWidget *main_window;
5576 	CssedCssDialogsData *data = NULL;
5577 
5578 	if (connect_callbacks)
5579 	{
5580 		data = g_malloc (sizeof (CssedCssDialogsData));
5581 		data->main_window = window;
5582 		data->previous_string = previous_string;
5583 		data->add_property_string = add_previous_string;
5584 	}
5585 
5586 	accel_group = gtk_accel_group_new ();
5587 
5588 	margin_property_dialog = gtk_dialog_new ();
5589 	gtk_window_set_title (GTK_WINDOW (margin_property_dialog),
5590 			      previous_string);
5591 
5592 	gtk_window_set_modal (GTK_WINDOW (margin_property_dialog), TRUE);
5593 	main_window = cssed_window_get_window_widget( window );
5594 
5595 	gtk_window_set_transient_for (GTK_WINDOW (margin_property_dialog),
5596 				      GTK_WINDOW (main_window));
5597 
5598 	dialog_vbox = GTK_DIALOG (margin_property_dialog)->vbox;
5599 	gtk_widget_show (dialog_vbox);
5600 
5601 	vbox = gtk_vbox_new (FALSE, 0);
5602 	gtk_widget_show (vbox);
5603 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
5604 
5605 	hbox_top = gtk_hbox_new (TRUE, 0);
5606 	gtk_widget_show (hbox_top);
5607 	gtk_box_pack_start (GTK_BOX (vbox), hbox_top, TRUE, TRUE, 0);
5608 
5609 	checkbutton_top =
5610 		gtk_check_button_new_with_mnemonic (_("margin-top"));
5611 	gtk_widget_show (checkbutton_top);
5612 	gtk_box_pack_start (GTK_BOX (hbox_top), checkbutton_top, TRUE, TRUE,
5613 			    5);
5614 
5615 	spinbutton_top_adj = gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5616 	spinbutton_top =
5617 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_top_adj), 1,
5618 				     0);
5619 	gtk_widget_show (spinbutton_top);
5620 	gtk_box_pack_start (GTK_BOX (hbox_top), spinbutton_top, FALSE, FALSE,
5621 			    5);
5622 
5623 	combo_top = gtk_combo_new ();
5624 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_top)->popwin),
5625 			   "GladeParentKey", combo_top);
5626 	gtk_widget_show (combo_top);
5627 	gtk_box_pack_start (GTK_BOX (hbox_top), combo_top, TRUE, FALSE, 5);
5628 	combo_top_items = g_list_append (combo_top_items, (gpointer) "%");
5629 	combo_top_items = g_list_append (combo_top_items, (gpointer) "em");
5630 	combo_top_items = g_list_append (combo_top_items, (gpointer) "ex");
5631 	combo_top_items = g_list_append (combo_top_items, (gpointer) "px");
5632 	combo_top_items = g_list_append (combo_top_items, (gpointer) "in");
5633 	combo_top_items = g_list_append (combo_top_items, (gpointer) "cm");
5634 	combo_top_items = g_list_append (combo_top_items, (gpointer) "mm");
5635 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pt");
5636 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pc");
5637 
5638 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_top),
5639 				       combo_top_items);
5640 	g_list_free (combo_top_items);
5641 
5642 	combo_entry_top = GTK_COMBO (combo_top)->entry;
5643 	gtk_widget_show (combo_entry_top);
5644 	gtk_widget_set_size_request (combo_entry_top, 40, -1);
5645 	gtk_entry_set_text (GTK_ENTRY (combo_entry_top), "px");
5646 
5647 	hbox_right = gtk_hbox_new (TRUE, 0);
5648 	gtk_widget_show (hbox_right);
5649 	gtk_box_pack_start (GTK_BOX (vbox), hbox_right, TRUE, TRUE, 0);
5650 
5651 	checkbutton_right =
5652 		gtk_check_button_new_with_mnemonic (_("margin-right"));
5653 	gtk_widget_show (checkbutton_right);
5654 	gtk_box_pack_start (GTK_BOX (hbox_right), checkbutton_right, TRUE,
5655 			    TRUE, 5);
5656 
5657 	spinbutton_right_adj =
5658 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5659 	spinbutton_right =
5660 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_right_adj), 1,
5661 				     0);
5662 	gtk_widget_show (spinbutton_right);
5663 	gtk_box_pack_start (GTK_BOX (hbox_right), spinbutton_right, FALSE,
5664 			    FALSE, 5);
5665 
5666 	combo_right = gtk_combo_new ();
5667 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_right)->popwin),
5668 			   "GladeParentKey", combo_right);
5669 	gtk_widget_show (combo_right);
5670 	gtk_box_pack_start (GTK_BOX (hbox_right), combo_right, TRUE, FALSE,
5671 			    5);
5672 	combo_right_items = g_list_append (combo_right_items, (gpointer) "%");
5673 	combo_right_items =
5674 		g_list_append (combo_right_items, (gpointer) "em");
5675 	combo_right_items =
5676 		g_list_append (combo_right_items, (gpointer) "ex");
5677 	combo_right_items =
5678 		g_list_append (combo_right_items, (gpointer) "px");
5679 	combo_right_items =
5680 		g_list_append (combo_right_items, (gpointer) "in");
5681 	combo_right_items =
5682 		g_list_append (combo_right_items, (gpointer) "cm");
5683 	combo_right_items =
5684 		g_list_append (combo_right_items, (gpointer) "mm");
5685 	combo_right_items =
5686 		g_list_append (combo_right_items, (gpointer) "pt");
5687 	combo_right_items =
5688 		g_list_append (combo_right_items, (gpointer) "pc");
5689 
5690 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_right),
5691 				       combo_right_items);
5692 	g_list_free (combo_right_items);
5693 
5694 	combo_entry_right = GTK_COMBO (combo_right)->entry;
5695 	gtk_widget_show (combo_entry_right);
5696 	gtk_widget_set_size_request (combo_entry_right, 40, -1);
5697 	gtk_entry_set_text (GTK_ENTRY (combo_entry_right), "px");
5698 
5699 	hbox_bottom = gtk_hbox_new (TRUE, 0);
5700 	gtk_widget_show (hbox_bottom);
5701 	gtk_box_pack_start (GTK_BOX (vbox), hbox_bottom, TRUE, TRUE, 0);
5702 
5703 	checkbutton_bottom =
5704 		gtk_check_button_new_with_mnemonic (_("margin-bottom"));
5705 	gtk_widget_show (checkbutton_bottom);
5706 	gtk_box_pack_start (GTK_BOX (hbox_bottom), checkbutton_bottom, TRUE,
5707 			    TRUE, 5);
5708 
5709 	spinbutton_bottom_adj =
5710 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5711 	spinbutton_bottom =
5712 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_bottom_adj),
5713 				     1, 0);
5714 	gtk_widget_show (spinbutton_bottom);
5715 	gtk_box_pack_start (GTK_BOX (hbox_bottom), spinbutton_bottom, FALSE,
5716 			    FALSE, 5);
5717 
5718 	combo_bottom = gtk_combo_new ();
5719 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bottom)->popwin),
5720 			   "GladeParentKey", combo_bottom);
5721 	gtk_widget_show (combo_bottom);
5722 	gtk_box_pack_start (GTK_BOX (hbox_bottom), combo_bottom, TRUE, FALSE,
5723 			    5);
5724 	combo_bottom_items =
5725 		g_list_append (combo_bottom_items, (gpointer) "%");
5726 	combo_bottom_items =
5727 		g_list_append (combo_bottom_items, (gpointer) "em");
5728 	combo_bottom_items =
5729 		g_list_append (combo_bottom_items, (gpointer) "ex");
5730 	combo_bottom_items =
5731 		g_list_append (combo_bottom_items, (gpointer) "px");
5732 	combo_bottom_items =
5733 		g_list_append (combo_bottom_items, (gpointer) "in");
5734 	combo_bottom_items =
5735 		g_list_append (combo_bottom_items, (gpointer) "cm");
5736 	combo_bottom_items =
5737 		g_list_append (combo_bottom_items, (gpointer) "mm");
5738 	combo_bottom_items =
5739 		g_list_append (combo_bottom_items, (gpointer) "pt");
5740 	combo_bottom_items =
5741 		g_list_append (combo_bottom_items, (gpointer) "pc");
5742 
5743 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bottom),
5744 				       combo_bottom_items);
5745 	g_list_free (combo_bottom_items);
5746 
5747 	combo_entry_bottom = GTK_COMBO (combo_bottom)->entry;
5748 	gtk_widget_show (combo_entry_bottom);
5749 	gtk_widget_set_size_request (combo_entry_bottom, 40, -1);
5750 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bottom), "px");
5751 
5752 	hbox_left = gtk_hbox_new (TRUE, 0);
5753 	gtk_widget_show (hbox_left);
5754 	gtk_box_pack_start (GTK_BOX (vbox), hbox_left, TRUE, TRUE, 0);
5755 
5756 	checkbutton_left =
5757 		gtk_check_button_new_with_mnemonic (_("margin-left"));
5758 	gtk_widget_show (checkbutton_left);
5759 	gtk_box_pack_start (GTK_BOX (hbox_left), checkbutton_left, TRUE, TRUE,
5760 			    5);
5761 
5762 	spinbutton_left_adj =
5763 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5764 	spinbutton_left =
5765 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_left_adj), 1,
5766 				     0);
5767 	gtk_widget_show (spinbutton_left);
5768 	gtk_box_pack_start (GTK_BOX (hbox_left), spinbutton_left, FALSE,
5769 			    FALSE, 5);
5770 
5771 	combo_left = gtk_combo_new ();
5772 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_left)->popwin),
5773 			   "GladeParentKey", combo_left);
5774 	gtk_widget_show (combo_left);
5775 	gtk_box_pack_start (GTK_BOX (hbox_left), combo_left, TRUE, FALSE, 5);
5776 	combo_left_items = g_list_append (combo_left_items, (gpointer) "%");
5777 	combo_left_items = g_list_append (combo_left_items, (gpointer) "em");
5778 	combo_left_items = g_list_append (combo_left_items, (gpointer) "ex");
5779 	combo_left_items = g_list_append (combo_left_items, (gpointer) "px");
5780 	combo_left_items = g_list_append (combo_left_items, (gpointer) "in");
5781 	combo_left_items = g_list_append (combo_left_items, (gpointer) "cm");
5782 	combo_left_items = g_list_append (combo_left_items, (gpointer) "mm");
5783 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pt");
5784 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pc");
5785 
5786 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_left),
5787 				       combo_left_items);
5788 	g_list_free (combo_left_items);
5789 
5790 	combo_entry_left = GTK_COMBO (combo_left)->entry;
5791 	gtk_widget_show (combo_entry_left);
5792 	gtk_widget_set_size_request (combo_entry_left, 40, -1);
5793 	gtk_entry_set_text (GTK_ENTRY (combo_entry_left), "px");
5794 
5795 	dialog_action_area = GTK_DIALOG (margin_property_dialog)->action_area;
5796 	gtk_widget_show (dialog_action_area);
5797 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
5798 				   GTK_BUTTONBOX_END);
5799 
5800 	helpbutton = gtk_button_new_from_stock ("gtk-help");
5801 	gtk_widget_show (helpbutton);
5802 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_property_dialog),
5803 				      helpbutton, GTK_RESPONSE_HELP);
5804 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
5805 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
5806 				    GDK_y, GDK_CONTROL_MASK,
5807 				    GTK_ACCEL_VISIBLE);
5808 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
5809 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
5810 
5811 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
5812 	gtk_widget_show (cancelbutton);
5813 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_property_dialog),
5814 				      cancelbutton, GTK_RESPONSE_CANCEL);
5815 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
5816 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
5817 				    GDK_c, GDK_CONTROL_MASK,
5818 				    GTK_ACCEL_VISIBLE);
5819 
5820 	okbutton = gtk_button_new_from_stock ("gtk-ok");
5821 	gtk_widget_show (okbutton);
5822 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_property_dialog),
5823 				      okbutton, GTK_RESPONSE_OK);
5824 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
5825 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
5826 				    GDK_o, GDK_CONTROL_MASK,
5827 				    GTK_ACCEL_VISIBLE);
5828 
5829 	g_signal_connect ((gpointer) combo_entry_top,
5830 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
5831 			  spinbutton_top);
5832 	g_signal_connect ((gpointer) combo_entry_right,
5833 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
5834 			  spinbutton_right);
5835 	g_signal_connect ((gpointer) combo_entry_bottom,
5836 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
5837 			  spinbutton_bottom);
5838 	g_signal_connect ((gpointer) combo_entry_left,
5839 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
5840 			  spinbutton_left);
5841 
5842 	if (connect_callbacks)
5843 	{
5844 		g_signal_connect ((gpointer) margin_property_dialog, "close",
5845 				  G_CALLBACK (on_css_dialog_close), data);
5846 
5847 		g_signal_connect ((gpointer) helpbutton, "clicked",
5848 				  G_CALLBACK
5849 				  (on_margin_property_dialog_helpbutton_clicked),
5850 				  NULL);
5851 		g_signal_connect ((gpointer) cancelbutton, "clicked",
5852 				  G_CALLBACK
5853 				  (on_css_dialog_cancel_button_clicked),
5854 				  data);
5855 		g_signal_connect ((gpointer) okbutton, "clicked",
5856 				  G_CALLBACK
5857 				  (on_margin_property_dialog_okbutton_clicked),
5858 				  data);
5859 	}
5860 	/*
5861 	 * Store pointers to all widgets, for use by lookup_widget().
5862 	 */
5863 	GLADE_HOOKUP_OBJECT_NO_REF (margin_property_dialog,
5864 				    margin_property_dialog,
5865 				    "margin_property_dialog");
5866 	GLADE_HOOKUP_OBJECT_NO_REF (margin_property_dialog, dialog_vbox,
5867 				    "dialog_vbox");
5868 	GLADE_HOOKUP_OBJECT (margin_property_dialog, vbox, "vbox");
5869 	GLADE_HOOKUP_OBJECT (margin_property_dialog, hbox_top, "hbox_top");
5870 	GLADE_HOOKUP_OBJECT (margin_property_dialog, checkbutton_top,
5871 			     "checkbutton_top");
5872 	GLADE_HOOKUP_OBJECT (margin_property_dialog, spinbutton_top,
5873 			     "spinbutton_top");
5874 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_top, "combo_top");
5875 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_entry_top,
5876 			     "combo_entry_top");
5877 	GLADE_HOOKUP_OBJECT (margin_property_dialog, hbox_right,
5878 			     "hbox_right");
5879 	GLADE_HOOKUP_OBJECT (margin_property_dialog, checkbutton_right,
5880 			     "checkbutton_right");
5881 	GLADE_HOOKUP_OBJECT (margin_property_dialog, spinbutton_right,
5882 			     "spinbutton_right");
5883 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_right,
5884 			     "combo_right");
5885 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_entry_right,
5886 			     "combo_entry_right");
5887 	GLADE_HOOKUP_OBJECT (margin_property_dialog, hbox_bottom,
5888 			     "hbox_bottom");
5889 	GLADE_HOOKUP_OBJECT (margin_property_dialog, checkbutton_bottom,
5890 			     "checkbutton_bottom");
5891 	GLADE_HOOKUP_OBJECT (margin_property_dialog, spinbutton_bottom,
5892 			     "spinbutton_bottom");
5893 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_bottom,
5894 			     "combo_bottom");
5895 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_entry_bottom,
5896 			     "combo_entry_bottom");
5897 	GLADE_HOOKUP_OBJECT (margin_property_dialog, hbox_left, "hbox_left");
5898 	GLADE_HOOKUP_OBJECT (margin_property_dialog, checkbutton_left,
5899 			     "checkbutton_left");
5900 	GLADE_HOOKUP_OBJECT (margin_property_dialog, spinbutton_left,
5901 			     "spinbutton_left");
5902 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_left,
5903 			     "combo_left");
5904 	GLADE_HOOKUP_OBJECT (margin_property_dialog, combo_entry_left,
5905 			     "combo_entry_left");
5906 	GLADE_HOOKUP_OBJECT_NO_REF (margin_property_dialog,
5907 				    dialog_action_area, "dialog_action_area");
5908 	GLADE_HOOKUP_OBJECT (margin_property_dialog, helpbutton,
5909 			     "helpbutton");
5910 	GLADE_HOOKUP_OBJECT (margin_property_dialog, cancelbutton,
5911 			     "cancelbutton");
5912 	GLADE_HOOKUP_OBJECT (margin_property_dialog, okbutton, "okbutton");
5913 
5914 	gtk_window_add_accel_group (GTK_WINDOW (margin_property_dialog),
5915 				    accel_group);
5916 
5917 	return margin_property_dialog;
5918 }
5919 
5920 GtkWidget *
create_margin_width_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)5921 create_margin_width_value_dialog (CssedWindow * window,
5922 				  gchar * previous_string,
5923 				  gboolean add_previous_string,
5924 				  gboolean connect_callbacks)
5925 {
5926 	GtkWidget *margin_width_value_dialog;
5927 	GtkWidget *dialog_vbox;
5928 	GtkWidget *hbox;
5929 	GtkWidget *label_margin_width;
5930 	GtkObject *spinbutton_margin_width_adj;
5931 	GtkWidget *spinbutton_margin_width;
5932 	GtkWidget *combo_margin_width;
5933 	GList *combo_margin_width_items = NULL;
5934 	GtkWidget *combo_entry_margin_width_units;
5935 	GtkWidget *dialog_action_area;
5936 	GtkWidget *helpbutton;
5937 	GtkWidget *cancelbutton;
5938 	GtkWidget *okbutton;
5939 	GtkAccelGroup *accel_group;
5940 	GtkWidget *main_window;
5941 	CssedCssDialogsData *data = NULL;
5942 
5943 	if (connect_callbacks)
5944 	{
5945 		data = g_malloc (sizeof (CssedCssDialogsData));
5946 		data->main_window = window;
5947 		data->previous_string = previous_string;
5948 		data->add_property_string = add_previous_string;
5949 	}
5950 
5951 	accel_group = gtk_accel_group_new ();
5952 
5953 	margin_width_value_dialog = gtk_dialog_new ();
5954 	gtk_window_set_title (GTK_WINDOW (margin_width_value_dialog),
5955 			      previous_string);
5956 	// ~ gtk_window_set_position (GTK_WINDOW (margin_width_value_dialog),
5957 	// ~ GTK_WIN_POS_CENTER);
5958 	gtk_window_set_modal (GTK_WINDOW (margin_width_value_dialog), TRUE);
5959 
5960 	main_window = cssed_window_get_window_widget( window );
5961 
5962 	gtk_window_set_transient_for (GTK_WINDOW (margin_width_value_dialog),
5963 				      GTK_WINDOW (main_window));
5964 
5965 	dialog_vbox = GTK_DIALOG (margin_width_value_dialog)->vbox;
5966 	gtk_widget_show (dialog_vbox);
5967 
5968 	hbox = gtk_hbox_new (TRUE, 0);
5969 	gtk_widget_show (hbox);
5970 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
5971 
5972 	label_margin_width = gtk_label_new (previous_string);
5973 	gtk_widget_show (label_margin_width);
5974 	gtk_box_pack_start (GTK_BOX (hbox), label_margin_width, TRUE, TRUE,
5975 			    0);
5976 	gtk_label_set_justify (GTK_LABEL (label_margin_width),
5977 			       GTK_JUSTIFY_LEFT);
5978 
5979 	spinbutton_margin_width_adj =
5980 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
5981 	spinbutton_margin_width =
5982 		gtk_spin_button_new (GTK_ADJUSTMENT
5983 				     (spinbutton_margin_width_adj), 1, 0);
5984 	gtk_widget_show (spinbutton_margin_width);
5985 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_margin_width, FALSE,
5986 			    FALSE, 0);
5987 
5988 	combo_margin_width = gtk_combo_new ();
5989 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_margin_width)->popwin),
5990 			   "GladeParentKey", combo_margin_width);
5991 	gtk_widget_show (combo_margin_width);
5992 	gtk_box_pack_start (GTK_BOX (hbox), combo_margin_width, FALSE, FALSE,
5993 			    0);
5994 	combo_margin_width_items =
5995 		g_list_append (combo_margin_width_items, (gpointer) "%");
5996 	combo_margin_width_items =
5997 		g_list_append (combo_margin_width_items, (gpointer) "em");
5998 	combo_margin_width_items =
5999 		g_list_append (combo_margin_width_items, (gpointer) "ex");
6000 	combo_margin_width_items =
6001 		g_list_append (combo_margin_width_items, (gpointer) "px");
6002 	combo_margin_width_items =
6003 		g_list_append (combo_margin_width_items, (gpointer) "in");
6004 	combo_margin_width_items =
6005 		g_list_append (combo_margin_width_items, (gpointer) "cm");
6006 	combo_margin_width_items =
6007 		g_list_append (combo_margin_width_items, (gpointer) "mm");
6008 	combo_margin_width_items =
6009 		g_list_append (combo_margin_width_items, (gpointer) "pt");
6010 	combo_margin_width_items =
6011 		g_list_append (combo_margin_width_items, (gpointer) "pc");
6012 
6013 
6014 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_margin_width),
6015 				       combo_margin_width_items);
6016 	g_list_free (combo_margin_width_items);
6017 
6018 	combo_entry_margin_width_units =
6019 		GTK_COMBO (combo_margin_width)->entry;
6020 	gtk_widget_show (combo_entry_margin_width_units);
6021 	gtk_widget_set_size_request (combo_entry_margin_width_units, 40, -1);
6022 	gtk_editable_set_editable (GTK_EDITABLE
6023 				   (combo_entry_margin_width_units), FALSE);
6024 	gtk_entry_set_text (GTK_ENTRY (combo_entry_margin_width_units), "px");
6025 
6026 	dialog_action_area =
6027 		GTK_DIALOG (margin_width_value_dialog)->action_area;
6028 	gtk_widget_show (dialog_action_area);
6029 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
6030 				   GTK_BUTTONBOX_END);
6031 
6032 	helpbutton = gtk_button_new_from_stock ("gtk-help");
6033 	gtk_widget_show (helpbutton);
6034 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_width_value_dialog),
6035 				      helpbutton, GTK_RESPONSE_HELP);
6036 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
6037 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
6038 				    GDK_y, GDK_CONTROL_MASK,
6039 				    GTK_ACCEL_VISIBLE);
6040 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
6041 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
6042 
6043 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
6044 	gtk_widget_show (cancelbutton);
6045 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_width_value_dialog),
6046 				      cancelbutton, GTK_RESPONSE_CANCEL);
6047 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
6048 
6049 	okbutton = gtk_button_new_from_stock ("gtk-ok");
6050 	gtk_widget_show (okbutton);
6051 	gtk_dialog_add_action_widget (GTK_DIALOG (margin_width_value_dialog),
6052 				      okbutton, GTK_RESPONSE_OK);
6053 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
6054 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
6055 				    GDK_o, GDK_CONTROL_MASK,
6056 				    GTK_ACCEL_VISIBLE);
6057 
6058 	g_signal_connect ((gpointer) combo_entry_margin_width_units,
6059 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6060 			  spinbutton_margin_width);
6061 
6062 	if (connect_callbacks)
6063 	{
6064 		g_signal_connect ((gpointer) margin_width_value_dialog,
6065 				  "close", G_CALLBACK (on_css_dialog_close),
6066 				  data);
6067 
6068 		g_signal_connect ((gpointer) helpbutton, "clicked",
6069 				  G_CALLBACK
6070 				  (on_margin_width_value_dialog_helpbutton_clicked),
6071 				  NULL);
6072 		g_signal_connect ((gpointer) cancelbutton, "clicked",
6073 				  G_CALLBACK
6074 				  (on_css_dialog_cancel_button_clicked),
6075 				  data);
6076 		g_signal_connect ((gpointer) okbutton, "clicked",
6077 				  G_CALLBACK
6078 				  (on_margin_width_dialog_okbutton_clicked),
6079 				  data);
6080 	}
6081 
6082 	GLADE_HOOKUP_OBJECT_NO_REF (margin_width_value_dialog,
6083 				    margin_width_value_dialog,
6084 				    "margin_width_value_dialog");
6085 	GLADE_HOOKUP_OBJECT_NO_REF (margin_width_value_dialog, dialog_vbox,
6086 				    "dialog_vbox");
6087 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, hbox, "hbox");
6088 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, label_margin_width,
6089 			     "label_margin_width");
6090 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog,
6091 			     spinbutton_margin_width,
6092 			     "spinbutton_margin_width");
6093 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, combo_margin_width,
6094 			     "combo_margin_width");
6095 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog,
6096 			     combo_entry_margin_width_units,
6097 			     "combo_entry_margin_width_units");
6098 	GLADE_HOOKUP_OBJECT_NO_REF (margin_width_value_dialog,
6099 				    dialog_action_area, "dialog_action_area");
6100 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, helpbutton,
6101 			     "helpbutton");
6102 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, cancelbutton,
6103 			     "cancelbutton");
6104 	GLADE_HOOKUP_OBJECT (margin_width_value_dialog, okbutton, "okbutton");
6105 
6106 	gtk_window_add_accel_group (GTK_WINDOW (margin_width_value_dialog),
6107 				    accel_group);
6108 
6109 	return margin_width_value_dialog;
6110 }
6111 
6112 GtkWidget *
create_number_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)6113 create_number_value_dialog (CssedWindow * window,
6114 			    gchar * previous_string,
6115 			    gboolean add_previous_string,
6116 			    gboolean connect_callbacks)
6117 {
6118 	GtkWidget *number_value_dialog;
6119 	GtkWidget *dialog_vbox;
6120 	GtkWidget *hbox;
6121 	GtkWidget *label_number;
6122 	GtkObject *spinbutton_number_adj;
6123 	GtkWidget *spinbutton_number;
6124 	GtkWidget *dialog_action_area;
6125 	GtkWidget *helpbutton;
6126 	GtkWidget *cancelbutton;
6127 	GtkWidget *okbutton;
6128 	GtkAccelGroup *accel_group;
6129 	GtkWidget *main_window;
6130 	CssedCssDialogsData *data = NULL;
6131 
6132 	if (connect_callbacks)
6133 	{
6134 		data = g_malloc (sizeof (CssedCssDialogsData));
6135 		data->main_window = window;
6136 		data->previous_string = previous_string;
6137 		data->add_property_string = add_previous_string;
6138 	}
6139 
6140 	accel_group = gtk_accel_group_new ();
6141 
6142 	number_value_dialog = gtk_dialog_new ();
6143 	gtk_window_set_title (GTK_WINDOW (number_value_dialog),
6144 			      previous_string);
6145 	// ~ gtk_window_set_position (GTK_WINDOW (number_value_dialog),
6146 	// ~ GTK_WIN_POS_CENTER);
6147 	gtk_window_set_modal (GTK_WINDOW (number_value_dialog), TRUE);
6148 
6149 	main_window = cssed_window_get_window_widget( window );
6150 
6151 	gtk_window_set_transient_for (GTK_WINDOW (number_value_dialog),
6152 				      GTK_WINDOW (main_window));
6153 
6154 	dialog_vbox = GTK_DIALOG (number_value_dialog)->vbox;
6155 	gtk_widget_show (dialog_vbox);
6156 
6157 	hbox = gtk_hbox_new (TRUE, 0);
6158 	gtk_widget_show (hbox);
6159 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
6160 
6161 	label_number = gtk_label_new (_("number"));
6162 	gtk_widget_show (label_number);
6163 	gtk_box_pack_start (GTK_BOX (hbox), label_number, TRUE, TRUE, 0);
6164 	gtk_label_set_justify (GTK_LABEL (label_number), GTK_JUSTIFY_LEFT);
6165 
6166 	spinbutton_number_adj =
6167 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6168 	spinbutton_number =
6169 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_number_adj),
6170 				     1, 2);
6171 	gtk_widget_show (spinbutton_number);
6172 	gtk_box_pack_end (GTK_BOX (hbox), spinbutton_number, FALSE, FALSE, 0);
6173 
6174 	dialog_action_area = GTK_DIALOG (number_value_dialog)->action_area;
6175 	gtk_widget_show (dialog_action_area);
6176 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
6177 				   GTK_BUTTONBOX_END);
6178 
6179 	helpbutton = gtk_button_new_from_stock ("gtk-help");
6180 	gtk_widget_show (helpbutton);
6181 	gtk_dialog_add_action_widget (GTK_DIALOG (number_value_dialog),
6182 				      helpbutton, GTK_RESPONSE_HELP);
6183 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
6184 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
6185 				    GDK_y, GDK_CONTROL_MASK,
6186 				    GTK_ACCEL_VISIBLE);
6187 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
6188 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
6189 
6190 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
6191 	gtk_widget_show (cancelbutton);
6192 	gtk_dialog_add_action_widget (GTK_DIALOG (number_value_dialog),
6193 				      cancelbutton, GTK_RESPONSE_CANCEL);
6194 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
6195 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
6196 				    GDK_c, GDK_CONTROL_MASK,
6197 				    GTK_ACCEL_VISIBLE);
6198 
6199 	okbutton = gtk_button_new_from_stock ("gtk-ok");
6200 	gtk_widget_show (okbutton);
6201 	gtk_dialog_add_action_widget (GTK_DIALOG (number_value_dialog),
6202 				      okbutton, GTK_RESPONSE_OK);
6203 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
6204 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
6205 				    GDK_o, GDK_CONTROL_MASK,
6206 				    GTK_ACCEL_VISIBLE);
6207 	if (connect_callbacks)
6208 	{
6209 		g_signal_connect ((gpointer) number_value_dialog, "close",
6210 				  G_CALLBACK (on_css_dialog_close), data);
6211 
6212 		g_signal_connect ((gpointer) helpbutton, "clicked",
6213 				  G_CALLBACK
6214 				  (on_number_value_dialog_helpbutton_clicked),
6215 				  NULL);
6216 		g_signal_connect ((gpointer) cancelbutton, "clicked",
6217 				  G_CALLBACK
6218 				  (on_css_dialog_cancel_button_clicked),
6219 				  data);
6220 		g_signal_connect ((gpointer) okbutton, "clicked",
6221 				  G_CALLBACK
6222 				  (on_number_value_dialog_okbutton_clicked),
6223 				  data);
6224 	}
6225 
6226 	GLADE_HOOKUP_OBJECT_NO_REF (number_value_dialog, number_value_dialog,
6227 				    "number_value_dialog");
6228 	GLADE_HOOKUP_OBJECT_NO_REF (number_value_dialog, dialog_vbox,
6229 				    "dialog_vbox");
6230 	GLADE_HOOKUP_OBJECT (number_value_dialog, hbox, "hbox");
6231 	GLADE_HOOKUP_OBJECT (number_value_dialog, label_number,
6232 			     "label_number");
6233 	GLADE_HOOKUP_OBJECT (number_value_dialog, spinbutton_number,
6234 			     "spinbutton_number");
6235 	GLADE_HOOKUP_OBJECT_NO_REF (number_value_dialog, dialog_action_area,
6236 				    "dialog_action_area");
6237 	GLADE_HOOKUP_OBJECT (number_value_dialog, helpbutton, "helpbutton");
6238 	GLADE_HOOKUP_OBJECT (number_value_dialog, cancelbutton,
6239 			     "cancelbutton");
6240 	GLADE_HOOKUP_OBJECT (number_value_dialog, okbutton, "okbutton");
6241 
6242 	gtk_window_add_accel_group (GTK_WINDOW (number_value_dialog),
6243 				    accel_group);
6244 
6245 	return number_value_dialog;
6246 }
6247 
6248 GtkWidget *
create_padding_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)6249 create_padding_property_dialog (CssedWindow * window,
6250 				gchar * previous_string,
6251 				gboolean add_previous_string,
6252 				gboolean connect_callbacks)
6253 {
6254 	GtkWidget *padding_property_dialog;
6255 	GtkWidget *dialog_vbox;
6256 	GtkWidget *vbox;
6257 	GtkWidget *hbox_top;
6258 	GtkWidget *checkbutton_top;
6259 	GtkObject *spinbutton_top_adj;
6260 	GtkWidget *spinbutton_top;
6261 	GtkWidget *combo_top;
6262 	GList *combo_top_items = NULL;
6263 	GtkWidget *combo_entry_top;
6264 	GtkWidget *hbox_left;
6265 	GtkWidget *checkbutton_left;
6266 	GtkObject *spinbutton_left_adj;
6267 	GtkWidget *spinbutton_left;
6268 	GtkWidget *combo_left;
6269 	GList *combo_left_items = NULL;
6270 	GtkWidget *combo_entry_left;
6271 	GtkWidget *hbox_bottom;
6272 	GtkWidget *checkbutton_bottom;
6273 	GtkObject *spinbutton_bottom_adj;
6274 	GtkWidget *spinbutton_bottom;
6275 	GtkWidget *combo_bottom;
6276 	GList *combo_bottom_items = NULL;
6277 	GtkWidget *combo_entry_bottom;
6278 	GtkWidget *hbox_right;
6279 	GtkWidget *checkbutton_right;
6280 	GtkObject *spinbutton_right_adj;
6281 	GtkWidget *spinbutton_right;
6282 	GtkWidget *combo_right;
6283 	GList *combo_right_items = NULL;
6284 	GtkWidget *combo_entry_right;
6285 	GtkWidget *dialog_action_area;
6286 	GtkWidget *helpbutton;
6287 	GtkWidget *cancelbutton;
6288 	GtkWidget *okbutton;
6289 	GtkAccelGroup *accel_group;
6290 	GtkWidget *main_window;
6291 	CssedCssDialogsData *data = NULL;
6292 
6293 	if (connect_callbacks)
6294 	{
6295 		data = g_malloc (sizeof (CssedCssDialogsData));
6296 		data->main_window = window;
6297 		data->previous_string = previous_string;
6298 		data->add_property_string = add_previous_string;
6299 	}
6300 
6301 	accel_group = gtk_accel_group_new ();
6302 
6303 	padding_property_dialog = gtk_dialog_new ();
6304 	gtk_window_set_title (GTK_WINDOW (padding_property_dialog),
6305 			      previous_string);
6306 
6307 	gtk_window_set_modal (GTK_WINDOW (padding_property_dialog), TRUE);
6308 
6309 	main_window = cssed_window_get_window_widget( window );
6310 
6311 	gtk_window_set_transient_for (GTK_WINDOW (padding_property_dialog),
6312 				      GTK_WINDOW (main_window));
6313 
6314 	dialog_vbox = GTK_DIALOG (padding_property_dialog)->vbox;
6315 	gtk_widget_show (dialog_vbox);
6316 
6317 	vbox = gtk_vbox_new (FALSE, 0);
6318 	gtk_widget_show (vbox);
6319 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
6320 /*top*/
6321 	hbox_top = gtk_hbox_new (TRUE, 0);
6322 	gtk_widget_show (hbox_top);
6323 	gtk_box_pack_start (GTK_BOX (vbox), hbox_top, FALSE, FALSE, 5);
6324 
6325 	checkbutton_top =
6326 		gtk_check_button_new_with_mnemonic (_("padding-top"));
6327 	gtk_widget_show (checkbutton_top);
6328 	gtk_box_pack_start (GTK_BOX (hbox_top), checkbutton_top, TRUE, TRUE,
6329 			    5);
6330 
6331 	spinbutton_top_adj = gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6332 	spinbutton_top =
6333 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_top_adj), 1,
6334 				     0);
6335 	gtk_widget_show (spinbutton_top);
6336 	gtk_box_pack_start (GTK_BOX (hbox_top), spinbutton_top, FALSE, FALSE,
6337 			    0);
6338 
6339 	combo_top = gtk_combo_new ();
6340 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_top)->popwin),
6341 			   "GladeParentKey", combo_top);
6342 	gtk_widget_show (combo_top);
6343 	gtk_box_pack_start (GTK_BOX (hbox_top), combo_top, FALSE, FALSE, 0);
6344 	combo_top_items = g_list_append (combo_top_items, (gpointer) "em");
6345 	combo_top_items = g_list_append (combo_top_items, (gpointer) "ex");
6346 	combo_top_items = g_list_append (combo_top_items, (gpointer) "px");
6347 	combo_top_items = g_list_append (combo_top_items, (gpointer) "in");
6348 	combo_top_items = g_list_append (combo_top_items, (gpointer) "cm");
6349 	combo_top_items = g_list_append (combo_top_items, (gpointer) "mm");
6350 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pt");
6351 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pc");
6352 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_top),
6353 				       combo_top_items);
6354 	g_list_free (combo_top_items);
6355 
6356 	combo_entry_top = GTK_COMBO (combo_top)->entry;
6357 	gtk_widget_show (combo_entry_top);
6358 	gtk_widget_set_size_request (combo_entry_top, 50, -1);
6359 	gtk_entry_set_text (GTK_ENTRY (combo_entry_top), "px");
6360 /*right*/
6361 	hbox_right = gtk_hbox_new (TRUE, 0);
6362 	gtk_widget_show (hbox_right);
6363 	gtk_box_pack_start (GTK_BOX (vbox), hbox_right, FALSE, FALSE, 5);
6364 
6365 	checkbutton_right =
6366 		gtk_check_button_new_with_mnemonic (_("padding-right"));
6367 	gtk_widget_show (checkbutton_right);
6368 	gtk_box_pack_start (GTK_BOX (hbox_right), checkbutton_right, TRUE,
6369 			    TRUE, 5);
6370 
6371 	spinbutton_right_adj =
6372 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6373 	spinbutton_right =
6374 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_right_adj), 1,
6375 				     0);
6376 	gtk_widget_show (spinbutton_right);
6377 	gtk_box_pack_start (GTK_BOX (hbox_right), spinbutton_right, FALSE,
6378 			    FALSE, 0);
6379 
6380 	combo_right = gtk_combo_new ();
6381 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_right)->popwin),
6382 			   "GladeParentKey", combo_right);
6383 	gtk_widget_show (combo_right);
6384 	gtk_box_pack_start (GTK_BOX (hbox_right), combo_right, FALSE, FALSE,
6385 			    0);
6386 	combo_right_items =
6387 		g_list_append (combo_right_items, (gpointer) "em");
6388 	combo_right_items =
6389 		g_list_append (combo_right_items, (gpointer) "ex");
6390 	combo_right_items =
6391 		g_list_append (combo_right_items, (gpointer) "px");
6392 	combo_right_items =
6393 		g_list_append (combo_right_items, (gpointer) "in");
6394 	combo_right_items =
6395 		g_list_append (combo_right_items, (gpointer) "cm");
6396 	combo_right_items =
6397 		g_list_append (combo_right_items, (gpointer) "mm");
6398 	combo_right_items =
6399 		g_list_append (combo_right_items, (gpointer) "pt");
6400 	combo_right_items =
6401 		g_list_append (combo_right_items, (gpointer) "pc");
6402 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_right),
6403 				       combo_right_items);
6404 	g_list_free (combo_right_items);
6405 
6406 	combo_entry_right = GTK_COMBO (combo_right)->entry;
6407 	gtk_widget_show (combo_entry_right);
6408 	gtk_widget_set_size_request (combo_entry_right, 50, -1);
6409 	gtk_entry_set_text (GTK_ENTRY (combo_entry_right), "px");
6410 
6411 /*bottom*/
6412 	hbox_bottom = gtk_hbox_new (TRUE, 0);
6413 	gtk_widget_show (hbox_bottom);
6414 	gtk_box_pack_start (GTK_BOX (vbox), hbox_bottom, FALSE, FALSE, 5);
6415 
6416 	checkbutton_bottom =
6417 		gtk_check_button_new_with_mnemonic (_("padding-bottom"));
6418 	gtk_widget_show (checkbutton_bottom);
6419 	gtk_box_pack_start (GTK_BOX (hbox_bottom), checkbutton_bottom, TRUE,
6420 			    TRUE, 5);
6421 
6422 	spinbutton_bottom_adj =
6423 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6424 	spinbutton_bottom =
6425 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_bottom_adj),
6426 				     1, 0);
6427 	gtk_widget_show (spinbutton_bottom);
6428 	gtk_box_pack_start (GTK_BOX (hbox_bottom), spinbutton_bottom, FALSE,
6429 			    FALSE, 0);
6430 
6431 	combo_bottom = gtk_combo_new ();
6432 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bottom)->popwin),
6433 			   "GladeParentKey", combo_bottom);
6434 	gtk_widget_show (combo_bottom);
6435 	gtk_box_pack_start (GTK_BOX (hbox_bottom), combo_bottom, FALSE, FALSE,
6436 			    0);
6437 	combo_bottom_items =
6438 		g_list_append (combo_bottom_items, (gpointer) "em");
6439 	combo_bottom_items =
6440 		g_list_append (combo_bottom_items, (gpointer) "ex");
6441 	combo_bottom_items =
6442 		g_list_append (combo_bottom_items, (gpointer) "px");
6443 	combo_bottom_items =
6444 		g_list_append (combo_bottom_items, (gpointer) "in");
6445 	combo_bottom_items =
6446 		g_list_append (combo_bottom_items, (gpointer) "cm");
6447 	combo_bottom_items =
6448 		g_list_append (combo_bottom_items, (gpointer) "mm");
6449 	combo_bottom_items =
6450 		g_list_append (combo_bottom_items, (gpointer) "pt");
6451 	combo_bottom_items =
6452 		g_list_append (combo_bottom_items, (gpointer) "pc");
6453 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bottom),
6454 				       combo_bottom_items);
6455 	g_list_free (combo_bottom_items);
6456 
6457 	combo_entry_bottom = GTK_COMBO (combo_bottom)->entry;
6458 	gtk_widget_show (combo_entry_bottom);
6459 	gtk_widget_set_size_request (combo_entry_bottom, 50, -1);
6460 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bottom), "px");
6461 /*left*/
6462 	hbox_left = gtk_hbox_new (TRUE, 0);
6463 	gtk_widget_show (hbox_left);
6464 	gtk_box_pack_start (GTK_BOX (vbox), hbox_left, FALSE, FALSE, 5);
6465 
6466 	checkbutton_left =
6467 		gtk_check_button_new_with_mnemonic (_("padding-left"));
6468 	gtk_widget_show (checkbutton_left);
6469 	gtk_box_pack_start (GTK_BOX (hbox_left), checkbutton_left, TRUE, TRUE,
6470 			    5);
6471 
6472 	spinbutton_left_adj =
6473 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6474 	spinbutton_left =
6475 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_left_adj), 1,
6476 				     0);
6477 	gtk_widget_show (spinbutton_left);
6478 	gtk_box_pack_start (GTK_BOX (hbox_left), spinbutton_left, FALSE,
6479 			    FALSE, 0);
6480 
6481 	combo_left = gtk_combo_new ();
6482 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_left)->popwin),
6483 			   "GladeParentKey", combo_left);
6484 	gtk_widget_show (combo_left);
6485 	gtk_box_pack_start (GTK_BOX (hbox_left), combo_left, FALSE, FALSE, 0);
6486 	combo_left_items = g_list_append (combo_left_items, (gpointer) "em");
6487 	combo_left_items = g_list_append (combo_left_items, (gpointer) "ex");
6488 	combo_left_items = g_list_append (combo_left_items, (gpointer) "px");
6489 	combo_left_items = g_list_append (combo_left_items, (gpointer) "in");
6490 	combo_left_items = g_list_append (combo_left_items, (gpointer) "cm");
6491 	combo_left_items = g_list_append (combo_left_items, (gpointer) "mm");
6492 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pt");
6493 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pc");
6494 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_left),
6495 				       combo_left_items);
6496 	g_list_free (combo_left_items);
6497 
6498 	combo_entry_left = GTK_COMBO (combo_left)->entry;
6499 	gtk_widget_show (combo_entry_left);
6500 	gtk_widget_set_size_request (combo_entry_left, 50, -1);
6501 	gtk_entry_set_text (GTK_ENTRY (combo_entry_left), "px");
6502 
6503 
6504 	 /**/ dialog_action_area =
6505 		GTK_DIALOG (padding_property_dialog)->action_area;
6506 	gtk_widget_show (dialog_action_area);
6507 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
6508 				   GTK_BUTTONBOX_END);
6509 
6510 	helpbutton = gtk_button_new_from_stock ("gtk-help");
6511 	gtk_widget_show (helpbutton);
6512 	gtk_dialog_add_action_widget (GTK_DIALOG (padding_property_dialog),
6513 				      helpbutton, GTK_RESPONSE_HELP);
6514 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
6515 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
6516 				    GDK_y, GDK_CONTROL_MASK,
6517 				    GTK_ACCEL_VISIBLE);
6518 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
6519 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
6520 
6521 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
6522 	gtk_widget_show (cancelbutton);
6523 	gtk_dialog_add_action_widget (GTK_DIALOG (padding_property_dialog),
6524 				      cancelbutton, GTK_RESPONSE_CANCEL);
6525 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
6526 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
6527 				    GDK_c, GDK_CONTROL_MASK,
6528 				    GTK_ACCEL_VISIBLE);
6529 
6530 	okbutton = gtk_button_new_from_stock ("gtk-ok");
6531 	gtk_widget_show (okbutton);
6532 	gtk_dialog_add_action_widget (GTK_DIALOG (padding_property_dialog),
6533 				      okbutton, GTK_RESPONSE_OK);
6534 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
6535 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
6536 				    GDK_o, GDK_CONTROL_MASK,
6537 				    GTK_ACCEL_VISIBLE);
6538 
6539 	g_signal_connect ((gpointer) combo_entry_top,
6540 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6541 			  spinbutton_top);
6542 	g_signal_connect ((gpointer) combo_entry_right,
6543 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6544 			  spinbutton_right);
6545 	g_signal_connect ((gpointer) combo_entry_bottom,
6546 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6547 			  spinbutton_bottom);
6548 	g_signal_connect ((gpointer) combo_entry_left,
6549 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6550 			  spinbutton_left);
6551 
6552 	if (connect_callbacks)
6553 	{
6554 		g_signal_connect ((gpointer) padding_property_dialog, "close",
6555 				  G_CALLBACK (on_css_dialog_close), data);
6556 
6557 		g_signal_connect ((gpointer) helpbutton, "clicked",
6558 				  G_CALLBACK
6559 				  (on_padding_property_dialog_helpbutton_clicked),
6560 				  NULL);
6561 		g_signal_connect ((gpointer) cancelbutton, "clicked",
6562 				  G_CALLBACK
6563 				  (on_css_dialog_cancel_button_clicked),
6564 				  data);
6565 		g_signal_connect ((gpointer) okbutton, "clicked",
6566 				  G_CALLBACK
6567 				  (on_padding_property_dialog_okbutton_clicked),
6568 				  data);
6569 	}
6570 
6571 	GLADE_HOOKUP_OBJECT_NO_REF (padding_property_dialog,
6572 				    padding_property_dialog,
6573 				    "padding_property_dialog");
6574 	GLADE_HOOKUP_OBJECT_NO_REF (padding_property_dialog, dialog_vbox,
6575 				    "dialog_vbox");
6576 	GLADE_HOOKUP_OBJECT (padding_property_dialog, vbox, "vbox");
6577 	GLADE_HOOKUP_OBJECT (padding_property_dialog, hbox_top, "hbox_top");
6578 	GLADE_HOOKUP_OBJECT (padding_property_dialog, checkbutton_top,
6579 			     "checkbutton_top");
6580 	GLADE_HOOKUP_OBJECT (padding_property_dialog, spinbutton_top,
6581 			     "spinbutton_top");
6582 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_top, "combo_top");
6583 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_entry_top,
6584 			     "combo_entry_top");
6585 	GLADE_HOOKUP_OBJECT (padding_property_dialog, hbox_left, "hbox_left");
6586 	GLADE_HOOKUP_OBJECT (padding_property_dialog, checkbutton_left,
6587 			     "checkbutton_left");
6588 	GLADE_HOOKUP_OBJECT (padding_property_dialog, spinbutton_left,
6589 			     "spinbutton_left");
6590 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_left,
6591 			     "combo_left");
6592 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_entry_left,
6593 			     "combo_entry_left");
6594 	GLADE_HOOKUP_OBJECT (padding_property_dialog, hbox_bottom,
6595 			     "hbox_bottom");
6596 	GLADE_HOOKUP_OBJECT (padding_property_dialog, checkbutton_bottom,
6597 			     "checkbutton_bottom");
6598 	GLADE_HOOKUP_OBJECT (padding_property_dialog, spinbutton_bottom,
6599 			     "spinbutton_bottom");
6600 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_bottom,
6601 			     "combo_bottom");
6602 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_entry_bottom,
6603 			     "combo_entry_bottom");
6604 	GLADE_HOOKUP_OBJECT (padding_property_dialog, hbox_right,
6605 			     "hbox_right");
6606 	GLADE_HOOKUP_OBJECT (padding_property_dialog, checkbutton_right,
6607 			     "checkbutton_right");
6608 	GLADE_HOOKUP_OBJECT (padding_property_dialog, spinbutton_right,
6609 			     "spinbutton_right");
6610 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_right,
6611 			     "combo_right");
6612 	GLADE_HOOKUP_OBJECT (padding_property_dialog, combo_entry_right,
6613 			     "combo_entry_right");
6614 	GLADE_HOOKUP_OBJECT_NO_REF (padding_property_dialog,
6615 				    dialog_action_area, "dialog_action_area");
6616 	GLADE_HOOKUP_OBJECT (padding_property_dialog, helpbutton,
6617 			     "helpbutton");
6618 	GLADE_HOOKUP_OBJECT (padding_property_dialog, cancelbutton,
6619 			     "cancelbutton");
6620 	GLADE_HOOKUP_OBJECT (padding_property_dialog, okbutton, "okbutton");
6621 
6622 	gtk_window_add_accel_group (GTK_WINDOW (padding_property_dialog),
6623 				    accel_group);
6624 
6625 	return padding_property_dialog;
6626 }
6627 
6628 GtkWidget *
create_outline_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)6629 create_outline_property_dialog (CssedWindow * window,
6630 				gchar * previous_string,
6631 				gboolean add_previous_string,
6632 				gboolean connect_callbacks)
6633 {
6634 	GtkWidget *outline_property_dialog;
6635 	GtkWidget *dialog_vbox;
6636 	GtkWidget *vbox;
6637 	GtkWidget *hbox_length;
6638 	GtkWidget *checkbutton_length;
6639 	GtkWidget *combo_length_selector;
6640 	GList *combo_length_selector_items = NULL;
6641 	GtkWidget *combo_entry_length_selector;
6642 	GtkObject *spinbutton_length_adj;
6643 	GtkWidget *spinbutton_length;
6644 	GtkWidget *combo_length_units;
6645 	GList *combo_length_units_items = NULL;
6646 	GtkWidget *combo_entry_length_units;
6647 	GtkWidget *hbox_style;
6648 	GtkWidget *checkbutton_style;
6649 	GtkWidget *combo_style;
6650 	GList *combo_style_items = NULL;
6651 	GtkWidget *combo_entry_style;
6652 	GtkWidget *hbox_color;
6653 	GtkWidget *checkbutton_color;
6654 	GtkWidget *combo_color;
6655 	GList *combo_color_items = NULL;
6656 	GtkWidget *combo_entry_color;
6657 	GtkWidget *colorselection;
6658 	GtkWidget *dialog_action_area;
6659 	GtkWidget *helpbutton;
6660 	GtkWidget *cancelbutton;
6661 	GtkWidget *okbutton;
6662 	GtkAccelGroup *accel_group;
6663 	GtkWidget *main_window;
6664 	CssedCssDialogsData *data = NULL;
6665 
6666 	if (connect_callbacks)
6667 	{
6668 		data = g_malloc (sizeof (CssedCssDialogsData));
6669 		data->main_window = window;
6670 		data->previous_string = previous_string;
6671 		data->add_property_string = add_previous_string;
6672 	}
6673 
6674 	accel_group = gtk_accel_group_new ();
6675 
6676 	outline_property_dialog = gtk_dialog_new ();
6677 	gtk_window_set_title (GTK_WINDOW (outline_property_dialog),
6678 			      previous_string);
6679 	gtk_window_set_modal (GTK_WINDOW (outline_property_dialog), TRUE);
6680 
6681 	main_window = cssed_window_get_window_widget( window );
6682 
6683 	gtk_window_set_transient_for (GTK_WINDOW (outline_property_dialog),
6684 				      GTK_WINDOW (main_window));
6685 
6686 	dialog_vbox = GTK_DIALOG (outline_property_dialog)->vbox;
6687 	gtk_widget_show (dialog_vbox);
6688 
6689 	vbox = gtk_vbox_new (FALSE, 0);
6690 	gtk_widget_show (vbox);
6691 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
6692 
6693 	hbox_length = gtk_hbox_new (FALSE, 0);
6694 	gtk_widget_show (hbox_length);
6695 	gtk_box_pack_start (GTK_BOX (vbox), hbox_length, TRUE, TRUE, 0);
6696 
6697 	checkbutton_length =
6698 		gtk_check_button_new_with_mnemonic (_("outline-length"));
6699 	gtk_widget_show (checkbutton_length);
6700 	gtk_box_pack_start (GTK_BOX (hbox_length), checkbutton_length, FALSE,
6701 			    FALSE, 5);
6702 
6703 	combo_length_selector = gtk_combo_new ();
6704 	g_object_set_data (G_OBJECT
6705 			   (GTK_COMBO (combo_length_selector)->popwin),
6706 			   "GladeParentKey", combo_length_selector);
6707 	gtk_widget_show (combo_length_selector);
6708 	gtk_box_pack_start (GTK_BOX (hbox_length), combo_length_selector,
6709 			    TRUE, FALSE, 5);
6710 	combo_length_selector_items =
6711 		g_list_append (combo_length_selector_items,
6712 			       (gpointer) CSS_STR_USE_PERCLEN);
6713 	combo_length_selector_items =
6714 		g_list_append (combo_length_selector_items,
6715 			       (gpointer) "thin");
6716 	combo_length_selector_items =
6717 		g_list_append (combo_length_selector_items,
6718 			       (gpointer) "medium");
6719 	combo_length_selector_items =
6720 		g_list_append (combo_length_selector_items,
6721 			       (gpointer) "thick");
6722 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_length_selector),
6723 				       combo_length_selector_items);
6724 	g_list_free (combo_length_selector_items);
6725 
6726 	combo_entry_length_selector =
6727 		GTK_COMBO (combo_length_selector)->entry;
6728 	gtk_widget_show (combo_entry_length_selector);
6729 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_length_selector),
6730 				   FALSE);
6731 	gtk_entry_set_text (GTK_ENTRY (combo_entry_length_selector),
6732 			    CSS_STR_USE_PERCLEN);
6733 
6734 	spinbutton_length_adj =
6735 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
6736 	spinbutton_length =
6737 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_length_adj),
6738 				     1, 0);
6739 	gtk_widget_show (spinbutton_length);
6740 	gtk_box_pack_start (GTK_BOX (hbox_length), spinbutton_length, TRUE,
6741 			    TRUE, 5);
6742 
6743 	combo_length_units = gtk_combo_new ();
6744 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_length_units)->popwin),
6745 			   "GladeParentKey", combo_length_units);
6746 	gtk_widget_show (combo_length_units);
6747 	gtk_box_pack_start (GTK_BOX (hbox_length), combo_length_units, FALSE,
6748 			    FALSE, 5);
6749 	combo_length_units_items =
6750 		g_list_append (combo_length_units_items, (gpointer) "%");
6751 	combo_length_units_items =
6752 		g_list_append (combo_length_units_items, (gpointer) "em");
6753 	combo_length_units_items =
6754 		g_list_append (combo_length_units_items, (gpointer) "ex");
6755 	combo_length_units_items =
6756 		g_list_append (combo_length_units_items, (gpointer) "px");
6757 	combo_length_units_items =
6758 		g_list_append (combo_length_units_items, (gpointer) "in");
6759 	combo_length_units_items =
6760 		g_list_append (combo_length_units_items, (gpointer) "cm");
6761 	combo_length_units_items =
6762 		g_list_append (combo_length_units_items, (gpointer) "mm");
6763 	combo_length_units_items =
6764 		g_list_append (combo_length_units_items, (gpointer) "pt");
6765 	combo_length_units_items =
6766 		g_list_append (combo_length_units_items, (gpointer) "pc");
6767 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_length_units),
6768 				       combo_length_units_items);
6769 	g_list_free (combo_length_units_items);
6770 
6771 	combo_entry_length_units = GTK_COMBO (combo_length_units)->entry;
6772 	gtk_widget_show (combo_entry_length_units);
6773 	gtk_widget_set_size_request (combo_entry_length_units, 25, -1);
6774 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_length_units),
6775 				   FALSE);
6776 	gtk_entry_set_text (GTK_ENTRY (combo_entry_length_units), "px");
6777 
6778 	hbox_style = gtk_hbox_new (TRUE, 0);
6779 	gtk_widget_show (hbox_style);
6780 	gtk_box_pack_start (GTK_BOX (vbox), hbox_style, TRUE, TRUE, 0);
6781 
6782 	checkbutton_style =
6783 		gtk_check_button_new_with_mnemonic (_("outline-style"));
6784 	gtk_widget_show (checkbutton_style);
6785 	gtk_box_pack_start (GTK_BOX (hbox_style), checkbutton_style, TRUE,
6786 			    TRUE, 5);
6787 
6788 	combo_style = gtk_combo_new ();
6789 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_style)->popwin),
6790 			   "GladeParentKey", combo_style);
6791 	gtk_widget_show (combo_style);
6792 	gtk_box_pack_start (GTK_BOX (hbox_style), combo_style, TRUE, TRUE, 5);
6793 	combo_style_items =
6794 		g_list_append (combo_style_items, (gpointer) "none");
6795 	combo_style_items =
6796 		g_list_append (combo_style_items, (gpointer) "hidden ");
6797 	combo_style_items =
6798 		g_list_append (combo_style_items, (gpointer) "dotted ");
6799 	combo_style_items =
6800 		g_list_append (combo_style_items, (gpointer) "dashed ");
6801 	combo_style_items =
6802 		g_list_append (combo_style_items, (gpointer) "solid ");
6803 	combo_style_items =
6804 		g_list_append (combo_style_items, (gpointer) "double ");
6805 	combo_style_items =
6806 		g_list_append (combo_style_items, (gpointer) "groove ");
6807 	combo_style_items =
6808 		g_list_append (combo_style_items, (gpointer) "ridge ");
6809 	combo_style_items =
6810 		g_list_append (combo_style_items, (gpointer) "inset ");
6811 	combo_style_items =
6812 		g_list_append (combo_style_items, (gpointer) "outset");
6813 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_style),
6814 				       combo_style_items);
6815 	g_list_free (combo_style_items);
6816 
6817 	combo_entry_style = GTK_COMBO (combo_style)->entry;
6818 	gtk_widget_show (combo_entry_style);
6819 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_style), FALSE);
6820 	gtk_entry_set_text (GTK_ENTRY (combo_entry_style), "none");
6821 
6822 	hbox_color = gtk_hbox_new (TRUE, 0);
6823 	gtk_widget_show (hbox_color);
6824 	gtk_box_pack_start (GTK_BOX (vbox), hbox_color, TRUE, TRUE, 0);
6825 
6826 	checkbutton_color =
6827 		gtk_check_button_new_with_mnemonic (_("outline-color"));
6828 	gtk_widget_show (checkbutton_color);
6829 	gtk_box_pack_start (GTK_BOX (hbox_color), checkbutton_color, TRUE,
6830 			    TRUE, 5);
6831 
6832 	combo_color = gtk_combo_new ();
6833 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_color)->popwin),
6834 			   "GladeParentKey", combo_color);
6835 	gtk_widget_show (combo_color);
6836 	gtk_box_pack_start (GTK_BOX (hbox_color), combo_color, TRUE, TRUE, 5);
6837 	combo_color_items =
6838 		g_list_append (combo_color_items,
6839 			       (gpointer) CSS_STR_USE_COLORSEL);
6840 	combo_color_items =
6841 		g_list_append (combo_color_items, (gpointer) "aqua");
6842 	combo_color_items =
6843 		g_list_append (combo_color_items, (gpointer) "black");
6844 	combo_color_items =
6845 		g_list_append (combo_color_items, (gpointer) "blue");
6846 	combo_color_items =
6847 		g_list_append (combo_color_items, (gpointer) "fuchsia");
6848 	combo_color_items =
6849 		g_list_append (combo_color_items, (gpointer) "gray");
6850 	combo_color_items =
6851 		g_list_append (combo_color_items, (gpointer) "green");
6852 	combo_color_items =
6853 		g_list_append (combo_color_items, (gpointer) "lime");
6854 	combo_color_items =
6855 		g_list_append (combo_color_items, (gpointer) "maroon ");
6856 	combo_color_items =
6857 		g_list_append (combo_color_items, (gpointer) "navy");
6858 	combo_color_items =
6859 		g_list_append (combo_color_items, (gpointer) "olive");
6860 	combo_color_items =
6861 		g_list_append (combo_color_items, (gpointer) "purple");
6862 	combo_color_items =
6863 		g_list_append (combo_color_items, (gpointer) "red");
6864 	combo_color_items =
6865 		g_list_append (combo_color_items, (gpointer) "silver");
6866 	combo_color_items =
6867 		g_list_append (combo_color_items, (gpointer) "teal");
6868 	combo_color_items =
6869 		g_list_append (combo_color_items, (gpointer) "white");
6870 	combo_color_items =
6871 		g_list_append (combo_color_items, (gpointer) "yellow");
6872 	combo_color_items =
6873 		g_list_append (combo_color_items, (gpointer) "ActiveBorder");
6874 	combo_color_items =
6875 		g_list_append (combo_color_items, (gpointer) "ActiveCaption");
6876 	combo_color_items =
6877 		g_list_append (combo_color_items, (gpointer) "AppWorkspace");
6878 	combo_color_items =
6879 		g_list_append (combo_color_items, (gpointer) "Background");
6880 	combo_color_items =
6881 		g_list_append (combo_color_items, (gpointer) "ButtonFace");
6882 	combo_color_items =
6883 		g_list_append (combo_color_items,
6884 			       (gpointer) "ButtonHighlight");
6885 	combo_color_items =
6886 		g_list_append (combo_color_items, (gpointer) "ButtonShadow");
6887 	combo_color_items =
6888 		g_list_append (combo_color_items, (gpointer) "ButtonText");
6889 	combo_color_items =
6890 		g_list_append (combo_color_items, (gpointer) "CaptionText");
6891 	combo_color_items =
6892 		g_list_append (combo_color_items, (gpointer) "GrayText");
6893 	combo_color_items =
6894 		g_list_append (combo_color_items, (gpointer) "Highlight");
6895 	combo_color_items =
6896 		g_list_append (combo_color_items, (gpointer) "HighlightText");
6897 	combo_color_items =
6898 		g_list_append (combo_color_items,
6899 			       (gpointer) "InactiveBorder");
6900 	combo_color_items =
6901 		g_list_append (combo_color_items,
6902 			       (gpointer) "InactiveCaption");
6903 	combo_color_items =
6904 		g_list_append (combo_color_items,
6905 			       (gpointer) "InactiveCaptionText");
6906 	combo_color_items =
6907 		g_list_append (combo_color_items,
6908 			       (gpointer) "InfoBackground");
6909 	combo_color_items =
6910 		g_list_append (combo_color_items, (gpointer) "InfoText");
6911 	combo_color_items =
6912 		g_list_append (combo_color_items, (gpointer) "Menu");
6913 	combo_color_items =
6914 		g_list_append (combo_color_items, (gpointer) "MenuText");
6915 	combo_color_items =
6916 		g_list_append (combo_color_items, (gpointer) "Scrollbar");
6917 	combo_color_items =
6918 		g_list_append (combo_color_items,
6919 			       (gpointer) "ThreeDDarkShadow");
6920 	combo_color_items =
6921 		g_list_append (combo_color_items, (gpointer) "ThreeDFace");
6922 	combo_color_items =
6923 		g_list_append (combo_color_items,
6924 			       (gpointer) "ThreeDHighlight");
6925 	combo_color_items =
6926 		g_list_append (combo_color_items,
6927 			       (gpointer) "ThreeDLightShadow");
6928 	combo_color_items =
6929 		g_list_append (combo_color_items, (gpointer) "ThreeDShadow");
6930 	combo_color_items =
6931 		g_list_append (combo_color_items, (gpointer) "Window");
6932 	combo_color_items =
6933 		g_list_append (combo_color_items, (gpointer) "WindowFrame");
6934 	combo_color_items =
6935 		g_list_append (combo_color_items, (gpointer) "WindowText");
6936 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_color),
6937 				       combo_color_items);
6938 	g_list_free (combo_color_items);
6939 
6940 	combo_entry_color = GTK_COMBO (combo_color)->entry;
6941 	gtk_widget_show (combo_entry_color);
6942 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_color), FALSE);
6943 	gtk_entry_set_text (GTK_ENTRY (combo_entry_color),
6944 			    CSS_STR_USE_COLORSEL);
6945 
6946 	colorselection = gtk_color_selection_new ();
6947 	gtk_widget_show (colorselection);
6948 	gtk_box_pack_start (GTK_BOX (vbox), colorselection, FALSE, FALSE, 0);
6949 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 5);
6950 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
6951 						     (colorselection), FALSE);
6952 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
6953 					     (colorselection), TRUE);
6954 
6955 	dialog_action_area =
6956 		GTK_DIALOG (outline_property_dialog)->action_area;
6957 	gtk_widget_show (dialog_action_area);
6958 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
6959 				   GTK_BUTTONBOX_END);
6960 
6961 	helpbutton = gtk_button_new_from_stock ("gtk-help");
6962 	gtk_widget_show (helpbutton);
6963 	gtk_dialog_add_action_widget (GTK_DIALOG (outline_property_dialog),
6964 				      helpbutton, GTK_RESPONSE_HELP);
6965 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
6966 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
6967 				    GDK_y, GDK_CONTROL_MASK,
6968 				    GTK_ACCEL_VISIBLE);
6969 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
6970 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
6971 
6972 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
6973 	gtk_widget_show (cancelbutton);
6974 	gtk_dialog_add_action_widget (GTK_DIALOG (outline_property_dialog),
6975 				      cancelbutton, GTK_RESPONSE_CANCEL);
6976 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
6977 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
6978 				    GDK_c, GDK_CONTROL_MASK,
6979 				    GTK_ACCEL_VISIBLE);
6980 
6981 	okbutton = gtk_button_new_from_stock ("gtk-ok");
6982 	gtk_widget_show (okbutton);
6983 	gtk_dialog_add_action_widget (GTK_DIALOG (outline_property_dialog),
6984 				      okbutton, GTK_RESPONSE_OK);
6985 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
6986 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
6987 				    GDK_o, GDK_CONTROL_MASK,
6988 				    GTK_ACCEL_VISIBLE);
6989 
6990 	g_signal_connect ((gpointer) combo_entry_length_units,
6991 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
6992 			  spinbutton_length);
6993 
6994 	if (connect_callbacks)
6995 	{
6996 		g_signal_connect ((gpointer) outline_property_dialog, "close",
6997 				  G_CALLBACK (on_css_dialog_close), data);
6998 
6999 		g_signal_connect ((gpointer) helpbutton, "clicked",
7000 				  G_CALLBACK
7001 				  (on_outline_property_dialog_helpbutton_clicked),
7002 				  NULL);
7003 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7004 				  G_CALLBACK
7005 				  (on_css_dialog_cancel_button_clicked),
7006 				  data);
7007 		g_signal_connect ((gpointer) okbutton, "clicked",
7008 				  G_CALLBACK
7009 				  (on_outline_property_dialog_okbutton_clicked),
7010 				  data);
7011 	}
7012 
7013 	GLADE_HOOKUP_OBJECT_NO_REF (outline_property_dialog,
7014 				    outline_property_dialog,
7015 				    "outline_property_dialog");
7016 	GLADE_HOOKUP_OBJECT_NO_REF (outline_property_dialog, dialog_vbox,
7017 				    "dialog_vbox");
7018 	GLADE_HOOKUP_OBJECT (outline_property_dialog, vbox, "vbox");
7019 	GLADE_HOOKUP_OBJECT (outline_property_dialog, hbox_length,
7020 			     "hbox_length");
7021 	GLADE_HOOKUP_OBJECT (outline_property_dialog, checkbutton_length,
7022 			     "checkbutton_length");
7023 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_length_selector,
7024 			     "combo_length_selector");
7025 	GLADE_HOOKUP_OBJECT (outline_property_dialog,
7026 			     combo_entry_length_selector,
7027 			     "combo_entry_length_selector");
7028 	GLADE_HOOKUP_OBJECT (outline_property_dialog, spinbutton_length,
7029 			     "spinbutton_length");
7030 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_length_units,
7031 			     "combo_length_units");
7032 	GLADE_HOOKUP_OBJECT (outline_property_dialog,
7033 			     combo_entry_length_units,
7034 			     "combo_entry_length_units");
7035 	GLADE_HOOKUP_OBJECT (outline_property_dialog, hbox_style,
7036 			     "hbox_style");
7037 	GLADE_HOOKUP_OBJECT (outline_property_dialog, checkbutton_style,
7038 			     "checkbutton_style");
7039 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_style,
7040 			     "combo_style");
7041 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_entry_style,
7042 			     "combo_entry_style");
7043 	GLADE_HOOKUP_OBJECT (outline_property_dialog, hbox_color,
7044 			     "hbox_color");
7045 	GLADE_HOOKUP_OBJECT (outline_property_dialog, checkbutton_color,
7046 			     "checkbutton_color");
7047 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_color,
7048 			     "combo_color");
7049 	GLADE_HOOKUP_OBJECT (outline_property_dialog, combo_entry_color,
7050 			     "combo_entry_color");
7051 	GLADE_HOOKUP_OBJECT (outline_property_dialog, colorselection,
7052 			     "colorselection");
7053 	GLADE_HOOKUP_OBJECT_NO_REF (outline_property_dialog,
7054 				    dialog_action_area, "dialog_action_area");
7055 	GLADE_HOOKUP_OBJECT (outline_property_dialog, helpbutton,
7056 			     "helpbutton");
7057 	GLADE_HOOKUP_OBJECT (outline_property_dialog, cancelbutton,
7058 			     "cancelbutton");
7059 	GLADE_HOOKUP_OBJECT (outline_property_dialog, okbutton, "okbutton");
7060 
7061 	gtk_window_add_accel_group (GTK_WINDOW (outline_property_dialog),
7062 				    accel_group);
7063 
7064 	return outline_property_dialog;
7065 }
7066 
7067 GtkWidget *
create_pause_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)7068 create_pause_property_dialog (CssedWindow * window,
7069 			      gchar * previous_string,
7070 			      gboolean add_previous_string,
7071 			      gboolean connect_callbacks)
7072 {
7073 	GtkWidget *pause_property_dialog;
7074 	GtkWidget *dialog_vbox;
7075 	GtkWidget *vbox;
7076 	GtkWidget *hbox_after;
7077 	GtkWidget *checkbutton_after;
7078 	GtkObject *spinbutton_after_adj;
7079 	GtkWidget *spinbutton_after;
7080 	GtkWidget *combo_after;
7081 	GList *combo_after_items = NULL;
7082 	GtkWidget *combo_entry_after;
7083 	GtkWidget *hbox_before;
7084 	GtkWidget *checkbutton_before;
7085 	GtkObject *spinbutton_before_adj;
7086 	GtkWidget *spinbutton_before;
7087 	GtkWidget *combo_before;
7088 	GList *combo_before_items = NULL;
7089 	GtkWidget *combo_entry_before;
7090 	GtkWidget *dialog_action_area;
7091 	GtkWidget *helpbutton;
7092 	GtkWidget *cancelbutton;
7093 	GtkWidget *okbutton;
7094 	GtkAccelGroup *accel_group;
7095 	GtkWidget *main_window;
7096 	CssedCssDialogsData *data = NULL;
7097 
7098 	if (connect_callbacks)
7099 	{
7100 		data = g_malloc (sizeof (CssedCssDialogsData));
7101 		data->main_window = window;
7102 		data->previous_string = previous_string;
7103 		data->add_property_string = add_previous_string;
7104 	}
7105 
7106 	accel_group = gtk_accel_group_new ();
7107 
7108 	pause_property_dialog = gtk_dialog_new ();
7109 	gtk_window_set_title (GTK_WINDOW (pause_property_dialog),
7110 			      previous_string);
7111 	gtk_window_set_modal (GTK_WINDOW (pause_property_dialog), TRUE);
7112 
7113 	main_window = cssed_window_get_window_widget( window );
7114 
7115 	gtk_window_set_transient_for (GTK_WINDOW (pause_property_dialog),
7116 				      GTK_WINDOW (main_window));
7117 
7118 	dialog_vbox = GTK_DIALOG (pause_property_dialog)->vbox;
7119 	gtk_widget_show (dialog_vbox);
7120 
7121 	vbox = gtk_vbox_new (TRUE, 0);
7122 	gtk_widget_show (vbox);
7123 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
7124 
7125 	hbox_after = gtk_hbox_new (TRUE, 0);
7126 	gtk_widget_show (hbox_after);
7127 	gtk_box_pack_start (GTK_BOX (vbox), hbox_after, TRUE, TRUE, 0);
7128 
7129 	checkbutton_after =
7130 		gtk_check_button_new_with_mnemonic (_("pause-after"));
7131 	gtk_widget_show (checkbutton_after);
7132 	gtk_box_pack_start (GTK_BOX (hbox_after), checkbutton_after, TRUE,
7133 			    TRUE, 5);
7134 
7135 	spinbutton_after_adj =
7136 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
7137 	spinbutton_after =
7138 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_after_adj), 1,
7139 				     0);
7140 	gtk_widget_show (spinbutton_after);
7141 	gtk_box_pack_start (GTK_BOX (hbox_after), spinbutton_after, FALSE,
7142 			    FALSE, 0);
7143 
7144 	combo_after = gtk_combo_new ();
7145 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_after)->popwin),
7146 			   "GladeParentKey", combo_after);
7147 	gtk_widget_show (combo_after);
7148 	gtk_box_pack_start (GTK_BOX (hbox_after), combo_after, FALSE, FALSE,
7149 			    0);
7150 	combo_after_items = g_list_append (combo_after_items, (gpointer) "%");
7151 	combo_after_items =
7152 		g_list_append (combo_after_items, (gpointer) "ms");
7153 	combo_after_items = g_list_append (combo_after_items, (gpointer) "s");
7154 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_after),
7155 				       combo_after_items);
7156 	g_list_free (combo_after_items);
7157 
7158 	combo_entry_after = GTK_COMBO (combo_after)->entry;
7159 	gtk_widget_show (combo_entry_after);
7160 	gtk_widget_set_size_request (combo_entry_after, 40, -1);
7161 	gtk_entry_set_text (GTK_ENTRY (combo_entry_after), "%");
7162 
7163 	hbox_before = gtk_hbox_new (TRUE, 0);
7164 	gtk_widget_show (hbox_before);
7165 	gtk_box_pack_start (GTK_BOX (vbox), hbox_before, TRUE, TRUE, 0);
7166 
7167 	checkbutton_before =
7168 		gtk_check_button_new_with_mnemonic (_("pause-before"));
7169 	gtk_widget_show (checkbutton_before);
7170 	gtk_box_pack_start (GTK_BOX (hbox_before), checkbutton_before, TRUE,
7171 			    TRUE, 5);
7172 
7173 	spinbutton_before_adj =
7174 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
7175 	spinbutton_before =
7176 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_before_adj),
7177 				     1, 0);
7178 	gtk_widget_show (spinbutton_before);
7179 	gtk_box_pack_start (GTK_BOX (hbox_before), spinbutton_before, FALSE,
7180 			    FALSE, 0);
7181 
7182 	combo_before = gtk_combo_new ();
7183 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_before)->popwin),
7184 			   "GladeParentKey", combo_before);
7185 	gtk_widget_show (combo_before);
7186 	gtk_box_pack_start (GTK_BOX (hbox_before), combo_before, FALSE, FALSE,
7187 			    0);
7188 	combo_before_items =
7189 		g_list_append (combo_before_items, (gpointer) "%");
7190 	combo_before_items =
7191 		g_list_append (combo_before_items, (gpointer) "ms");
7192 	combo_before_items =
7193 		g_list_append (combo_before_items, (gpointer) "s");
7194 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_before),
7195 				       combo_before_items);
7196 	g_list_free (combo_before_items);
7197 
7198 	combo_entry_before = GTK_COMBO (combo_before)->entry;
7199 	gtk_widget_show (combo_entry_before);
7200 	gtk_widget_set_size_request (combo_entry_before, 40, -1);
7201 	gtk_entry_set_text (GTK_ENTRY (combo_entry_before), "%");
7202 
7203 	dialog_action_area = GTK_DIALOG (pause_property_dialog)->action_area;
7204 	gtk_widget_show (dialog_action_area);
7205 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
7206 				   GTK_BUTTONBOX_END);
7207 
7208 	helpbutton = gtk_button_new_from_stock ("gtk-help");
7209 	gtk_widget_show (helpbutton);
7210 	gtk_dialog_add_action_widget (GTK_DIALOG (pause_property_dialog),
7211 				      helpbutton, GTK_RESPONSE_HELP);
7212 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
7213 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
7214 				    GDK_y, GDK_CONTROL_MASK,
7215 				    GTK_ACCEL_VISIBLE);
7216 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
7217 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
7218 
7219 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
7220 	gtk_widget_show (cancelbutton);
7221 	gtk_dialog_add_action_widget (GTK_DIALOG (pause_property_dialog),
7222 				      cancelbutton, GTK_RESPONSE_CANCEL);
7223 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
7224 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
7225 				    GDK_c, GDK_CONTROL_MASK,
7226 				    GTK_ACCEL_VISIBLE);
7227 
7228 	okbutton = gtk_button_new_from_stock ("gtk-ok");
7229 	gtk_widget_show (okbutton);
7230 	gtk_dialog_add_action_widget (GTK_DIALOG (pause_property_dialog),
7231 				      okbutton, GTK_RESPONSE_OK);
7232 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
7233 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
7234 				    GDK_o, GDK_CONTROL_MASK,
7235 				    GTK_ACCEL_VISIBLE);
7236 	if (connect_callbacks)
7237 	{
7238 		g_signal_connect ((gpointer) pause_property_dialog, "close",
7239 				  G_CALLBACK (on_css_dialog_close), data);
7240 
7241 		g_signal_connect ((gpointer) helpbutton, "clicked",
7242 				  G_CALLBACK
7243 				  (on_pause_property_dialog_helpbutton_clicked),
7244 				  NULL);
7245 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7246 				  G_CALLBACK
7247 				  (on_css_dialog_cancel_button_clicked),
7248 				  data);
7249 		g_signal_connect ((gpointer) okbutton, "clicked",
7250 				  G_CALLBACK
7251 				  (on_pause_property_dialog_okbutton_clicked),
7252 				  data);
7253 	}
7254 
7255 	GLADE_HOOKUP_OBJECT_NO_REF (pause_property_dialog,
7256 				    pause_property_dialog,
7257 				    "pause_property_dialog");
7258 	GLADE_HOOKUP_OBJECT_NO_REF (pause_property_dialog, dialog_vbox,
7259 				    "dialog_vbox");
7260 	GLADE_HOOKUP_OBJECT (pause_property_dialog, vbox, "vbox");
7261 	GLADE_HOOKUP_OBJECT (pause_property_dialog, hbox_after, "hbox_after");
7262 	GLADE_HOOKUP_OBJECT (pause_property_dialog, checkbutton_after,
7263 			     "checkbutton_after");
7264 	GLADE_HOOKUP_OBJECT (pause_property_dialog, spinbutton_after,
7265 			     "spinbutton_after");
7266 	GLADE_HOOKUP_OBJECT (pause_property_dialog, combo_after,
7267 			     "combo_after");
7268 	GLADE_HOOKUP_OBJECT (pause_property_dialog, combo_entry_after,
7269 			     "combo_entry_after");
7270 	GLADE_HOOKUP_OBJECT (pause_property_dialog, hbox_before,
7271 			     "hbox_before");
7272 	GLADE_HOOKUP_OBJECT (pause_property_dialog, checkbutton_before,
7273 			     "checkbutton_before");
7274 	GLADE_HOOKUP_OBJECT (pause_property_dialog, spinbutton_before,
7275 			     "spinbutton_before");
7276 	GLADE_HOOKUP_OBJECT (pause_property_dialog, combo_before,
7277 			     "combo_before");
7278 	GLADE_HOOKUP_OBJECT (pause_property_dialog, combo_entry_before,
7279 			     "combo_entry_before");
7280 	GLADE_HOOKUP_OBJECT_NO_REF (pause_property_dialog, dialog_action_area,
7281 				    "dialog_action_area");
7282 	GLADE_HOOKUP_OBJECT (pause_property_dialog, helpbutton, "helpbutton");
7283 	GLADE_HOOKUP_OBJECT (pause_property_dialog, cancelbutton,
7284 			     "cancelbutton");
7285 	GLADE_HOOKUP_OBJECT (pause_property_dialog, okbutton, "okbutton");
7286 
7287 	gtk_window_add_accel_group (GTK_WINDOW (pause_property_dialog),
7288 				    accel_group);
7289 
7290 	return pause_property_dialog;
7291 }
7292 
7293 GtkWidget *
create_percentage_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)7294 create_percentage_value_dialog (CssedWindow * window,
7295 				gchar * previous_string,
7296 				gboolean add_previous_string,
7297 				gboolean connect_callbacks)
7298 {
7299 	GtkWidget *percentage_value_dialog;
7300 	GtkWidget *dialog_vbox;
7301 	GtkWidget *hbox_pc;
7302 	GtkWidget *label_property;
7303 	GtkObject *spinbutton_percentage_adj;
7304 	GtkWidget *spinbutton_percentage;
7305 	GtkWidget *label_pc;
7306 	GtkWidget *dialog_action_area;
7307 	GtkWidget *helpbutton;
7308 	GtkWidget *cancelbutton;
7309 	GtkWidget *okbutton;
7310 	GtkAccelGroup *accel_group;
7311 	GtkWidget *main_window;
7312 	CssedCssDialogsData *data = NULL;
7313 
7314 	if (connect_callbacks)
7315 	{
7316 		data = g_malloc (sizeof (CssedCssDialogsData));
7317 		data->main_window = window;
7318 		data->previous_string = previous_string;
7319 		data->add_property_string = add_previous_string;
7320 	}
7321 
7322 	accel_group = gtk_accel_group_new ();
7323 
7324 	percentage_value_dialog = gtk_dialog_new ();
7325 	gtk_window_set_modal (GTK_WINDOW (percentage_value_dialog), TRUE);
7326 	gtk_window_set_title (GTK_WINDOW (percentage_value_dialog),
7327 			      previous_string);
7328 
7329 	main_window = cssed_window_get_window_widget( window );
7330 
7331 	gtk_window_set_transient_for (GTK_WINDOW (percentage_value_dialog),
7332 				      GTK_WINDOW (main_window));
7333 
7334 	dialog_vbox = GTK_DIALOG (percentage_value_dialog)->vbox;
7335 	gtk_widget_show (dialog_vbox);
7336 
7337 	hbox_pc = gtk_hbox_new (FALSE, 0);
7338 	gtk_widget_show (hbox_pc);
7339 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox_pc, TRUE, TRUE, 0);
7340 
7341 	label_property = gtk_label_new (_("percentage"));
7342 	gtk_widget_show (label_property);
7343 	gtk_box_pack_start (GTK_BOX (hbox_pc), label_property, TRUE, TRUE, 0);
7344 	gtk_label_set_justify (GTK_LABEL (label_property), GTK_JUSTIFY_LEFT);
7345 
7346 	spinbutton_percentage_adj =
7347 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
7348 	spinbutton_percentage =
7349 		gtk_spin_button_new (GTK_ADJUSTMENT
7350 				     (spinbutton_percentage_adj), 1, 0);
7351 	gtk_widget_show (spinbutton_percentage);
7352 	gtk_box_pack_start (GTK_BOX (hbox_pc), spinbutton_percentage, FALSE,
7353 			    FALSE, 5);
7354 
7355 	label_pc = gtk_label_new ("%");
7356 	gtk_widget_show (label_pc);
7357 	gtk_box_pack_start (GTK_BOX (hbox_pc), label_pc, FALSE, FALSE, 10);
7358 	gtk_label_set_justify (GTK_LABEL (label_pc), GTK_JUSTIFY_LEFT);
7359 
7360 	dialog_action_area =
7361 		GTK_DIALOG (percentage_value_dialog)->action_area;
7362 	gtk_widget_show (dialog_action_area);
7363 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
7364 				   GTK_BUTTONBOX_END);
7365 
7366 	helpbutton = gtk_button_new_from_stock ("gtk-help");
7367 	gtk_widget_show (helpbutton);
7368 	gtk_dialog_add_action_widget (GTK_DIALOG (percentage_value_dialog),
7369 				      helpbutton, GTK_RESPONSE_HELP);
7370 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
7371 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
7372 				    GDK_y, GDK_CONTROL_MASK,
7373 				    GTK_ACCEL_VISIBLE);
7374 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
7375 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
7376 
7377 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
7378 	gtk_widget_show (cancelbutton);
7379 	gtk_dialog_add_action_widget (GTK_DIALOG (percentage_value_dialog),
7380 				      cancelbutton, GTK_RESPONSE_CANCEL);
7381 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
7382 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
7383 				    GDK_c, GDK_CONTROL_MASK,
7384 				    GTK_ACCEL_VISIBLE);
7385 
7386 	okbutton = gtk_button_new_from_stock ("gtk-ok");
7387 	gtk_widget_show (okbutton);
7388 	gtk_dialog_add_action_widget (GTK_DIALOG (percentage_value_dialog),
7389 				      okbutton, GTK_RESPONSE_OK);
7390 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
7391 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
7392 				    GDK_o, GDK_CONTROL_MASK,
7393 				    GTK_ACCEL_VISIBLE);
7394 	if (connect_callbacks)
7395 	{
7396 		g_signal_connect ((gpointer) percentage_value_dialog, "close",
7397 				  G_CALLBACK (on_css_dialog_close), data);
7398 
7399 		g_signal_connect ((gpointer) helpbutton, "clicked",
7400 				  G_CALLBACK
7401 				  (on_percentage_value_dialog_helpbutton_clicked),
7402 				  NULL);
7403 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7404 				  G_CALLBACK
7405 				  (on_css_dialog_cancel_button_clicked),
7406 				  data);
7407 		g_signal_connect ((gpointer) okbutton, "clicked",
7408 				  G_CALLBACK
7409 				  (on_percentage_value_dialog_okbutton_clicked),
7410 				  data);
7411 	}
7412 
7413 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_value_dialog,
7414 				    percentage_value_dialog,
7415 				    "percentage_value_dialog");
7416 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_value_dialog, dialog_vbox,
7417 				    "dialog_vbox");
7418 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, hbox_pc, "hbox_pc");
7419 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, label_property,
7420 			     "label_property");
7421 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, spinbutton_percentage,
7422 			     "spinbutton_percentage");
7423 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, label_pc, "label_pc");
7424 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_value_dialog,
7425 				    dialog_action_area, "dialog_action_area");
7426 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, helpbutton,
7427 			     "helpbutton");
7428 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, cancelbutton,
7429 			     "cancelbutton");
7430 	GLADE_HOOKUP_OBJECT (percentage_value_dialog, okbutton, "okbutton");
7431 
7432 	gtk_window_add_accel_group (GTK_WINDOW (percentage_value_dialog),
7433 				    accel_group);
7434 
7435 	return percentage_value_dialog;
7436 }
7437 
7438 GtkWidget *
create_percentage_length_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)7439 create_percentage_length_value_dialog (CssedWindow * window,
7440 				       gchar * previous_string,
7441 				       gboolean add_previous_string,
7442 				       gboolean connect_callbacks)
7443 {
7444 	GtkWidget *percentage_length_value_dialog;
7445 	GtkWidget *dialog_vbox;
7446 	GtkWidget *hbox;
7447 	GtkWidget *label_property;
7448 	GtkObject *spinbutton_perclen_adj;
7449 	GtkWidget *spinbutton_perclen;
7450 	GtkWidget *combo_perclen_units;
7451 	GList *combo_perclen_units_items = NULL;
7452 	GtkWidget *combo_entry_perclen_units;
7453 	GtkWidget *dialog_action_area;
7454 	GtkWidget *helpbutton;
7455 	GtkWidget *cancelbutton;
7456 	GtkWidget *okbutton;
7457 	GtkAccelGroup *accel_group;
7458 	GtkWidget *main_window;
7459 	CssedCssDialogsData *data = NULL;
7460 
7461 	if (connect_callbacks)
7462 	{
7463 		data = g_malloc (sizeof (CssedCssDialogsData));
7464 		data->main_window = window;
7465 		data->previous_string = previous_string;
7466 		data->add_property_string = add_previous_string;
7467 	}
7468 
7469 	accel_group = gtk_accel_group_new ();
7470 
7471 	percentage_length_value_dialog = gtk_dialog_new ();
7472 	gtk_window_set_title (GTK_WINDOW (percentage_length_value_dialog),
7473 			      previous_string);
7474 	gtk_window_set_modal (GTK_WINDOW (percentage_length_value_dialog),
7475 			      TRUE);
7476 
7477 	main_window = cssed_window_get_window_widget( window );
7478 
7479 	gtk_window_set_transient_for (GTK_WINDOW
7480 				      (percentage_length_value_dialog),
7481 				      GTK_WINDOW (main_window));
7482 
7483 	dialog_vbox = GTK_DIALOG (percentage_length_value_dialog)->vbox;
7484 	gtk_widget_show (dialog_vbox);
7485 
7486 	hbox = gtk_hbox_new (FALSE, 0);
7487 	gtk_widget_show (hbox);
7488 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
7489 
7490 	label_property = gtk_label_new (previous_string);
7491 	gtk_widget_show (label_property);
7492 	gtk_box_pack_start (GTK_BOX (hbox), label_property, TRUE, TRUE, 0);
7493 	gtk_label_set_justify (GTK_LABEL (label_property), GTK_JUSTIFY_LEFT);
7494 
7495 	spinbutton_perclen_adj =
7496 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
7497 	spinbutton_perclen =
7498 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_perclen_adj),
7499 				     1, 0);
7500 	gtk_widget_show (spinbutton_perclen);
7501 	gtk_box_pack_start (GTK_BOX (hbox), spinbutton_perclen, FALSE, FALSE,
7502 			    5);
7503 
7504 	combo_perclen_units = gtk_combo_new ();
7505 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_perclen_units)->popwin),
7506 			   "GladeParentKey", combo_perclen_units);
7507 	gtk_widget_show (combo_perclen_units);
7508 	gtk_box_pack_start (GTK_BOX (hbox), combo_perclen_units, FALSE, FALSE,
7509 			    5);
7510 	gtk_widget_set_size_request (combo_perclen_units, 50, -1);
7511 	combo_perclen_units_items =
7512 		g_list_append (combo_perclen_units_items, (gpointer) "%");
7513 	combo_perclen_units_items =
7514 		g_list_append (combo_perclen_units_items, (gpointer) "em");
7515 	combo_perclen_units_items =
7516 		g_list_append (combo_perclen_units_items, (gpointer) "ex");
7517 	combo_perclen_units_items =
7518 		g_list_append (combo_perclen_units_items, (gpointer) "px");
7519 	combo_perclen_units_items =
7520 		g_list_append (combo_perclen_units_items, (gpointer) "in");
7521 	combo_perclen_units_items =
7522 		g_list_append (combo_perclen_units_items, (gpointer) "cm");
7523 	combo_perclen_units_items =
7524 		g_list_append (combo_perclen_units_items, (gpointer) "mm");
7525 	combo_perclen_units_items =
7526 		g_list_append (combo_perclen_units_items, (gpointer) "pt");
7527 	combo_perclen_units_items =
7528 		g_list_append (combo_perclen_units_items, (gpointer) "pc");
7529 
7530 
7531 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_perclen_units),
7532 				       combo_perclen_units_items);
7533 	g_list_free (combo_perclen_units_items);
7534 
7535 	combo_entry_perclen_units = GTK_COMBO (combo_perclen_units)->entry;
7536 	gtk_widget_show (combo_entry_perclen_units);
7537 	gtk_entry_set_text (GTK_ENTRY (combo_entry_perclen_units), "px");
7538 
7539 	dialog_action_area =
7540 		GTK_DIALOG (percentage_length_value_dialog)->action_area;
7541 	gtk_widget_show (dialog_action_area);
7542 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
7543 				   GTK_BUTTONBOX_END);
7544 
7545 	helpbutton = gtk_button_new_from_stock ("gtk-help");
7546 	gtk_widget_show (helpbutton);
7547 	gtk_dialog_add_action_widget (GTK_DIALOG
7548 				      (percentage_length_value_dialog),
7549 				      helpbutton, GTK_RESPONSE_HELP);
7550 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
7551 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
7552 				    GDK_y, GDK_CONTROL_MASK,
7553 				    GTK_ACCEL_VISIBLE);
7554 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
7555 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
7556 
7557 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
7558 	gtk_widget_show (cancelbutton);
7559 	gtk_dialog_add_action_widget (GTK_DIALOG
7560 				      (percentage_length_value_dialog),
7561 				      cancelbutton, GTK_RESPONSE_CANCEL);
7562 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
7563 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
7564 				    GDK_c, GDK_CONTROL_MASK,
7565 				    GTK_ACCEL_VISIBLE);
7566 
7567 	okbutton = gtk_button_new_from_stock ("gtk-ok");
7568 	gtk_widget_show (okbutton);
7569 	gtk_dialog_add_action_widget (GTK_DIALOG
7570 				      (percentage_length_value_dialog),
7571 				      okbutton, GTK_RESPONSE_OK);
7572 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
7573 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
7574 				    GDK_o, GDK_CONTROL_MASK,
7575 				    GTK_ACCEL_VISIBLE);
7576 
7577 	g_signal_connect ((gpointer) combo_entry_perclen_units,
7578 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
7579 			  spinbutton_perclen);
7580 
7581 	if (connect_callbacks)
7582 	{
7583 		g_signal_connect ((gpointer) percentage_length_value_dialog,
7584 				  "close", G_CALLBACK (on_css_dialog_close),
7585 				  data);
7586 
7587 		g_signal_connect ((gpointer) helpbutton, "clicked",
7588 				  G_CALLBACK
7589 				  (on_percentage_length_value_dialog_helpbutton_clicked),
7590 				  NULL);
7591 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7592 				  G_CALLBACK
7593 				  (on_css_dialog_cancel_button_clicked),
7594 				  data);
7595 		g_signal_connect ((gpointer) okbutton, "clicked",
7596 				  G_CALLBACK
7597 				  (on_percentage_length_value_dialog_okbutton_clicked),
7598 				  data);
7599 	}
7600 
7601 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_length_value_dialog,
7602 				    percentage_length_value_dialog,
7603 				    "percentage_length_value_dialog");
7604 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_length_value_dialog,
7605 				    dialog_vbox, "dialog_vbox");
7606 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog, hbox, "hbox");
7607 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog, label_property,
7608 			     "label_property");
7609 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog,
7610 			     spinbutton_perclen, "spinbutton_perclen");
7611 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog,
7612 			     combo_perclen_units, "combo_perclen_units");
7613 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog,
7614 			     combo_entry_perclen_units,
7615 			     "combo_entry_perclen_units");
7616 	GLADE_HOOKUP_OBJECT_NO_REF (percentage_length_value_dialog,
7617 				    dialog_action_area, "dialog_action_area");
7618 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog, helpbutton,
7619 			     "helpbutton");
7620 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog, cancelbutton,
7621 			     "cancelbutton");
7622 	GLADE_HOOKUP_OBJECT (percentage_length_value_dialog, okbutton,
7623 			     "okbutton");
7624 
7625 	gtk_window_add_accel_group (GTK_WINDOW
7626 				    (percentage_length_value_dialog),
7627 				    accel_group);
7628 
7629 	return percentage_length_value_dialog;
7630 }
7631 
7632 GtkWidget *
create_play_during_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)7633 create_play_during_property_dialog (CssedWindow * window,
7634 				    gchar * previous_string,
7635 				    gboolean add_previous_string,
7636 				    gboolean connect_callbacks)
7637 {
7638 	GtkWidget *play_during_property_dialog;
7639 	GtkWidget *dialog_vbox;
7640 	GtkWidget *vbox;
7641 	GtkWidget *hbox_uri;
7642 	GtkWidget *label_uri;
7643 	GtkWidget *entry_uri;
7644 	GtkWidget *hbox_choices;
7645 	GtkWidget *checkbutton_repeat;
7646 	GtkWidget *checkbutton_mix;
7647 	GtkWidget *dialog_action_area;
7648 	GtkWidget *helpbutton;
7649 	GtkWidget *cancelbutton;
7650 	GtkWidget *okbutton;
7651 	GtkWidget *main_window;
7652 	CssedCssDialogsData *data = NULL;
7653 
7654 	if (connect_callbacks)
7655 	{
7656 		data = g_malloc (sizeof (CssedCssDialogsData));
7657 		data->main_window = window;
7658 		data->previous_string = previous_string;
7659 		data->add_property_string = add_previous_string;
7660 	}
7661 
7662 	play_during_property_dialog = gtk_dialog_new ();
7663 	gtk_window_set_title (GTK_WINDOW (play_during_property_dialog),
7664 			      previous_string);
7665 	gtk_window_set_modal (GTK_WINDOW (play_during_property_dialog), TRUE);
7666 
7667 	main_window = cssed_window_get_window_widget( window );
7668 
7669 	gtk_window_set_transient_for (GTK_WINDOW
7670 				      (play_during_property_dialog),
7671 				      GTK_WINDOW (main_window));
7672 
7673 	dialog_vbox = GTK_DIALOG (play_during_property_dialog)->vbox;
7674 	gtk_widget_show (dialog_vbox);
7675 
7676 	vbox = gtk_vbox_new (TRUE, 0);
7677 	gtk_widget_show (vbox);
7678 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
7679 
7680 	hbox_uri = gtk_hbox_new (FALSE, 0);
7681 	gtk_widget_show (hbox_uri);
7682 	gtk_box_pack_start (GTK_BOX (vbox), hbox_uri, TRUE, TRUE, 0);
7683 
7684 	label_uri = gtk_label_new ("Uri");
7685 	gtk_widget_show (label_uri);
7686 	gtk_box_pack_start (GTK_BOX (hbox_uri), label_uri, FALSE, FALSE, 5);
7687 
7688 	entry_uri = gtk_entry_new ();
7689 	gtk_widget_show (entry_uri);
7690 	gtk_box_pack_start (GTK_BOX (hbox_uri), entry_uri, TRUE, TRUE, 5);
7691 
7692 	hbox_choices = gtk_hbox_new (TRUE, 0);
7693 	gtk_widget_show (hbox_choices);
7694 	gtk_box_pack_start (GTK_BOX (vbox), hbox_choices, TRUE, TRUE, 0);
7695 
7696 	checkbutton_repeat = gtk_check_button_new_with_mnemonic ("repeat");
7697 	gtk_widget_show (checkbutton_repeat);
7698 	gtk_box_pack_start (GTK_BOX (hbox_choices), checkbutton_repeat, FALSE,
7699 			    TRUE, 5);
7700 
7701 	checkbutton_mix = gtk_check_button_new_with_mnemonic ("mix");
7702 	gtk_widget_show (checkbutton_mix);
7703 	gtk_box_pack_start (GTK_BOX (hbox_choices), checkbutton_mix, FALSE,
7704 			    TRUE, 5);
7705 
7706 	dialog_action_area =
7707 		GTK_DIALOG (play_during_property_dialog)->action_area;
7708 	gtk_widget_show (dialog_action_area);
7709 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
7710 				   GTK_BUTTONBOX_END);
7711 
7712 	helpbutton = gtk_button_new_from_stock ("gtk-help");
7713 	gtk_widget_show (helpbutton);
7714 	gtk_dialog_add_action_widget (GTK_DIALOG
7715 				      (play_during_property_dialog),
7716 				      helpbutton, GTK_RESPONSE_HELP);
7717 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
7718 
7719 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
7720 	gtk_widget_show (cancelbutton);
7721 	gtk_dialog_add_action_widget (GTK_DIALOG
7722 				      (play_during_property_dialog),
7723 				      cancelbutton, GTK_RESPONSE_CANCEL);
7724 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
7725 
7726 	okbutton = gtk_button_new_from_stock ("gtk-ok");
7727 	gtk_widget_show (okbutton);
7728 	gtk_dialog_add_action_widget (GTK_DIALOG
7729 				      (play_during_property_dialog), okbutton,
7730 				      GTK_RESPONSE_OK);
7731 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
7732 	if (connect_callbacks)
7733 	{
7734 		g_signal_connect ((gpointer) play_during_property_dialog,
7735 				  "close", G_CALLBACK (on_css_dialog_close),
7736 				  data);
7737 
7738 		g_signal_connect ((gpointer) helpbutton, "clicked",
7739 				  G_CALLBACK
7740 				  (on_play_during_property_dialog_helpbutton_clicked),
7741 				  NULL);
7742 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7743 				  G_CALLBACK
7744 				  (on_css_dialog_cancel_button_clicked),
7745 				  data);
7746 		g_signal_connect ((gpointer) okbutton, "clicked",
7747 				  G_CALLBACK
7748 				  (on_play_during_property_dialog_okbutton_clicked),
7749 				  data);
7750 	}
7751 
7752 	GLADE_HOOKUP_OBJECT_NO_REF (play_during_property_dialog,
7753 				    play_during_property_dialog,
7754 				    "play_during_property_dialog");
7755 	GLADE_HOOKUP_OBJECT_NO_REF (play_during_property_dialog, dialog_vbox,
7756 				    "dialog_vbox");
7757 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, vbox, "vbox");
7758 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, hbox_uri,
7759 			     "hbox_uri");
7760 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, label_uri,
7761 			     "label_uri");
7762 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, entry_uri,
7763 			     "entry_uri");
7764 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, hbox_choices,
7765 			     "hbox_choices");
7766 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, checkbutton_repeat,
7767 			     "checkbutton_repeat");
7768 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, checkbutton_mix,
7769 			     "checkbutton_mix");
7770 	GLADE_HOOKUP_OBJECT_NO_REF (play_during_property_dialog,
7771 				    dialog_action_area, "dialog_action_area");
7772 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, helpbutton,
7773 			     "helpbutton");
7774 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, cancelbutton,
7775 			     "cancelbutton");
7776 	GLADE_HOOKUP_OBJECT (play_during_property_dialog, okbutton,
7777 			     "okbutton");
7778 
7779 	return play_during_property_dialog;
7780 }
7781 
7782 GtkWidget *
create_quotes_property_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)7783 create_quotes_property_dialog (CssedWindow * window,
7784 			       gchar * previous_string,
7785 			       gboolean add_previous_string,
7786 			       gboolean connect_callbacks)
7787 {
7788 	GtkWidget *quotes_property_dialog;
7789 	GtkWidget *dialog_vbox;
7790 	GtkWidget *vbox;
7791 	GtkWidget *hbox_open_close_and_buttons;
7792 	GtkWidget *hbox_open;
7793 	GtkWidget *label_open;
7794 	GtkWidget *entry_open;
7795 	GtkWidget *hbox_close;
7796 	GtkWidget *label_close;
7797 	GtkWidget *entry_close;
7798 	GtkWidget *hbuttonbox;
7799 	GtkWidget *button_quotes_property_dialog_add;
7800 	GtkWidget *button_quotes_property_dialog_del;
7801 	GtkWidget *scrolledwindow;
7802 	GtkWidget *treeview;
7803 	GtkWidget *dialog_action_area;
7804 	GtkWidget *helpbutton;
7805 	GtkWidget *cancelbutton;
7806 	GtkWidget *okbutton;
7807 	GtkAccelGroup *accel_group;
7808 	GtkWidget *main_window;
7809 	GtkTreeViewColumn *col_open_quote;
7810 	GtkTreeViewColumn *col_close_quote;
7811 	GtkCellRenderer *oq_renderer;
7812 	GtkCellRenderer *cq_renderer;
7813 	GtkListStore *store;
7814 	CssedCssDialogsData *data = NULL;
7815 
7816 	if (connect_callbacks)
7817 	{
7818 		data = g_malloc (sizeof (CssedCssDialogsData));
7819 		data->main_window = window;
7820 		data->previous_string = previous_string;
7821 		data->add_property_string = add_previous_string;
7822 	}
7823 
7824 	accel_group = gtk_accel_group_new ();
7825 
7826 	quotes_property_dialog = gtk_dialog_new ();
7827 	gtk_window_set_title (GTK_WINDOW (quotes_property_dialog),
7828 			      previous_string);
7829 	gtk_window_set_modal (GTK_WINDOW (quotes_property_dialog), TRUE);
7830 
7831 	main_window = cssed_window_get_window_widget( window );
7832 
7833 	gtk_window_set_transient_for (GTK_WINDOW (quotes_property_dialog),
7834 				      GTK_WINDOW (main_window));
7835 
7836 	dialog_vbox = GTK_DIALOG (quotes_property_dialog)->vbox;
7837 	gtk_widget_show (dialog_vbox);
7838 
7839 	vbox = gtk_vbox_new (FALSE, 0);
7840 	gtk_widget_show (vbox);
7841 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
7842 
7843 	hbox_open_close_and_buttons = gtk_hbox_new (FALSE, 0);
7844 	gtk_widget_show (hbox_open_close_and_buttons);
7845 	gtk_box_pack_start (GTK_BOX (vbox), hbox_open_close_and_buttons,
7846 			    FALSE, TRUE, 5);
7847 
7848 	hbox_open = gtk_hbox_new (TRUE, 0);
7849 	gtk_widget_show (hbox_open);
7850 	gtk_box_pack_start (GTK_BOX (hbox_open_close_and_buttons), hbox_open,
7851 			    TRUE, TRUE, 0);
7852 
7853 	label_open = gtk_label_new (_("open"));
7854 	gtk_widget_show (label_open);
7855 	gtk_box_pack_start (GTK_BOX (hbox_open), label_open, TRUE, TRUE, 5);
7856 	gtk_label_set_justify (GTK_LABEL (label_open), GTK_JUSTIFY_LEFT);
7857 
7858 	entry_open = gtk_entry_new ();
7859 	gtk_widget_show (entry_open);
7860 	gtk_box_pack_start (GTK_BOX (hbox_open), entry_open, FALSE, FALSE, 0);
7861 	gtk_widget_set_size_request (entry_open, 25, -1);
7862 	gtk_entry_set_max_length (GTK_ENTRY (entry_open), 1);
7863 
7864 	hbox_close = gtk_hbox_new (TRUE, 0);
7865 	gtk_widget_show (hbox_close);
7866 	gtk_box_pack_start (GTK_BOX (hbox_open_close_and_buttons), hbox_close,
7867 			    TRUE, TRUE, 0);
7868 
7869 	label_close = gtk_label_new (_("close"));
7870 	gtk_widget_show (label_close);
7871 	gtk_box_pack_start (GTK_BOX (hbox_close), label_close, TRUE, TRUE, 0);
7872 	gtk_label_set_justify (GTK_LABEL (label_close), GTK_JUSTIFY_LEFT);
7873 
7874 	entry_close = gtk_entry_new ();
7875 	gtk_widget_show (entry_close);
7876 	gtk_box_pack_start (GTK_BOX (hbox_close), entry_close, FALSE, FALSE,
7877 			    0);
7878 	gtk_widget_set_size_request (entry_close, 25, -1);
7879 	gtk_entry_set_max_length (GTK_ENTRY (entry_close), 1);
7880 
7881 	hbuttonbox = gtk_hbutton_box_new ();
7882 	gtk_widget_show (hbuttonbox);
7883 	gtk_box_pack_start (GTK_BOX (hbox_open_close_and_buttons), hbuttonbox,
7884 			    TRUE, TRUE, 5);
7885 
7886 	button_quotes_property_dialog_add =
7887 		gtk_button_new_from_stock ("gtk-add");
7888 	gtk_widget_show (button_quotes_property_dialog_add);
7889 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
7890 			   button_quotes_property_dialog_add);
7891 	GTK_WIDGET_SET_FLAGS (button_quotes_property_dialog_add,
7892 			      GTK_CAN_DEFAULT);
7893 
7894 	button_quotes_property_dialog_del =
7895 		gtk_button_new_from_stock ("gtk-remove");
7896 	gtk_widget_show (button_quotes_property_dialog_del);
7897 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
7898 			   button_quotes_property_dialog_del);
7899 	GTK_WIDGET_SET_FLAGS (button_quotes_property_dialog_del,
7900 			      GTK_CAN_DEFAULT);
7901 
7902 	scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
7903 	gtk_widget_show (scrolledwindow);
7904 	gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow, TRUE, TRUE, 0);
7905 	gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 5);
7906 	gtk_widget_set_size_request (scrolledwindow, -1, 150);
7907 
7908 	store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
7909 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
7910 
7911 	oq_renderer = gtk_cell_renderer_text_new ();
7912 	cq_renderer = gtk_cell_renderer_text_new ();
7913 
7914 	col_open_quote =
7915 		gtk_tree_view_column_new_with_attributes (_("Open quote"),
7916 							  oq_renderer, "text",
7917 							  0, NULL);
7918 	col_close_quote =
7919 		gtk_tree_view_column_new_with_attributes (_("Close quote"),
7920 							  cq_renderer, "text",
7921 							  1, NULL);
7922 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview), col_open_quote,
7923 				     0);
7924 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
7925 				     col_close_quote, 1);
7926 
7927 	gtk_widget_show (treeview);
7928 	gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview);
7929 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
7930 
7931 	dialog_action_area = GTK_DIALOG (quotes_property_dialog)->action_area;
7932 	gtk_widget_show (dialog_action_area);
7933 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
7934 				   GTK_BUTTONBOX_END);
7935 
7936 	helpbutton = gtk_button_new_from_stock ("gtk-help");
7937 	gtk_widget_show (helpbutton);
7938 	gtk_dialog_add_action_widget (GTK_DIALOG (quotes_property_dialog),
7939 				      helpbutton, GTK_RESPONSE_HELP);
7940 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
7941 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
7942 				    GDK_y, GDK_CONTROL_MASK,
7943 				    GTK_ACCEL_VISIBLE);
7944 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
7945 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
7946 
7947 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
7948 	gtk_widget_show (cancelbutton);
7949 	gtk_dialog_add_action_widget (GTK_DIALOG (quotes_property_dialog),
7950 				      cancelbutton, GTK_RESPONSE_CANCEL);
7951 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
7952 
7953 	okbutton = gtk_button_new_from_stock ("gtk-ok");
7954 	gtk_widget_show (okbutton);
7955 	gtk_dialog_add_action_widget (GTK_DIALOG (quotes_property_dialog),
7956 				      okbutton, GTK_RESPONSE_OK);
7957 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
7958 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
7959 				    GDK_o, GDK_CONTROL_MASK,
7960 				    GTK_ACCEL_VISIBLE);
7961 	if (connect_callbacks)
7962 	{
7963 		g_signal_connect ((gpointer) quotes_property_dialog, "close",
7964 				  G_CALLBACK (on_css_dialog_close), data);
7965 
7966 		g_signal_connect ((gpointer) helpbutton, "clicked",
7967 				  G_CALLBACK
7968 				  (on_quotes_property_dialog_helpbutton_clicked),
7969 				  NULL);
7970 		g_signal_connect ((gpointer) cancelbutton, "clicked",
7971 				  G_CALLBACK
7972 				  (on_css_dialog_cancel_button_clicked),
7973 				  data);
7974 		g_signal_connect ((gpointer) okbutton, "clicked",
7975 				  G_CALLBACK
7976 				  (on_quotes_property_dialog_okbutton_clicked),
7977 				  data);
7978 	}
7979 	g_signal_connect ((gpointer) button_quotes_property_dialog_add,
7980 			  "clicked",
7981 			  G_CALLBACK
7982 			  (on_button_quotes_property_dialog_add_clicked),
7983 			  store);
7984 	g_signal_connect ((gpointer) button_quotes_property_dialog_del,
7985 			  "clicked",
7986 			  G_CALLBACK
7987 			  (on_button_quotes_property_dialog_del_clicked),
7988 			  store);
7989 
7990 	GLADE_HOOKUP_OBJECT_NO_REF (quotes_property_dialog,
7991 				    quotes_property_dialog,
7992 				    "quotes_property_dialog");
7993 	GLADE_HOOKUP_OBJECT_NO_REF (quotes_property_dialog, dialog_vbox,
7994 				    "dialog_vbox");
7995 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, vbox, "vbox");
7996 	GLADE_HOOKUP_OBJECT (quotes_property_dialog,
7997 			     hbox_open_close_and_buttons,
7998 			     "hbox_open_close_and_buttons");
7999 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, hbox_open, "hbox_open");
8000 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, label_open,
8001 			     "label_open");
8002 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, entry_open,
8003 			     "entry_open");
8004 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, hbox_close,
8005 			     "hbox_close");
8006 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, label_close,
8007 			     "label_close");
8008 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, entry_close,
8009 			     "entry_close");
8010 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, hbuttonbox,
8011 			     "hbuttonbox");
8012 	GLADE_HOOKUP_OBJECT (quotes_property_dialog,
8013 			     button_quotes_property_dialog_add,
8014 			     "button_quotes_property_dialog_add");
8015 	GLADE_HOOKUP_OBJECT (quotes_property_dialog,
8016 			     button_quotes_property_dialog_del,
8017 			     "button_quotes_property_dialog_del");
8018 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, scrolledwindow,
8019 			     "scrolledwindow");
8020 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, treeview, "treeview");
8021 	GLADE_HOOKUP_OBJECT_NO_REF (quotes_property_dialog,
8022 				    dialog_action_area, "dialog_action_area");
8023 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, helpbutton,
8024 			     "helpbutton");
8025 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, cancelbutton,
8026 			     "cancelbutton");
8027 	GLADE_HOOKUP_OBJECT (quotes_property_dialog, okbutton, "okbutton");
8028 
8029 	gtk_window_add_accel_group (GTK_WINDOW (quotes_property_dialog),
8030 				    accel_group);
8031 
8032 	return quotes_property_dialog;
8033 }
8034 
8035 GtkWidget *
create_shape_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)8036 create_shape_value_dialog (CssedWindow * window,
8037 			   gchar * previous_string,
8038 			   gboolean add_previous_string,
8039 			   gboolean connect_callbacks)
8040 {
8041 	GtkWidget *shape_value_dialog;
8042 	GtkWidget *dialog_vbox;
8043 	GtkWidget *vbox;
8044 	GtkWidget *hbox_top;
8045 	GtkWidget *label_top;
8046 	GtkObject *spinbutton_top_adj;
8047 	GtkWidget *spinbutton_top;
8048 	GtkWidget *combo_top;
8049 	GList *combo_top_items = NULL;
8050 	GtkWidget *combo_entry_top;
8051 	GtkWidget *hbox_right;
8052 	GtkWidget *label_right;
8053 	GtkObject *spinbutton_right_adj;
8054 	GtkWidget *spinbutton_right;
8055 	GtkWidget *combo_right;
8056 	GList *combo_right_items = NULL;
8057 	GtkWidget *combo_entry_right;
8058 	GtkWidget *hbox_bottom;
8059 	GtkWidget *label_bottom;
8060 	GtkObject *spinbutton_bottom_adj;
8061 	GtkWidget *spinbutton_bottom;
8062 	GtkWidget *combo_bottom;
8063 	GList *combo_bottom_items = NULL;
8064 	GtkWidget *combo_entry_bottom;
8065 	GtkWidget *hbox_left;
8066 	GtkWidget *label_left;
8067 	GtkObject *spinbutton_left_adj;
8068 	GtkWidget *spinbutton_left;
8069 	GtkWidget *combo_left;
8070 	GList *combo_left_items = NULL;
8071 	GtkWidget *combo_entry_left;
8072 	GtkWidget *dialog_action_area;
8073 	GtkWidget *helpbutton;
8074 	GtkWidget *cancelbutton;
8075 	GtkWidget *okbutton;
8076 	GtkAccelGroup *accel_group;
8077 	GtkWidget *main_window;
8078 	CssedCssDialogsData *data = NULL;
8079 
8080 	if (connect_callbacks)
8081 	{
8082 		data = g_malloc (sizeof (CssedCssDialogsData));
8083 		data->main_window = window;
8084 		data->previous_string = previous_string;
8085 		data->add_property_string = add_previous_string;
8086 	}
8087 
8088 	accel_group = gtk_accel_group_new ();
8089 
8090 	shape_value_dialog = gtk_dialog_new ();
8091 	gtk_window_set_title (GTK_WINDOW (shape_value_dialog),
8092 			      previous_string);
8093 	gtk_window_set_modal (GTK_WINDOW (shape_value_dialog), TRUE);
8094 
8095 	main_window = cssed_window_get_window_widget( window );
8096 
8097 	gtk_window_set_transient_for (GTK_WINDOW (shape_value_dialog),
8098 				      GTK_WINDOW (main_window));
8099 
8100 	dialog_vbox = GTK_DIALOG (shape_value_dialog)->vbox;
8101 	gtk_widget_show (dialog_vbox);
8102 
8103 	vbox = gtk_vbox_new (FALSE, 0);
8104 	gtk_widget_show (vbox);
8105 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
8106 
8107 	hbox_top = gtk_hbox_new (TRUE, 0);
8108 	gtk_widget_show (hbox_top);
8109 	gtk_box_pack_start (GTK_BOX (vbox), hbox_top, TRUE, TRUE, 0);
8110 
8111 	label_top = gtk_label_new (_("Top"));
8112 	gtk_widget_show (label_top);
8113 	gtk_box_pack_start (GTK_BOX (hbox_top), label_top, TRUE, TRUE, 5);
8114 	gtk_label_set_justify (GTK_LABEL (label_top), GTK_JUSTIFY_LEFT);
8115 
8116 	spinbutton_top_adj = gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8117 	spinbutton_top =
8118 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_top_adj), 1,
8119 				     0);
8120 	gtk_widget_show (spinbutton_top);
8121 	gtk_box_pack_start (GTK_BOX (hbox_top), spinbutton_top, TRUE, FALSE,
8122 			    0);
8123 
8124 	combo_top = gtk_combo_new ();
8125 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_top)->popwin),
8126 			   "GladeParentKey", combo_top);
8127 	gtk_widget_show (combo_top);
8128 	gtk_box_pack_start (GTK_BOX (hbox_top), combo_top, FALSE, FALSE, 5);
8129 	combo_top_items = g_list_append (combo_top_items, (gpointer) "em");
8130 	combo_top_items = g_list_append (combo_top_items, (gpointer) "ex");
8131 	combo_top_items = g_list_append (combo_top_items, (gpointer) "px");
8132 	combo_top_items = g_list_append (combo_top_items, (gpointer) "in");
8133 	combo_top_items = g_list_append (combo_top_items, (gpointer) "cm");
8134 	combo_top_items = g_list_append (combo_top_items, (gpointer) "mm");
8135 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pt");
8136 	combo_top_items = g_list_append (combo_top_items, (gpointer) "pc");
8137 
8138 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_top),
8139 				       combo_top_items);
8140 	g_list_free (combo_top_items);
8141 
8142 	combo_entry_top = GTK_COMBO (combo_top)->entry;
8143 	gtk_widget_show (combo_entry_top);
8144 	gtk_widget_set_size_request (combo_entry_top, 50, -1);
8145 	gtk_entry_set_text (GTK_ENTRY (combo_entry_top), "px");
8146 
8147 	hbox_right = gtk_hbox_new (TRUE, 0);
8148 	gtk_widget_show (hbox_right);
8149 	gtk_box_pack_start (GTK_BOX (vbox), hbox_right, TRUE, TRUE, 5);
8150 
8151 	label_right = gtk_label_new (_("Right"));
8152 	gtk_widget_show (label_right);
8153 	gtk_box_pack_start (GTK_BOX (hbox_right), label_right, TRUE, TRUE, 5);
8154 	gtk_label_set_justify (GTK_LABEL (label_right), GTK_JUSTIFY_LEFT);
8155 
8156 	spinbutton_right_adj =
8157 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8158 	spinbutton_right =
8159 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_right_adj), 1,
8160 				     0);
8161 	gtk_widget_show (spinbutton_right);
8162 	gtk_box_pack_start (GTK_BOX (hbox_right), spinbutton_right, TRUE,
8163 			    FALSE, 0);
8164 
8165 	combo_right = gtk_combo_new ();
8166 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_right)->popwin),
8167 			   "GladeParentKey", combo_right);
8168 	gtk_widget_show (combo_right);
8169 	gtk_box_pack_start (GTK_BOX (hbox_right), combo_right, FALSE, FALSE,
8170 			    5);
8171 	combo_right_items =
8172 		g_list_append (combo_right_items, (gpointer) "em");
8173 	combo_right_items =
8174 		g_list_append (combo_right_items, (gpointer) "ex");
8175 	combo_right_items =
8176 		g_list_append (combo_right_items, (gpointer) "px");
8177 	combo_right_items =
8178 		g_list_append (combo_right_items, (gpointer) "in");
8179 	combo_right_items =
8180 		g_list_append (combo_right_items, (gpointer) "cm");
8181 	combo_right_items =
8182 		g_list_append (combo_right_items, (gpointer) "mm");
8183 	combo_right_items =
8184 		g_list_append (combo_right_items, (gpointer) "pt");
8185 	combo_right_items =
8186 		g_list_append (combo_right_items, (gpointer) "pc");
8187 
8188 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_right),
8189 				       combo_right_items);
8190 	g_list_free (combo_right_items);
8191 
8192 	combo_entry_right = GTK_COMBO (combo_right)->entry;
8193 	gtk_widget_show (combo_entry_right);
8194 	gtk_widget_set_size_request (combo_entry_right, 50, -1);
8195 	gtk_entry_set_text (GTK_ENTRY (combo_entry_right), "px");
8196 
8197 	hbox_bottom = gtk_hbox_new (TRUE, 0);
8198 	gtk_widget_show (hbox_bottom);
8199 	gtk_box_pack_start (GTK_BOX (vbox), hbox_bottom, TRUE, TRUE, 0);
8200 
8201 	label_bottom = gtk_label_new (_("Bottom"));
8202 	gtk_widget_show (label_bottom);
8203 	gtk_box_pack_start (GTK_BOX (hbox_bottom), label_bottom, TRUE, TRUE,
8204 			    5);
8205 	gtk_label_set_justify (GTK_LABEL (label_bottom), GTK_JUSTIFY_LEFT);
8206 
8207 	spinbutton_bottom_adj =
8208 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8209 	spinbutton_bottom =
8210 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_bottom_adj),
8211 				     1, 0);
8212 	gtk_widget_show (spinbutton_bottom);
8213 	gtk_box_pack_start (GTK_BOX (hbox_bottom), spinbutton_bottom, TRUE,
8214 			    FALSE, 0);
8215 
8216 	combo_bottom = gtk_combo_new ();
8217 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_bottom)->popwin),
8218 			   "GladeParentKey", combo_bottom);
8219 	gtk_widget_show (combo_bottom);
8220 	gtk_box_pack_start (GTK_BOX (hbox_bottom), combo_bottom, FALSE, FALSE,
8221 			    5);
8222 	combo_bottom_items =
8223 		g_list_append (combo_bottom_items, (gpointer) "em");
8224 	combo_bottom_items =
8225 		g_list_append (combo_bottom_items, (gpointer) "ex");
8226 	combo_bottom_items =
8227 		g_list_append (combo_bottom_items, (gpointer) "px");
8228 	combo_bottom_items =
8229 		g_list_append (combo_bottom_items, (gpointer) "in");
8230 	combo_bottom_items =
8231 		g_list_append (combo_bottom_items, (gpointer) "cm");
8232 	combo_bottom_items =
8233 		g_list_append (combo_bottom_items, (gpointer) "mm");
8234 	combo_bottom_items =
8235 		g_list_append (combo_bottom_items, (gpointer) "pt");
8236 	combo_bottom_items =
8237 		g_list_append (combo_bottom_items, (gpointer) "pc");
8238 
8239 
8240 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_bottom),
8241 				       combo_bottom_items);
8242 	g_list_free (combo_bottom_items);
8243 
8244 	combo_entry_bottom = GTK_COMBO (combo_bottom)->entry;
8245 	gtk_widget_show (combo_entry_bottom);
8246 	gtk_widget_set_size_request (combo_entry_bottom, 50, -1);
8247 	gtk_entry_set_text (GTK_ENTRY (combo_entry_bottom), "px");
8248 
8249 	hbox_left = gtk_hbox_new (TRUE, 0);
8250 	gtk_widget_show (hbox_left);
8251 	gtk_box_pack_start (GTK_BOX (vbox), hbox_left, TRUE, TRUE, 5);
8252 
8253 	label_left = gtk_label_new (_("Left"));
8254 	gtk_widget_show (label_left);
8255 	gtk_box_pack_start (GTK_BOX (hbox_left), label_left, TRUE, TRUE, 5);
8256 	gtk_label_set_justify (GTK_LABEL (label_left), GTK_JUSTIFY_LEFT);
8257 
8258 	spinbutton_left_adj =
8259 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8260 	spinbutton_left =
8261 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_left_adj), 1,
8262 				     0);
8263 	gtk_widget_show (spinbutton_left);
8264 	gtk_box_pack_start (GTK_BOX (hbox_left), spinbutton_left, TRUE, FALSE,
8265 			    0);
8266 
8267 	combo_left = gtk_combo_new ();
8268 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_left)->popwin),
8269 			   "GladeParentKey", combo_left);
8270 	gtk_widget_show (combo_left);
8271 	gtk_box_pack_start (GTK_BOX (hbox_left), combo_left, FALSE, FALSE, 5);
8272 	combo_left_items = g_list_append (combo_left_items, (gpointer) "em");
8273 	combo_left_items = g_list_append (combo_left_items, (gpointer) "ex");
8274 	combo_left_items = g_list_append (combo_left_items, (gpointer) "px");
8275 	combo_left_items = g_list_append (combo_left_items, (gpointer) "in");
8276 	combo_left_items = g_list_append (combo_left_items, (gpointer) "cm");
8277 	combo_left_items = g_list_append (combo_left_items, (gpointer) "mm");
8278 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pt");
8279 	combo_left_items = g_list_append (combo_left_items, (gpointer) "pc");
8280 
8281 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_left),
8282 				       combo_left_items);
8283 	g_list_free (combo_left_items);
8284 
8285 	combo_entry_left = GTK_COMBO (combo_left)->entry;
8286 	gtk_widget_show (combo_entry_left);
8287 	gtk_widget_set_size_request (combo_entry_left, 50, -1);
8288 	gtk_entry_set_text (GTK_ENTRY (combo_entry_left), "px");
8289 
8290 	dialog_action_area = GTK_DIALOG (shape_value_dialog)->action_area;
8291 	gtk_widget_show (dialog_action_area);
8292 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
8293 				   GTK_BUTTONBOX_END);
8294 
8295 	helpbutton = gtk_button_new_from_stock ("gtk-help");
8296 	gtk_widget_show (helpbutton);
8297 	gtk_dialog_add_action_widget (GTK_DIALOG (shape_value_dialog),
8298 				      helpbutton, GTK_RESPONSE_HELP);
8299 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
8300 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
8301 				    GDK_y, GDK_CONTROL_MASK,
8302 				    GTK_ACCEL_VISIBLE);
8303 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
8304 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
8305 
8306 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
8307 	gtk_widget_show (cancelbutton);
8308 	gtk_dialog_add_action_widget (GTK_DIALOG (shape_value_dialog),
8309 				      cancelbutton, GTK_RESPONSE_CANCEL);
8310 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
8311 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
8312 				    GDK_c, GDK_CONTROL_MASK,
8313 				    GTK_ACCEL_VISIBLE);
8314 
8315 	okbutton = gtk_button_new_from_stock ("gtk-ok");
8316 	gtk_widget_show (okbutton);
8317 	gtk_dialog_add_action_widget (GTK_DIALOG (shape_value_dialog),
8318 				      okbutton, GTK_RESPONSE_OK);
8319 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
8320 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
8321 				    GDK_o, GDK_CONTROL_MASK,
8322 				    GTK_ACCEL_VISIBLE);
8323 
8324 	g_signal_connect ((gpointer) combo_entry_top,
8325 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8326 			  spinbutton_top);
8327 	g_signal_connect ((gpointer) combo_entry_right,
8328 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8329 			  spinbutton_right);
8330 	g_signal_connect ((gpointer) combo_entry_bottom,
8331 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8332 			  spinbutton_bottom);
8333 	g_signal_connect ((gpointer) combo_entry_left,
8334 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8335 			  spinbutton_left);
8336 
8337 	if (connect_callbacks)
8338 	{
8339 		g_signal_connect ((gpointer) shape_value_dialog, "close",
8340 				  G_CALLBACK (on_css_dialog_close), data);
8341 
8342 		g_signal_connect ((gpointer) helpbutton, "clicked",
8343 				  G_CALLBACK
8344 				  (on_shape_value_dialog_helpbutton_clicked),
8345 				  NULL);
8346 		g_signal_connect ((gpointer) cancelbutton, "clicked",
8347 				  G_CALLBACK
8348 				  (on_css_dialog_cancel_button_clicked),
8349 				  data);
8350 		g_signal_connect ((gpointer) okbutton, "clicked",
8351 				  G_CALLBACK
8352 				  (on_shape_value_dialog_okbutton_clicked),
8353 				  data);
8354 	}
8355 
8356 	GLADE_HOOKUP_OBJECT_NO_REF (shape_value_dialog, shape_value_dialog,
8357 				    "shape_value_dialog");
8358 	GLADE_HOOKUP_OBJECT_NO_REF (shape_value_dialog, dialog_vbox,
8359 				    "dialog_vbox");
8360 	GLADE_HOOKUP_OBJECT (shape_value_dialog, vbox, "vbox");
8361 	GLADE_HOOKUP_OBJECT (shape_value_dialog, hbox_top, "hbox_top");
8362 	GLADE_HOOKUP_OBJECT (shape_value_dialog, label_top, "label_top");
8363 	GLADE_HOOKUP_OBJECT (shape_value_dialog, spinbutton_top,
8364 			     "spinbutton_top");
8365 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_top, "combo_top");
8366 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_entry_top,
8367 			     "combo_entry_top");
8368 	GLADE_HOOKUP_OBJECT (shape_value_dialog, hbox_right, "hbox_right");
8369 	GLADE_HOOKUP_OBJECT (shape_value_dialog, label_right, "label_right");
8370 	GLADE_HOOKUP_OBJECT (shape_value_dialog, spinbutton_right,
8371 			     "spinbutton_right");
8372 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_right, "combo_right");
8373 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_entry_right,
8374 			     "combo_entry_right");
8375 	GLADE_HOOKUP_OBJECT (shape_value_dialog, hbox_bottom, "hbox_bottom");
8376 	GLADE_HOOKUP_OBJECT (shape_value_dialog, label_bottom,
8377 			     "label_bottom");
8378 	GLADE_HOOKUP_OBJECT (shape_value_dialog, spinbutton_bottom,
8379 			     "spinbutton_bottom");
8380 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_bottom,
8381 			     "combo_bottom");
8382 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_entry_bottom,
8383 			     "combo_entry_bottom");
8384 	GLADE_HOOKUP_OBJECT (shape_value_dialog, hbox_left, "hbox_left");
8385 	GLADE_HOOKUP_OBJECT (shape_value_dialog, label_left, "label_left");
8386 	GLADE_HOOKUP_OBJECT (shape_value_dialog, spinbutton_left,
8387 			     "spinbutton_left");
8388 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_left, "combo_left");
8389 	GLADE_HOOKUP_OBJECT (shape_value_dialog, combo_entry_left,
8390 			     "combo_entry_left");
8391 	GLADE_HOOKUP_OBJECT_NO_REF (shape_value_dialog, dialog_action_area,
8392 				    "dialog_action_area");
8393 	GLADE_HOOKUP_OBJECT (shape_value_dialog, helpbutton, "helpbutton");
8394 	GLADE_HOOKUP_OBJECT (shape_value_dialog, cancelbutton,
8395 			     "cancelbutton");
8396 	GLADE_HOOKUP_OBJECT (shape_value_dialog, okbutton, "okbutton");
8397 
8398 	gtk_window_add_accel_group (GTK_WINDOW (shape_value_dialog),
8399 				    accel_group);
8400 
8401 	return shape_value_dialog;
8402 }
8403 
8404 GtkWidget *
create_size_length_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)8405 create_size_length_value_dialog (CssedWindow * window,
8406 				 gchar * previous_string,
8407 				 gboolean add_previous_string,
8408 				 gboolean connect_callbacks)
8409 {
8410 	GtkWidget *size_length_value_dialog;
8411 	GtkWidget *dialog_vbox;
8412 	GtkWidget *vbox;
8413 	GtkWidget *hbox_width;
8414 	GtkWidget *label_width;
8415 	GtkObject *spinbutton_width_adj;
8416 	GtkWidget *spinbutton_width;
8417 	GtkWidget *combo_width;
8418 	GList *combo_width_items = NULL;
8419 	GtkWidget *combo_entry_width;
8420 	GtkWidget *hbox_height;
8421 	GtkWidget *label_height;
8422 	GtkObject *spinbutton_height_adj;
8423 	GtkWidget *spinbutton_height;
8424 	GtkWidget *combo_height;
8425 	GList *combo_height_items = NULL;
8426 	GtkWidget *combo_entry_height;
8427 	GtkWidget *dialog_action_area;
8428 	GtkWidget *helpbutton;
8429 	GtkWidget *cancelbutton;
8430 	GtkWidget *okbutton;
8431 	GtkAccelGroup *accel_group;
8432 	GtkWidget *main_window;
8433 	CssedCssDialogsData *data = NULL;
8434 
8435 	if (connect_callbacks)
8436 	{
8437 		data = g_malloc (sizeof (CssedCssDialogsData));
8438 		data->main_window = window;
8439 		data->previous_string = previous_string;
8440 		data->add_property_string = add_previous_string;
8441 	}
8442 
8443 	accel_group = gtk_accel_group_new ();
8444 
8445 	size_length_value_dialog = gtk_dialog_new ();
8446 	gtk_window_set_title (GTK_WINDOW (size_length_value_dialog),
8447 			      previous_string);
8448 	gtk_window_set_modal (GTK_WINDOW (size_length_value_dialog), TRUE);
8449 
8450 	main_window = cssed_window_get_window_widget( window );
8451 
8452 	gtk_window_set_transient_for (GTK_WINDOW (size_length_value_dialog),
8453 				      GTK_WINDOW (main_window));
8454 
8455 	dialog_vbox = GTK_DIALOG (size_length_value_dialog)->vbox;
8456 	gtk_widget_show (dialog_vbox);
8457 
8458 	vbox = gtk_vbox_new (FALSE, 0);
8459 	gtk_widget_show (vbox);
8460 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
8461 
8462 	hbox_width = gtk_hbox_new (TRUE, 0);
8463 	gtk_widget_show (hbox_width);
8464 	gtk_box_pack_start (GTK_BOX (vbox), hbox_width, TRUE, TRUE, 0);
8465 
8466 	label_width = gtk_label_new (_("Width"));
8467 	gtk_widget_show (label_width);
8468 	gtk_box_pack_start (GTK_BOX (hbox_width), label_width, TRUE, TRUE, 0);
8469 	gtk_label_set_justify (GTK_LABEL (label_width), GTK_JUSTIFY_LEFT);
8470 
8471 	spinbutton_width_adj =
8472 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8473 	spinbutton_width =
8474 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_width_adj), 1,
8475 				     0);
8476 	gtk_widget_show (spinbutton_width);
8477 	gtk_box_pack_start (GTK_BOX (hbox_width), spinbutton_width, FALSE,
8478 			    FALSE, 0);
8479 
8480 	combo_width = gtk_combo_new ();
8481 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_width)->popwin),
8482 			   "GladeParentKey", combo_width);
8483 	gtk_widget_show (combo_width);
8484 	gtk_box_pack_start (GTK_BOX (hbox_width), combo_width, FALSE, FALSE,
8485 			    0);
8486 	gtk_widget_set_size_request (combo_width, 50, -1);
8487 	combo_width_items =
8488 		g_list_append (combo_width_items, (gpointer) "em");
8489 	combo_width_items =
8490 		g_list_append (combo_width_items, (gpointer) "ex");
8491 	combo_width_items =
8492 		g_list_append (combo_width_items, (gpointer) "px");
8493 	combo_width_items =
8494 		g_list_append (combo_width_items, (gpointer) "in");
8495 	combo_width_items =
8496 		g_list_append (combo_width_items, (gpointer) "cm");
8497 	combo_width_items =
8498 		g_list_append (combo_width_items, (gpointer) "mm");
8499 	combo_width_items =
8500 		g_list_append (combo_width_items, (gpointer) "pt");
8501 	combo_width_items =
8502 		g_list_append (combo_width_items, (gpointer) "pc");
8503 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_width),
8504 				       combo_width_items);
8505 	g_list_free (combo_width_items);
8506 
8507 	combo_entry_width = GTK_COMBO (combo_width)->entry;
8508 	gtk_widget_show (combo_entry_width);
8509 	gtk_entry_set_text (GTK_ENTRY (combo_entry_width), "px");
8510 
8511 	hbox_height = gtk_hbox_new (TRUE, 0);
8512 	gtk_widget_show (hbox_height);
8513 	gtk_box_pack_start (GTK_BOX (vbox), hbox_height, TRUE, TRUE, 0);
8514 
8515 	label_height = gtk_label_new (_("Height"));
8516 	gtk_widget_show (label_height);
8517 	gtk_box_pack_start (GTK_BOX (hbox_height), label_height, TRUE, TRUE,
8518 			    0);
8519 	gtk_label_set_justify (GTK_LABEL (label_height), GTK_JUSTIFY_LEFT);
8520 
8521 	spinbutton_height_adj =
8522 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8523 	spinbutton_height =
8524 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_height_adj),
8525 				     1, 0);
8526 	gtk_widget_show (spinbutton_height);
8527 	gtk_box_pack_start (GTK_BOX (hbox_height), spinbutton_height, FALSE,
8528 			    FALSE, 0);
8529 
8530 	combo_height = gtk_combo_new ();
8531 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_height)->popwin),
8532 			   "GladeParentKey", combo_height);
8533 	gtk_widget_show (combo_height);
8534 	gtk_box_pack_start (GTK_BOX (hbox_height), combo_height, FALSE, FALSE,
8535 			    0);
8536 	gtk_widget_set_size_request (combo_height, 50, -1);
8537 	combo_height_items =
8538 		g_list_append (combo_height_items, (gpointer) "em");
8539 	combo_height_items =
8540 		g_list_append (combo_height_items, (gpointer) "ex");
8541 	combo_height_items =
8542 		g_list_append (combo_height_items, (gpointer) "px");
8543 	combo_height_items =
8544 		g_list_append (combo_height_items, (gpointer) "in");
8545 	combo_height_items =
8546 		g_list_append (combo_height_items, (gpointer) "cm");
8547 	combo_height_items =
8548 		g_list_append (combo_height_items, (gpointer) "mm");
8549 	combo_height_items =
8550 		g_list_append (combo_height_items, (gpointer) "pt");
8551 	combo_height_items =
8552 		g_list_append (combo_height_items, (gpointer) "pc");
8553 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_height),
8554 				       combo_height_items);
8555 	g_list_free (combo_height_items);
8556 
8557 	combo_entry_height = GTK_COMBO (combo_height)->entry;
8558 	gtk_widget_show (combo_entry_height);
8559 	gtk_entry_set_text (GTK_ENTRY (combo_entry_height), "px");
8560 
8561 	dialog_action_area =
8562 		GTK_DIALOG (size_length_value_dialog)->action_area;
8563 	gtk_widget_show (dialog_action_area);
8564 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
8565 				   GTK_BUTTONBOX_END);
8566 
8567 	helpbutton = gtk_button_new_from_stock ("gtk-help");
8568 	gtk_widget_show (helpbutton);
8569 	gtk_dialog_add_action_widget (GTK_DIALOG (size_length_value_dialog),
8570 				      helpbutton, GTK_RESPONSE_HELP);
8571 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
8572 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
8573 				    GDK_y, GDK_CONTROL_MASK,
8574 				    GTK_ACCEL_VISIBLE);
8575 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
8576 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
8577 
8578 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
8579 	gtk_widget_show (cancelbutton);
8580 	gtk_dialog_add_action_widget (GTK_DIALOG (size_length_value_dialog),
8581 				      cancelbutton, GTK_RESPONSE_CANCEL);
8582 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
8583 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
8584 				    GDK_c, GDK_CONTROL_MASK,
8585 				    GTK_ACCEL_VISIBLE);
8586 
8587 	okbutton = gtk_button_new_from_stock ("gtk-ok");
8588 	gtk_widget_show (okbutton);
8589 	gtk_dialog_add_action_widget (GTK_DIALOG (size_length_value_dialog),
8590 				      okbutton, GTK_RESPONSE_OK);
8591 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
8592 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
8593 				    GDK_o, GDK_CONTROL_MASK,
8594 				    GTK_ACCEL_VISIBLE);
8595 
8596 	g_signal_connect ((gpointer) combo_entry_width,
8597 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8598 			  spinbutton_width);
8599 	g_signal_connect ((gpointer) combo_entry_height,
8600 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
8601 			  spinbutton_height);
8602 
8603 	if (connect_callbacks)
8604 	{
8605 		g_signal_connect ((gpointer) size_length_value_dialog,
8606 				  "close", G_CALLBACK (on_css_dialog_close),
8607 				  data);
8608 
8609 		g_signal_connect ((gpointer) helpbutton, "clicked",
8610 				  G_CALLBACK
8611 				  (on_size_lenght_value_dialog_helpbutton_clicked),
8612 				  NULL);
8613 		g_signal_connect ((gpointer) cancelbutton, "clicked",
8614 				  G_CALLBACK
8615 				  (on_css_dialog_cancel_button_clicked),
8616 				  data);
8617 		g_signal_connect ((gpointer) okbutton, "clicked",
8618 				  G_CALLBACK
8619 				  (on_size_length_value_dialog_okbutton_clicked),
8620 				  data);
8621 	}
8622 
8623 	GLADE_HOOKUP_OBJECT_NO_REF (size_length_value_dialog,
8624 				    size_length_value_dialog,
8625 				    "size_length_value_dialog");
8626 	GLADE_HOOKUP_OBJECT_NO_REF (size_length_value_dialog, dialog_vbox,
8627 				    "dialog_vbox");
8628 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, vbox, "vbox");
8629 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, hbox_width,
8630 			     "hbox_width");
8631 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, label_width,
8632 			     "label_width");
8633 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, spinbutton_width,
8634 			     "spinbutton_width");
8635 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, combo_width,
8636 			     "combo_width");
8637 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, combo_entry_width,
8638 			     "combo_entry_width");
8639 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, hbox_height,
8640 			     "hbox_height");
8641 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, label_height,
8642 			     "label_height");
8643 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, spinbutton_height,
8644 			     "spinbutton_height");
8645 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, combo_height,
8646 			     "combo_height");
8647 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, combo_entry_height,
8648 			     "combo_entry_height");
8649 	GLADE_HOOKUP_OBJECT_NO_REF (size_length_value_dialog,
8650 				    dialog_action_area, "dialog_action_area");
8651 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, helpbutton,
8652 			     "helpbutton");
8653 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, cancelbutton,
8654 			     "cancelbutton");
8655 	GLADE_HOOKUP_OBJECT (size_length_value_dialog, okbutton, "okbutton");
8656 
8657 	gtk_window_add_accel_group (GTK_WINDOW (size_length_value_dialog),
8658 				    accel_group);
8659 
8660 	return size_length_value_dialog;
8661 }
8662 
8663 GtkWidget *
create_text_shadow_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)8664 create_text_shadow_value_dialog (CssedWindow * window,
8665 				 gchar * previous_string,
8666 				 gboolean add_previous_string,
8667 				 gboolean connect_callbacks)
8668 {
8669 	GtkWidget *text_shadow_value_dialog;
8670 	GtkWidget *dialog_vbox;
8671 	GtkWidget *vbox;
8672 	GtkWidget *hbox_right;
8673 	GtkWidget *label_right;
8674 	GtkObject *spinbutton_right_adj;
8675 	GtkWidget *spinbutton_right;
8676 	GtkWidget *combo_right;
8677 	GList *combo_right_items = NULL;
8678 	GtkWidget *combo_entry_right;
8679 	GtkWidget *hbox_below;
8680 	GtkWidget *label_below;
8681 	GtkObject *spinbutton_below_adj;
8682 	GtkWidget *spinbutton_below;
8683 	GtkWidget *combo_below;
8684 	GList *combo_below_items = NULL;
8685 	GtkWidget *combo_entry_below;
8686 	GtkWidget *hbox_blur;
8687 	GtkWidget *checkbutton_blur;
8688 	GtkObject *spinbutton_blur_adj;
8689 	GtkWidget *spinbutton_blur;
8690 	GtkWidget *combo_blur;
8691 	GList *combo_blur_items = NULL;
8692 	GtkWidget *combo_entry_blur;
8693 	GtkWidget *hbox_use_color;
8694 	GtkWidget *checkbutton_use_color;
8695 	GtkWidget *combo_use_color;
8696 	GList *combo_use_color_items = NULL;
8697 	GtkWidget *combo_entry_use_color;
8698 	GtkWidget *colorselection;
8699 	GtkWidget *hbox_shadow_list;
8700 	GtkWidget *checkbutton_use_shadow_list;
8701 	GtkWidget *hbuttonbox;
8702 	GtkWidget *button_text_shadow_value_dialog_add;
8703 	GtkWidget *button_text_shadow_value_dialog_del;
8704 	GtkWidget *scrolledwindow;
8705 	GtkWidget *treeview;
8706 	GtkWidget *dialog_action_area;
8707 	GtkWidget *helpbutton;
8708 	GtkWidget *cancelbutton;
8709 	GtkWidget *okbutton;
8710 	GtkAccelGroup *accel_group;
8711 	GtkWidget *main_window;
8712 	GtkTreeViewColumn *col_right;
8713 	GtkTreeViewColumn *col_below;
8714 	GtkTreeViewColumn *col_blur;
8715 	GtkTreeViewColumn *col_color;
8716 	GtkCellRenderer *ri_renderer;
8717 	GtkCellRenderer *be_renderer;
8718 	GtkCellRenderer *bl_renderer;
8719 	GtkCellRenderer *co_renderer;
8720 	GtkListStore *store;
8721 	CssedCssDialogsData *data = NULL;
8722 
8723 	enum
8724 	{
8725 		COL_RIGHT,
8726 		COL_BELOW,
8727 		COL_BLUR,
8728 		COL_COLOR,
8729 		N_COLS
8730 	};
8731 
8732 	if (connect_callbacks)
8733 	{
8734 		data = g_malloc (sizeof (CssedCssDialogsData));
8735 		data->main_window = window;
8736 		data->previous_string = previous_string;
8737 		data->add_property_string = add_previous_string;
8738 	}
8739 
8740 	accel_group = gtk_accel_group_new ();
8741 
8742 	text_shadow_value_dialog = gtk_dialog_new ();
8743 	gtk_window_set_title (GTK_WINDOW (text_shadow_value_dialog),
8744 			      previous_string);
8745 	gtk_window_set_modal (GTK_WINDOW (text_shadow_value_dialog), TRUE);
8746 
8747 	main_window = cssed_window_get_window_widget( window );
8748 
8749 	gtk_window_set_transient_for (GTK_WINDOW (text_shadow_value_dialog),
8750 				      GTK_WINDOW (main_window));
8751 
8752 	dialog_vbox = GTK_DIALOG (text_shadow_value_dialog)->vbox;
8753 	gtk_widget_show (dialog_vbox);
8754 
8755 	vbox = gtk_vbox_new (FALSE, 0);
8756 	gtk_widget_show (vbox);
8757 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
8758 	gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
8759 
8760 	hbox_right = gtk_hbox_new (FALSE, 0);
8761 	gtk_widget_show (hbox_right);
8762 	gtk_box_pack_start (GTK_BOX (vbox), hbox_right, FALSE, FALSE, 5);
8763 
8764 	label_right =
8765 		gtk_label_new (_("Shadow right  ( this field is required )"));
8766 	gtk_widget_show (label_right);
8767 	gtk_box_pack_start (GTK_BOX (hbox_right), label_right, TRUE, TRUE, 0);
8768 	gtk_label_set_justify (GTK_LABEL (label_right), GTK_JUSTIFY_LEFT);
8769 
8770 	spinbutton_right_adj =
8771 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8772 	spinbutton_right =
8773 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_right_adj),
8774 				     1, 0);
8775 	gtk_widget_show (spinbutton_right);
8776 	gtk_box_pack_start (GTK_BOX (hbox_right), spinbutton_right, FALSE,
8777 			    FALSE, 5);
8778 
8779 	combo_right = gtk_combo_new ();
8780 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_right)->popwin),
8781 			   "GladeParentKey", combo_right);
8782 	gtk_widget_show (combo_right);
8783 	gtk_box_pack_start (GTK_BOX (hbox_right), combo_right, FALSE, FALSE,
8784 			    5);
8785 	gtk_widget_set_size_request (combo_right, 50, -1);
8786 	combo_right_items =
8787 		g_list_append (combo_right_items, (gpointer) "em");
8788 	combo_right_items =
8789 		g_list_append (combo_right_items, (gpointer) "ex");
8790 	combo_right_items =
8791 		g_list_append (combo_right_items, (gpointer) "px");
8792 	combo_right_items =
8793 		g_list_append (combo_right_items, (gpointer) "in");
8794 	combo_right_items =
8795 		g_list_append (combo_right_items, (gpointer) "cm");
8796 	combo_right_items =
8797 		g_list_append (combo_right_items, (gpointer) "mm");
8798 	combo_right_items =
8799 		g_list_append (combo_right_items, (gpointer) "pt");
8800 	combo_right_items =
8801 		g_list_append (combo_right_items, (gpointer) "pc");
8802 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_right),
8803 				       combo_right_items);
8804 	g_list_free (combo_right_items);
8805 
8806 	combo_entry_right = GTK_COMBO (combo_right)->entry;
8807 	gtk_widget_show (combo_entry_right);
8808 	gtk_entry_set_text (GTK_ENTRY (combo_entry_right), "px");
8809 
8810 	hbox_below = gtk_hbox_new (FALSE, 0);
8811 	gtk_widget_show (hbox_below);
8812 	gtk_box_pack_start (GTK_BOX (vbox), hbox_below, FALSE, FALSE, 5);
8813 
8814 	label_below =
8815 		gtk_label_new (_("Shadow below ( this field is required )"));
8816 	gtk_widget_show (label_below);
8817 	gtk_box_pack_start (GTK_BOX (hbox_below), label_below, TRUE, TRUE, 0);
8818 	gtk_label_set_justify (GTK_LABEL (label_below), GTK_JUSTIFY_LEFT);
8819 
8820 	spinbutton_below_adj =
8821 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
8822 	spinbutton_below =
8823 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_below_adj),
8824 				     1, 0);
8825 	gtk_widget_show (spinbutton_below);
8826 	gtk_box_pack_start (GTK_BOX (hbox_below), spinbutton_below, FALSE,
8827 			    FALSE, 5);
8828 
8829 	combo_below = gtk_combo_new ();
8830 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_below)->popwin),
8831 			   "GladeParentKey", combo_below);
8832 	gtk_widget_show (combo_below);
8833 	gtk_box_pack_start (GTK_BOX (hbox_below), combo_below, FALSE, FALSE,
8834 			    5);
8835 	gtk_widget_set_size_request (combo_below, 50, -1);
8836 	combo_below_items =
8837 		g_list_append (combo_below_items, (gpointer) "em");
8838 	combo_below_items =
8839 		g_list_append (combo_below_items, (gpointer) "ex");
8840 	combo_below_items =
8841 		g_list_append (combo_below_items, (gpointer) "px");
8842 	combo_below_items =
8843 		g_list_append (combo_below_items, (gpointer) "in");
8844 	combo_below_items =
8845 		g_list_append (combo_below_items, (gpointer) "cm");
8846 	combo_below_items =
8847 		g_list_append (combo_below_items, (gpointer) "mm");
8848 	combo_below_items =
8849 		g_list_append (combo_below_items, (gpointer) "pt");
8850 	combo_below_items =
8851 		g_list_append (combo_below_items, (gpointer) "pc");
8852 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_below),
8853 				       combo_below_items);
8854 	g_list_free (combo_below_items);
8855 
8856 	combo_entry_below = GTK_COMBO (combo_below)->entry;
8857 	gtk_widget_show (combo_entry_below);
8858 	gtk_entry_set_text (GTK_ENTRY (combo_entry_below), "px");
8859 
8860 	hbox_blur = gtk_hbox_new (FALSE, 0);
8861 	gtk_widget_show (hbox_blur);
8862 	gtk_box_pack_start (GTK_BOX (vbox), hbox_blur, FALSE, FALSE, 5);
8863 
8864 	checkbutton_blur = gtk_check_button_new_with_mnemonic (_("Blur"));
8865 	gtk_widget_show (checkbutton_blur);
8866 	gtk_box_pack_start (GTK_BOX (hbox_blur), checkbutton_blur, TRUE, TRUE,
8867 			    5);
8868 
8869 	spinbutton_blur_adj =
8870 		gtk_adjustment_new (1.00, -1000.00, 1000.00, 0.10, 0.10,
8871 				    0.10);
8872 	spinbutton_blur =
8873 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_blur_adj),
8874 				     1, 0);
8875 	gtk_widget_show (spinbutton_blur);
8876 	gtk_box_pack_start (GTK_BOX (hbox_blur), spinbutton_blur, FALSE,
8877 			    FALSE, 5);
8878 
8879 	combo_blur = gtk_combo_new ();
8880 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_blur)->popwin),
8881 			   "GladeParentKey", combo_blur);
8882 
8883 	gtk_widget_show (combo_blur);
8884 	gtk_box_pack_start (GTK_BOX (hbox_blur), combo_blur, FALSE, FALSE, 5);
8885 	gtk_widget_set_size_request (combo_blur, 50, -1);
8886 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "em");
8887 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "ex");
8888 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "px");
8889 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "in");
8890 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "cm");
8891 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "mm");
8892 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "pt");
8893 	combo_blur_items = g_list_append (combo_blur_items, (gpointer) "pc");
8894 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_blur),
8895 				       combo_blur_items);
8896 	g_list_free (combo_blur_items);
8897 
8898 	combo_entry_blur = GTK_COMBO (combo_blur)->entry;
8899 	gtk_widget_show (combo_entry_blur);
8900 	gtk_entry_set_text (GTK_ENTRY (combo_entry_blur), "px");
8901 
8902 	hbox_use_color = gtk_hbox_new (TRUE, 0);
8903 	gtk_widget_show (hbox_use_color);
8904 	gtk_box_pack_start (GTK_BOX (vbox), hbox_use_color, FALSE, FALSE, 5);
8905 
8906 	checkbutton_use_color =
8907 		gtk_check_button_new_with_mnemonic (_("Use color"));
8908 	gtk_widget_show (checkbutton_use_color);
8909 	gtk_box_pack_start (GTK_BOX (hbox_use_color), checkbutton_use_color,
8910 			    TRUE, TRUE, 5);
8911 
8912 	combo_use_color = gtk_combo_new ();
8913 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_use_color)->popwin),
8914 			   "GladeParentKey", combo_use_color);
8915 	gtk_widget_show (combo_use_color);
8916 	gtk_box_pack_start (GTK_BOX (hbox_use_color), combo_use_color, TRUE,
8917 			    TRUE, 5);
8918 	combo_use_color_items =
8919 		g_list_append (combo_use_color_items,
8920 			       (gpointer) CSS_STR_USE_COLORSEL);
8921 	combo_use_color_items =
8922 		g_list_append (combo_use_color_items, (gpointer) "aqua");
8923 	combo_use_color_items =
8924 		g_list_append (combo_use_color_items, (gpointer) "black");
8925 	combo_use_color_items =
8926 		g_list_append (combo_use_color_items, (gpointer) "blue");
8927 	combo_use_color_items =
8928 		g_list_append (combo_use_color_items, (gpointer) "fuchsia");
8929 	combo_use_color_items =
8930 		g_list_append (combo_use_color_items, (gpointer) "gray");
8931 	combo_use_color_items =
8932 		g_list_append (combo_use_color_items, (gpointer) "green");
8933 	combo_use_color_items =
8934 		g_list_append (combo_use_color_items, (gpointer) "lime");
8935 	combo_use_color_items =
8936 		g_list_append (combo_use_color_items, (gpointer) "maroon");
8937 	combo_use_color_items =
8938 		g_list_append (combo_use_color_items, (gpointer) "navy");
8939 	combo_use_color_items =
8940 		g_list_append (combo_use_color_items, (gpointer) "olive");
8941 	combo_use_color_items =
8942 		g_list_append (combo_use_color_items, (gpointer) "purple");
8943 	combo_use_color_items =
8944 		g_list_append (combo_use_color_items, (gpointer) "red");
8945 	combo_use_color_items =
8946 		g_list_append (combo_use_color_items, (gpointer) "silver");
8947 	combo_use_color_items =
8948 		g_list_append (combo_use_color_items, (gpointer) "teal");
8949 	combo_use_color_items =
8950 		g_list_append (combo_use_color_items, (gpointer) "white");
8951 	combo_use_color_items =
8952 		g_list_append (combo_use_color_items, (gpointer) "yellow");
8953 	combo_use_color_items =
8954 		g_list_append (combo_use_color_items,
8955 			       (gpointer) "ActiveBorder");
8956 	combo_use_color_items =
8957 		g_list_append (combo_use_color_items,
8958 			       (gpointer) "ActiveCaption");
8959 	combo_use_color_items =
8960 		g_list_append (combo_use_color_items,
8961 			       (gpointer) "AppWorkspace");
8962 	combo_use_color_items =
8963 		g_list_append (combo_use_color_items,
8964 			       (gpointer) "Background");
8965 	combo_use_color_items =
8966 		g_list_append (combo_use_color_items,
8967 			       (gpointer) "ButtonFace");
8968 	combo_use_color_items =
8969 		g_list_append (combo_use_color_items,
8970 			       (gpointer) "ButtonHighlight");
8971 	combo_use_color_items =
8972 		g_list_append (combo_use_color_items,
8973 			       (gpointer) "ButtonShadow");
8974 	combo_use_color_items =
8975 		g_list_append (combo_use_color_items,
8976 			       (gpointer) "ButtonText");
8977 	combo_use_color_items =
8978 		g_list_append (combo_use_color_items,
8979 			       (gpointer) "CaptionText");
8980 	combo_use_color_items =
8981 		g_list_append (combo_use_color_items, (gpointer) "GrayText");
8982 	combo_use_color_items =
8983 		g_list_append (combo_use_color_items, (gpointer) "Highlight");
8984 	combo_use_color_items =
8985 		g_list_append (combo_use_color_items,
8986 			       (gpointer) "HighlightText");
8987 	combo_use_color_items =
8988 		g_list_append (combo_use_color_items,
8989 			       (gpointer) "InactiveBorder");
8990 	combo_use_color_items =
8991 		g_list_append (combo_use_color_items,
8992 			       (gpointer) "InactiveCaption");
8993 	combo_use_color_items =
8994 		g_list_append (combo_use_color_items,
8995 			       (gpointer) "InactiveCaptionText");
8996 	combo_use_color_items =
8997 		g_list_append (combo_use_color_items,
8998 			       (gpointer) "InfoBackground");
8999 	combo_use_color_items =
9000 		g_list_append (combo_use_color_items, (gpointer) "InfoText");
9001 	combo_use_color_items =
9002 		g_list_append (combo_use_color_items, (gpointer) "Menu");
9003 	combo_use_color_items =
9004 		g_list_append (combo_use_color_items, (gpointer) "MenuText");
9005 	combo_use_color_items =
9006 		g_list_append (combo_use_color_items, (gpointer) "Scrollbar");
9007 	combo_use_color_items =
9008 		g_list_append (combo_use_color_items,
9009 			       (gpointer) "ThreeDDarkShadow");
9010 	combo_use_color_items =
9011 		g_list_append (combo_use_color_items,
9012 			       (gpointer) "ThreeDFace");
9013 	combo_use_color_items =
9014 		g_list_append (combo_use_color_items,
9015 			       (gpointer) "ThreeDHighlight");
9016 	combo_use_color_items =
9017 		g_list_append (combo_use_color_items,
9018 			       (gpointer) "ThreeDLightShadow");
9019 	combo_use_color_items =
9020 		g_list_append (combo_use_color_items,
9021 			       (gpointer) "ThreeDShadow");
9022 	combo_use_color_items =
9023 		g_list_append (combo_use_color_items, (gpointer) "Window");
9024 	combo_use_color_items =
9025 		g_list_append (combo_use_color_items,
9026 			       (gpointer) "WindowFrame");
9027 	combo_use_color_items =
9028 		g_list_append (combo_use_color_items,
9029 			       (gpointer) "WindowText");
9030 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_use_color),
9031 				       combo_use_color_items);
9032 	g_list_free (combo_use_color_items);
9033 
9034 	combo_entry_use_color = GTK_COMBO (combo_use_color)->entry;
9035 	gtk_widget_show (combo_entry_use_color);
9036 	gtk_entry_set_text (GTK_ENTRY (combo_entry_use_color),
9037 			    CSS_STR_USE_COLORSEL);
9038 
9039 	colorselection = gtk_color_selection_new ();
9040 	gtk_widget_show (colorselection);
9041 	gtk_box_pack_start (GTK_BOX (vbox), colorselection, FALSE, FALSE, 0);
9042 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 15);
9043 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
9044 						     (colorselection), FALSE);
9045 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
9046 					     (colorselection), TRUE);
9047 
9048 	hbox_shadow_list = gtk_hbox_new (TRUE, 0);
9049 	gtk_widget_show (hbox_shadow_list);
9050 	gtk_box_pack_start (GTK_BOX (vbox), hbox_shadow_list, FALSE, FALSE,
9051 			    0);
9052 
9053 	checkbutton_use_shadow_list =
9054 		gtk_check_button_new_with_mnemonic (_
9055 						    ("Use shadow list (more than one)"));
9056 	gtk_widget_show (checkbutton_use_shadow_list);
9057 	gtk_box_pack_start (GTK_BOX (hbox_shadow_list),
9058 			    checkbutton_use_shadow_list, TRUE, TRUE, 0);
9059 
9060 	hbuttonbox = gtk_hbutton_box_new ();
9061 	gtk_widget_show (hbuttonbox);
9062 	gtk_box_pack_start (GTK_BOX (hbox_shadow_list), hbuttonbox, TRUE,
9063 			    TRUE, 0);
9064 	gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox),
9065 				   GTK_BUTTONBOX_END);
9066 
9067 	button_text_shadow_value_dialog_add =
9068 		gtk_button_new_from_stock ("gtk-add");
9069 	gtk_widget_show (button_text_shadow_value_dialog_add);
9070 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
9071 			   button_text_shadow_value_dialog_add);
9072 	gtk_container_set_border_width (GTK_CONTAINER
9073 					(button_text_shadow_value_dialog_add),
9074 					5);
9075 	GTK_WIDGET_SET_FLAGS (button_text_shadow_value_dialog_add,
9076 			      GTK_CAN_DEFAULT);
9077 	gtk_widget_add_accelerator (button_text_shadow_value_dialog_add,
9078 				    "clicked", accel_group, GDK_a,
9079 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9080 
9081 	button_text_shadow_value_dialog_del =
9082 		gtk_button_new_from_stock ("gtk-remove");
9083 	gtk_widget_show (button_text_shadow_value_dialog_del);
9084 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
9085 			   button_text_shadow_value_dialog_del);
9086 	gtk_container_set_border_width (GTK_CONTAINER
9087 					(button_text_shadow_value_dialog_del),
9088 					5);
9089 	GTK_WIDGET_SET_FLAGS (button_text_shadow_value_dialog_del,
9090 			      GTK_CAN_DEFAULT);
9091 	gtk_widget_add_accelerator (button_text_shadow_value_dialog_del,
9092 				    "clicked", accel_group, GDK_q,
9093 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9094 	gtk_widget_add_accelerator (button_text_shadow_value_dialog_del,
9095 				    "clicked", accel_group, GDK_d,
9096 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9097 
9098 	scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
9099 	gtk_widget_show (scrolledwindow);
9100 	gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow, TRUE, TRUE, 5);
9101 	gtk_widget_set_size_request (scrolledwindow, -1, 125);
9102 	//
9103 	store = gtk_list_store_new (N_COLS, G_TYPE_STRING, G_TYPE_STRING,
9104 				    G_TYPE_STRING, G_TYPE_STRING);
9105 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
9106 
9107 	ri_renderer = gtk_cell_renderer_text_new ();
9108 	be_renderer = gtk_cell_renderer_text_new ();
9109 	bl_renderer = gtk_cell_renderer_text_new ();
9110 	co_renderer = gtk_cell_renderer_text_new ();
9111 
9112 	col_right =
9113 		gtk_tree_view_column_new_with_attributes (_("Right"),
9114 							  ri_renderer,
9115 							  "text", COL_RIGHT,
9116 							  NULL);
9117 	col_below =
9118 		gtk_tree_view_column_new_with_attributes (_("Below"),
9119 							  be_renderer, "text",
9120 							  COL_BELOW, NULL);
9121 
9122 	col_blur =
9123 		gtk_tree_view_column_new_with_attributes (_("Blur"),
9124 							  bl_renderer,
9125 							  "text", COL_BLUR,
9126 							  NULL);
9127 	col_color =
9128 		gtk_tree_view_column_new_with_attributes (_("Color"),
9129 							  co_renderer, "text",
9130 							  COL_COLOR, NULL);
9131 
9132 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
9133 				     col_right, COL_RIGHT);
9134 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
9135 				     col_below, COL_BELOW);
9136 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview), col_blur,
9137 				     COL_BLUR);
9138 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview), col_color,
9139 				     COL_COLOR);
9140 
9141 	gtk_widget_show (treeview);
9142 	gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview);
9143 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
9144 	//
9145 	dialog_action_area =
9146 		GTK_DIALOG (text_shadow_value_dialog)->action_area;
9147 	gtk_widget_show (dialog_action_area);
9148 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
9149 				   GTK_BUTTONBOX_END);
9150 
9151 	helpbutton = gtk_button_new_from_stock ("gtk-help");
9152 	gtk_widget_show (helpbutton);
9153 	gtk_dialog_add_action_widget (GTK_DIALOG (text_shadow_value_dialog),
9154 				      helpbutton, GTK_RESPONSE_HELP);
9155 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
9156 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
9157 				    GDK_y, GDK_CONTROL_MASK,
9158 				    GTK_ACCEL_VISIBLE);
9159 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
9160 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9161 
9162 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
9163 	gtk_widget_show (cancelbutton);
9164 	gtk_dialog_add_action_widget (GTK_DIALOG (text_shadow_value_dialog),
9165 				      cancelbutton, GTK_RESPONSE_CANCEL);
9166 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
9167 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
9168 				    GDK_c, GDK_CONTROL_MASK,
9169 				    GTK_ACCEL_VISIBLE);
9170 
9171 	okbutton = gtk_button_new_from_stock ("gtk-ok");
9172 	gtk_widget_show (okbutton);
9173 	gtk_dialog_add_action_widget (GTK_DIALOG (text_shadow_value_dialog),
9174 				      okbutton, GTK_RESPONSE_OK);
9175 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
9176 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
9177 				    GDK_o, GDK_CONTROL_MASK,
9178 				    GTK_ACCEL_VISIBLE);
9179 
9180 	g_signal_connect ((gpointer) combo_entry_right,
9181 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
9182 			  spinbutton_right);
9183 	g_signal_connect ((gpointer) combo_entry_below,
9184 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
9185 			  spinbutton_below);
9186 	g_signal_connect ((gpointer) combo_entry_blur,
9187 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
9188 			  spinbutton_blur);
9189 
9190 	if (connect_callbacks)
9191 	{
9192 		g_signal_connect ((gpointer) text_shadow_value_dialog,
9193 				  "close", G_CALLBACK (on_css_dialog_close),
9194 				  data);
9195 		g_signal_connect ((gpointer) cancelbutton, "clicked",
9196 				  G_CALLBACK
9197 				  (on_css_dialog_cancel_button_clicked),
9198 				  data);
9199 		g_signal_connect ((gpointer) okbutton, "clicked",
9200 				  G_CALLBACK
9201 				  (on_text_shadow_value_dialog_okbutton_clicked),
9202 				  data);
9203 	}
9204 
9205 	g_signal_connect ((gpointer) button_text_shadow_value_dialog_add,
9206 			  "clicked",
9207 			  G_CALLBACK
9208 			  (on_button_text_shadow_value_dialog_add_clicked),
9209 			  store);
9210 	g_signal_connect ((gpointer) button_text_shadow_value_dialog_del,
9211 			  "clicked",
9212 			  G_CALLBACK
9213 			  (on_button_text_shadow_value_dialog_del_clicked),
9214 			  store);
9215 
9216 	GLADE_HOOKUP_OBJECT_NO_REF (text_shadow_value_dialog,
9217 				    text_shadow_value_dialog,
9218 				    "text_shadow_value_dialog");
9219 	GLADE_HOOKUP_OBJECT_NO_REF (text_shadow_value_dialog, dialog_vbox,
9220 				    "dialog_vbox");
9221 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, vbox, "vbox");
9222 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbox_right,
9223 			     "hbox_right");
9224 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, label_right,
9225 			     "label_right");
9226 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, spinbutton_right,
9227 			     "spinbutton_right");
9228 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_right,
9229 			     "combo_right");
9230 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_entry_right,
9231 			     "combo_entry_right");
9232 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbox_below,
9233 			     "hbox_below");
9234 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, label_below,
9235 			     "label_below");
9236 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, spinbutton_below,
9237 			     "spinbutton_below");
9238 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_below,
9239 			     "combo_below");
9240 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_entry_below,
9241 			     "combo_entry_below");
9242 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbox_blur,
9243 			     "hbox_blur");
9244 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, checkbutton_blur,
9245 			     "checkbutton_blur");
9246 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, spinbutton_blur,
9247 			     "spinbutton_blur");
9248 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_blur,
9249 			     "combo_blur");
9250 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_entry_blur,
9251 			     "combo_entry_blur");
9252 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbox_use_color,
9253 			     "hbox_use_color");
9254 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, checkbutton_use_color,
9255 			     "checkbutton_use_color");
9256 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_use_color,
9257 			     "combo_use_color");
9258 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, combo_entry_use_color,
9259 			     "combo_entry_use_color");
9260 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, colorselection,
9261 			     "colorselection");
9262 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbox_shadow_list,
9263 			     "hbox_shadow_list");
9264 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog,
9265 			     checkbutton_use_shadow_list,
9266 			     "checkbutton_use_shadow_list");
9267 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, hbuttonbox,
9268 			     "hbuttonbox");
9269 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog,
9270 			     button_text_shadow_value_dialog_add,
9271 			     "button_text_shadow_value_dialog_add");
9272 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog,
9273 			     button_text_shadow_value_dialog_del,
9274 			     "button_text_shadow_value_dialog_del");
9275 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, scrolledwindow,
9276 			     "scrolledwindow");
9277 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, treeview, "treeview");
9278 	GLADE_HOOKUP_OBJECT_NO_REF (text_shadow_value_dialog,
9279 				    dialog_action_area, "dialog_action_area");
9280 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, helpbutton,
9281 			     "helpbutton");
9282 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, cancelbutton,
9283 			     "cancelbutton");
9284 	GLADE_HOOKUP_OBJECT (text_shadow_value_dialog, okbutton, "okbutton");
9285 
9286 	gtk_window_add_accel_group (GTK_WINDOW (text_shadow_value_dialog),
9287 				    accel_group);
9288 
9289 	return text_shadow_value_dialog;
9290 }
9291 
9292 GtkWidget *
create_voice_family_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)9293 create_voice_family_value_dialog (CssedWindow * window,
9294 				  gchar * previous_string,
9295 				  gboolean add_previous_string,
9296 				  gboolean connect_callbacks)
9297 {
9298 	GtkWidget *voice_family_value_dialog;
9299 	GtkWidget *dialog_vbox;
9300 	GtkWidget *vbox;
9301 	GtkWidget *hbox_generic;
9302 	GtkWidget *label_generic;
9303 	GtkWidget *combo_generic;
9304 	GList *combo_generic_items = NULL;
9305 	GtkWidget *combo_entry_generic;
9306 	GtkWidget *hbox_specific;
9307 	GtkWidget *label_specific;
9308 	GtkWidget *entry_specific_voice;
9309 	GtkWidget *hbox_voice_set;
9310 	GtkWidget *checkbutton_voice_set;
9311 	GtkWidget *hbuttonbox;
9312 	GtkWidget *button_voice_family_value_dialog_add;
9313 	GtkWidget *button_voice_family_value_dialog_del;
9314 	GtkWidget *scrolledwindow;
9315 	GtkWidget *treeview;
9316 	GtkWidget *dialog_action_area;
9317 	GtkWidget *helpbutton;
9318 	GtkWidget *cancelbutton;
9319 	GtkWidget *okbutton;
9320 	GtkAccelGroup *accel_group;
9321 	GtkWidget *main_window;
9322 	GtkTreeViewColumn *col_generic_voice;
9323 	GtkTreeViewColumn *col_specific_voice;
9324 	GtkCellRenderer *gv_renderer;
9325 	GtkCellRenderer *sv_renderer;
9326 	GtkListStore *store;
9327 
9328 	CssedCssDialogsData *data = NULL;
9329 
9330 	enum
9331 	{
9332 		COL_GENERIC,
9333 		COL_SPECIFIC,
9334 		N_COLS
9335 	};
9336 
9337 	if (connect_callbacks)
9338 	{
9339 		data = g_malloc (sizeof (CssedCssDialogsData));
9340 		data->main_window = window;
9341 		data->previous_string = previous_string;
9342 		data->add_property_string = add_previous_string;
9343 	}
9344 
9345 	accel_group = gtk_accel_group_new ();
9346 
9347 	voice_family_value_dialog = gtk_dialog_new ();
9348 	gtk_window_set_title (GTK_WINDOW (voice_family_value_dialog),
9349 			      previous_string);
9350 	gtk_window_set_modal (GTK_WINDOW (voice_family_value_dialog), TRUE);
9351 
9352 	main_window = cssed_window_get_window_widget( window );
9353 
9354 	gtk_window_set_transient_for (GTK_WINDOW (voice_family_value_dialog),
9355 				      GTK_WINDOW (main_window));
9356 
9357 	dialog_vbox = GTK_DIALOG (voice_family_value_dialog)->vbox;
9358 	gtk_widget_show (dialog_vbox);
9359 
9360 	vbox = gtk_vbox_new (FALSE, 0);
9361 	gtk_widget_show (vbox);
9362 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
9363 
9364 	hbox_generic = gtk_hbox_new (TRUE, 0);
9365 	gtk_widget_show (hbox_generic);
9366 	gtk_box_pack_start (GTK_BOX (vbox), hbox_generic, FALSE, FALSE, 5);
9367 
9368 	label_generic = gtk_label_new (_("Generic voice"));
9369 	gtk_widget_show (label_generic);
9370 	gtk_box_pack_start (GTK_BOX (hbox_generic), label_generic, TRUE, TRUE,
9371 			    0);
9372 	gtk_label_set_justify (GTK_LABEL (label_generic), GTK_JUSTIFY_LEFT);
9373 
9374 	combo_generic = gtk_combo_new ();
9375 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_generic)->popwin),
9376 			   "GladeParentKey", combo_generic);
9377 	gtk_widget_show (combo_generic);
9378 	gtk_box_pack_start (GTK_BOX (hbox_generic), combo_generic, TRUE, TRUE,
9379 			    5);
9380 
9381 	combo_generic_items =
9382 		g_list_append (combo_generic_items, (gpointer) "male");
9383 	combo_generic_items =
9384 		g_list_append (combo_generic_items, (gpointer) "female");
9385 	combo_generic_items =
9386 		g_list_append (combo_generic_items, (gpointer) "child");
9387 
9388 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_generic),
9389 				       combo_generic_items);
9390 	g_list_free (combo_generic_items);
9391 
9392 	combo_entry_generic = GTK_COMBO (combo_generic)->entry;
9393 	gtk_widget_show (combo_entry_generic);
9394 	gtk_entry_set_text (GTK_ENTRY (combo_entry_generic), "male");
9395 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_generic), FALSE);
9396 
9397 	hbox_specific = gtk_hbox_new (TRUE, 0);
9398 	gtk_widget_show (hbox_specific);
9399 	gtk_box_pack_start (GTK_BOX (vbox), hbox_specific, FALSE, FALSE, 5);
9400 
9401 	label_specific = gtk_label_new (_("Specific voice"));
9402 	gtk_widget_show (label_specific);
9403 	gtk_box_pack_start (GTK_BOX (hbox_specific), label_specific, TRUE,
9404 			    TRUE, 10);
9405 	gtk_label_set_justify (GTK_LABEL (label_specific), GTK_JUSTIFY_LEFT);
9406 
9407 	entry_specific_voice = gtk_entry_new ();
9408 	gtk_widget_show (entry_specific_voice);
9409 	gtk_box_pack_start (GTK_BOX (hbox_specific), entry_specific_voice,
9410 			    TRUE, TRUE, 5);
9411 	gtk_editable_set_editable (GTK_EDITABLE (entry_specific_voice), TRUE);
9412 
9413 	hbox_voice_set = gtk_hbox_new (TRUE, 0);
9414 	gtk_widget_show (hbox_voice_set);
9415 	gtk_box_pack_start (GTK_BOX (vbox), hbox_voice_set, FALSE, FALSE, 0);
9416 
9417 	checkbutton_voice_set =
9418 		gtk_check_button_new_with_mnemonic (_("Use voice set"));
9419 	gtk_widget_show (checkbutton_voice_set);
9420 	gtk_box_pack_start (GTK_BOX (hbox_voice_set), checkbutton_voice_set,
9421 			    TRUE, TRUE, 5);
9422 
9423 	hbuttonbox = gtk_hbutton_box_new ();
9424 	gtk_widget_show (hbuttonbox);
9425 	gtk_box_pack_start (GTK_BOX (hbox_voice_set), hbuttonbox, TRUE, TRUE,
9426 			    0);
9427 	gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox),
9428 				   GTK_BUTTONBOX_END);
9429 
9430 	button_voice_family_value_dialog_add =
9431 		gtk_button_new_from_stock ("gtk-add");
9432 	gtk_widget_show (button_voice_family_value_dialog_add);
9433 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
9434 			   button_voice_family_value_dialog_add);
9435 	gtk_container_set_border_width (GTK_CONTAINER
9436 					(button_voice_family_value_dialog_add),
9437 					5);
9438 	GTK_WIDGET_SET_FLAGS (button_voice_family_value_dialog_add,
9439 			      GTK_CAN_DEFAULT);
9440 	gtk_widget_add_accelerator (button_voice_family_value_dialog_add,
9441 				    "clicked", accel_group, GDK_a,
9442 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9443 
9444 	button_voice_family_value_dialog_del =
9445 		gtk_button_new_from_stock ("gtk-remove");
9446 	gtk_widget_show (button_voice_family_value_dialog_del);
9447 	gtk_container_add (GTK_CONTAINER (hbuttonbox),
9448 			   button_voice_family_value_dialog_del);
9449 	gtk_container_set_border_width (GTK_CONTAINER
9450 					(button_voice_family_value_dialog_del),
9451 					5);
9452 	GTK_WIDGET_SET_FLAGS (button_voice_family_value_dialog_del,
9453 			      GTK_CAN_DEFAULT);
9454 	gtk_widget_add_accelerator (button_voice_family_value_dialog_del,
9455 				    "clicked", accel_group, GDK_q,
9456 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9457 	gtk_widget_add_accelerator (button_voice_family_value_dialog_del,
9458 				    "clicked", accel_group, GDK_d,
9459 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9460 
9461 	scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
9462 	gtk_widget_show (scrolledwindow);
9463 	gtk_box_pack_start (GTK_BOX (vbox), scrolledwindow, TRUE, TRUE, 0);
9464 	gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 5);
9465 	gtk_widget_set_size_request (scrolledwindow, -1, 125);
9466 	//
9467 	store = gtk_list_store_new (N_COLS, G_TYPE_STRING, G_TYPE_STRING);
9468 	treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
9469 
9470 	gv_renderer = gtk_cell_renderer_text_new ();
9471 	sv_renderer = gtk_cell_renderer_text_new ();
9472 
9473 	col_generic_voice =
9474 		gtk_tree_view_column_new_with_attributes (_("Generic voice"),
9475 							  gv_renderer,
9476 							  "text", COL_GENERIC,
9477 							  NULL);
9478 	col_specific_voice =
9479 		gtk_tree_view_column_new_with_attributes (_("Specific voice"),
9480 							  sv_renderer, "text",
9481 							  COL_SPECIFIC, NULL);
9482 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
9483 				     col_generic_voice, COL_GENERIC);
9484 	gtk_tree_view_insert_column (GTK_TREE_VIEW (treeview),
9485 				     col_specific_voice, COL_SPECIFIC);
9486 
9487 	gtk_widget_show (treeview);
9488 	gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview);
9489 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), TRUE);
9490 
9491 	dialog_action_area =
9492 		GTK_DIALOG (voice_family_value_dialog)->action_area;
9493 	gtk_widget_show (dialog_action_area);
9494 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
9495 				   GTK_BUTTONBOX_END);
9496 
9497 	helpbutton = gtk_button_new_from_stock ("gtk-help");
9498 	gtk_widget_show (helpbutton);
9499 	gtk_dialog_add_action_widget (GTK_DIALOG (voice_family_value_dialog),
9500 				      helpbutton, GTK_RESPONSE_HELP);
9501 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
9502 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
9503 				    GDK_y, GDK_CONTROL_MASK,
9504 				    GTK_ACCEL_VISIBLE);
9505 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
9506 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9507 
9508 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
9509 	gtk_widget_show (cancelbutton);
9510 	gtk_dialog_add_action_widget (GTK_DIALOG (voice_family_value_dialog),
9511 				      cancelbutton, GTK_RESPONSE_CANCEL);
9512 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
9513 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
9514 				    GDK_c, GDK_CONTROL_MASK,
9515 				    GTK_ACCEL_VISIBLE);
9516 
9517 	okbutton = gtk_button_new_from_stock ("gtk-ok");
9518 	gtk_widget_show (okbutton);
9519 	gtk_dialog_add_action_widget (GTK_DIALOG (voice_family_value_dialog),
9520 				      okbutton, GTK_RESPONSE_OK);
9521 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
9522 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
9523 				    GDK_o, GDK_CONTROL_MASK,
9524 				    GTK_ACCEL_VISIBLE);
9525 	if (connect_callbacks)
9526 	{
9527 		g_signal_connect ((gpointer) voice_family_value_dialog,
9528 				  "close", G_CALLBACK (on_css_dialog_close),
9529 				  data);
9530 
9531 		g_signal_connect ((gpointer) cancelbutton, "clicked",
9532 				  G_CALLBACK
9533 				  (on_css_dialog_cancel_button_clicked),
9534 				  data);
9535 		g_signal_connect ((gpointer) okbutton, "clicked",
9536 				  G_CALLBACK
9537 				  (on_voice_family_value_dialog_okbutton_clicked),
9538 				  data);
9539 	}
9540 	g_signal_connect ((gpointer) button_voice_family_value_dialog_add,
9541 			  "clicked",
9542 			  G_CALLBACK
9543 			  (on_button_voice_family_value_dialog_add_clicked),
9544 			  store);
9545 	g_signal_connect ((gpointer) button_voice_family_value_dialog_del,
9546 			  "clicked",
9547 			  G_CALLBACK
9548 			  (on_button_voice_family_value_dialog_del_clicked),
9549 			  store);
9550 
9551 	GLADE_HOOKUP_OBJECT_NO_REF (voice_family_value_dialog,
9552 				    voice_family_value_dialog,
9553 				    "voice_family_value_dialog");
9554 	GLADE_HOOKUP_OBJECT_NO_REF (voice_family_value_dialog, dialog_vbox,
9555 				    "dialog_vbox");
9556 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, vbox, "vbox");
9557 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, hbox_generic,
9558 			     "hbox_generic");
9559 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, label_generic,
9560 			     "label_generic");
9561 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, combo_generic,
9562 			     "combo_generic");
9563 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, combo_entry_generic,
9564 			     "combo_entry_generic");
9565 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, hbox_specific,
9566 			     "hbox_specific");
9567 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, label_specific,
9568 			     "label_specific");
9569 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, entry_specific_voice,
9570 			     "entry_specific_voice");
9571 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, hbox_voice_set,
9572 			     "hbox_voice_set");
9573 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, checkbutton_voice_set,
9574 			     "checkbutton_voice_set");
9575 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, hbuttonbox,
9576 			     "hbuttonbox");
9577 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog,
9578 			     button_voice_family_value_dialog_add,
9579 			     "button_voice_family_value_dialog_add");
9580 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog,
9581 			     button_voice_family_value_dialog_del,
9582 			     "button_voice_family_value_dialog_del");
9583 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, scrolledwindow,
9584 			     "scrolledwindow");
9585 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, treeview, "treeview");
9586 	GLADE_HOOKUP_OBJECT_NO_REF (voice_family_value_dialog,
9587 				    dialog_action_area, "dialog_action_area");
9588 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, helpbutton,
9589 			     "helpbutton");
9590 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, cancelbutton,
9591 			     "cancelbutton");
9592 	GLADE_HOOKUP_OBJECT (voice_family_value_dialog, okbutton, "okbutton");
9593 
9594 	gtk_window_add_accel_group (GTK_WINDOW (voice_family_value_dialog),
9595 				    accel_group);
9596 
9597 	return voice_family_value_dialog;
9598 }
9599 
9600 GtkWidget *
create_border_width_style_color_value_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)9601 create_border_width_style_color_value_dialog (CssedWindow *
9602 					      window,
9603 					      gchar *
9604 					      previous_string,
9605 					      gboolean
9606 					      add_previous_string,
9607 					      gboolean connect_callbacks)
9608 {
9609 	GtkWidget *border_width_style_color_value_dialog;
9610 	GtkWidget *dialog_vbox;
9611 	GtkWidget *vbox;
9612 	GtkWidget *hbox_length;
9613 	GtkWidget *checkbutton_length;
9614 	GtkWidget *combo_length;
9615 	GList *combo_length_items = NULL;
9616 	GtkWidget *combo_entry_length;
9617 	GtkObject *spinbutton_length_adj;
9618 	GtkWidget *spinbutton_length;
9619 	GtkWidget *alignment_length_units;
9620 	GtkWidget *combo_length_units;
9621 	GList *combo_lengthunits_items = NULL;
9622 	GtkWidget *combo_entry_length_units;
9623 	GtkWidget *hbox_color;
9624 	GtkWidget *checkbutton_color;
9625 	GtkWidget *combo_color;
9626 	GList *combo_color_items = NULL;
9627 	GtkWidget *combo_entry_color;
9628 	GtkWidget *colorselection;
9629 	GtkWidget *hbox_style;
9630 	GtkWidget *checkbutton_style;
9631 	GtkWidget *combo_style;
9632 	GList *combo_style_items = NULL;
9633 	GtkWidget *combo_entry_style;
9634 	GtkWidget *dialog_action_area;
9635 	GtkWidget *helpbutton;
9636 	GtkWidget *cancelbutton;
9637 	GtkWidget *okbutton;
9638 	GtkAccelGroup *accel_group;
9639 	GtkWidget *main_window;
9640 	CssedCssDialogsData *data = NULL;
9641 
9642 	if (connect_callbacks)
9643 	{
9644 		data = g_malloc (sizeof (CssedCssDialogsData));
9645 		data->main_window = window;
9646 		data->previous_string = previous_string;
9647 		data->add_property_string = add_previous_string;
9648 	}
9649 
9650 	accel_group = gtk_accel_group_new ();
9651 
9652 	border_width_style_color_value_dialog = gtk_dialog_new ();
9653 	gtk_window_set_title (GTK_WINDOW
9654 			      (border_width_style_color_value_dialog),
9655 			      previous_string);
9656 	gtk_window_set_modal (GTK_WINDOW
9657 			      (border_width_style_color_value_dialog), TRUE);
9658 
9659 	main_window = cssed_window_get_window_widget( window );
9660 
9661 	gtk_window_set_transient_for (GTK_WINDOW
9662 				      (border_width_style_color_value_dialog),
9663 				      GTK_WINDOW (main_window));
9664 
9665 	dialog_vbox =
9666 		GTK_DIALOG (border_width_style_color_value_dialog)->vbox;
9667 	gtk_widget_show (dialog_vbox);
9668 
9669 	vbox = gtk_vbox_new (FALSE, 0);
9670 	gtk_widget_show (vbox);
9671 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
9672 
9673 	hbox_length = gtk_hbox_new (FALSE, 0);
9674 	gtk_widget_show (hbox_length);
9675 	gtk_box_pack_start (GTK_BOX (vbox), hbox_length, TRUE, TRUE, 5);
9676 
9677 	checkbutton_length =
9678 		gtk_check_button_new_with_mnemonic (_("Border width"));
9679 	gtk_widget_show (checkbutton_length);
9680 	gtk_box_pack_start (GTK_BOX (hbox_length), checkbutton_length, TRUE,
9681 			    TRUE, 5);
9682 
9683 	combo_length = gtk_combo_new ();
9684 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_length)->popwin),
9685 			   "GladeParentKey", combo_length);
9686 	gtk_widget_show (combo_length);
9687 	gtk_box_pack_start (GTK_BOX (hbox_length), combo_length, FALSE, FALSE,
9688 			    5);
9689 	combo_length_items =
9690 		g_list_append (combo_length_items,
9691 			       (gpointer) CSS_STR_USE_LENGTH);
9692 	combo_length_items =
9693 		g_list_append (combo_length_items, (gpointer) "thin");
9694 	combo_length_items =
9695 		g_list_append (combo_length_items, (gpointer) "medium");
9696 	combo_length_items =
9697 		g_list_append (combo_length_items, (gpointer) "thick");
9698 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_length),
9699 				       combo_length_items);
9700 	g_list_free (combo_length_items);
9701 
9702 	combo_entry_length = GTK_COMBO (combo_length)->entry;
9703 	gtk_widget_show (combo_entry_length);
9704 	gtk_entry_set_text (GTK_ENTRY (combo_entry_length),
9705 			    CSS_STR_USE_LENGTH);
9706 
9707 	spinbutton_length_adj =
9708 		gtk_adjustment_new (1, -35565, 35565, 1, 10, 10);
9709 	spinbutton_length =
9710 		gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_length_adj),
9711 				     1, 0);
9712 	gtk_widget_show (spinbutton_length);
9713 	gtk_box_pack_start (GTK_BOX (hbox_length), spinbutton_length, FALSE,
9714 			    FALSE, 5);
9715 
9716 	alignment_length_units = gtk_alignment_new (0.5, 0.5, 1, 1);
9717 	gtk_widget_show (alignment_length_units);
9718 	gtk_box_pack_start (GTK_BOX (hbox_length), alignment_length_units,
9719 			    FALSE, FALSE, 0);
9720 	//
9721 	combo_length_units = gtk_combo_new ();
9722 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_length_units)->popwin),
9723 			   "GladeParentKey", combo_length_units);
9724 	gtk_widget_show (combo_length_units);
9725 	gtk_container_add (GTK_CONTAINER (alignment_length_units),
9726 			   combo_length_units);
9727 	gtk_widget_set_size_request (combo_length_units, 60, -1);
9728 	gtk_container_set_border_width (GTK_CONTAINER (combo_length_units),
9729 					5);
9730 	combo_lengthunits_items =
9731 		g_list_append (combo_lengthunits_items, (gpointer) "em");
9732 	combo_lengthunits_items =
9733 		g_list_append (combo_lengthunits_items, (gpointer) "ex");
9734 	combo_lengthunits_items =
9735 		g_list_append (combo_lengthunits_items, (gpointer) "px");
9736 	combo_lengthunits_items =
9737 		g_list_append (combo_lengthunits_items, (gpointer) "in");
9738 	combo_lengthunits_items =
9739 		g_list_append (combo_lengthunits_items, (gpointer) "cm");
9740 	combo_lengthunits_items =
9741 		g_list_append (combo_lengthunits_items, (gpointer) "mm");
9742 	combo_lengthunits_items =
9743 		g_list_append (combo_lengthunits_items, (gpointer) "pt");
9744 	combo_lengthunits_items =
9745 		g_list_append (combo_lengthunits_items, (gpointer) "pc");
9746 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_length_units),
9747 				       combo_lengthunits_items);
9748 	g_list_free (combo_lengthunits_items);
9749 
9750 	combo_entry_length_units = GTK_COMBO (combo_length_units)->entry;
9751 	gtk_widget_show (combo_entry_length_units);
9752 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_length_units),
9753 				   FALSE);
9754 	gtk_entry_set_text (GTK_ENTRY (combo_entry_length_units), "px");
9755 
9756 	hbox_color = gtk_hbox_new (TRUE, 0);
9757 	gtk_widget_show (hbox_color);
9758 	gtk_box_pack_start (GTK_BOX (vbox), hbox_color, TRUE, TRUE, 5);
9759 
9760 	checkbutton_color =
9761 		gtk_check_button_new_with_mnemonic (_("Border color"));
9762 	gtk_widget_show (checkbutton_color);
9763 	gtk_box_pack_start (GTK_BOX (hbox_color), checkbutton_color, TRUE,
9764 			    TRUE, 5);
9765 
9766 	combo_color = gtk_combo_new ();
9767 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_color)->popwin),
9768 			   "GladeParentKey", combo_color);
9769 	gtk_widget_show (combo_color);
9770 	gtk_box_pack_start (GTK_BOX (hbox_color), combo_color, TRUE, TRUE, 5);
9771 	combo_color_items =
9772 		g_list_append (combo_color_items,
9773 			       (gpointer) CSS_STR_USE_COLORSEL);
9774 	combo_color_items =
9775 		g_list_append (combo_color_items, (gpointer) "aqua");
9776 	combo_color_items =
9777 		g_list_append (combo_color_items, (gpointer) "black");
9778 	combo_color_items =
9779 		g_list_append (combo_color_items, (gpointer) "blue");
9780 	combo_color_items =
9781 		g_list_append (combo_color_items, (gpointer) "fuchsia");
9782 	combo_color_items =
9783 		g_list_append (combo_color_items, (gpointer) "gray");
9784 	combo_color_items =
9785 		g_list_append (combo_color_items, (gpointer) "green");
9786 	combo_color_items =
9787 		g_list_append (combo_color_items, (gpointer) "lime");
9788 	combo_color_items =
9789 		g_list_append (combo_color_items, (gpointer) "maroon ");
9790 	combo_color_items =
9791 		g_list_append (combo_color_items, (gpointer) "navy");
9792 	combo_color_items =
9793 		g_list_append (combo_color_items, (gpointer) "olive");
9794 	combo_color_items =
9795 		g_list_append (combo_color_items, (gpointer) "purple");
9796 	combo_color_items =
9797 		g_list_append (combo_color_items, (gpointer) "red");
9798 	combo_color_items =
9799 		g_list_append (combo_color_items, (gpointer) "silver");
9800 	combo_color_items =
9801 		g_list_append (combo_color_items, (gpointer) "teal");
9802 	combo_color_items =
9803 		g_list_append (combo_color_items, (gpointer) "white");
9804 	combo_color_items =
9805 		g_list_append (combo_color_items, (gpointer) "yellow");
9806 	combo_color_items =
9807 		g_list_append (combo_color_items, (gpointer) "ActiveBorder");
9808 	combo_color_items =
9809 		g_list_append (combo_color_items, (gpointer) "ActiveCaption");
9810 	combo_color_items =
9811 		g_list_append (combo_color_items, (gpointer) "AppWorkspace");
9812 	combo_color_items =
9813 		g_list_append (combo_color_items, (gpointer) "Background");
9814 	combo_color_items =
9815 		g_list_append (combo_color_items, (gpointer) "ButtonFace");
9816 	combo_color_items =
9817 		g_list_append (combo_color_items,
9818 			       (gpointer) "ButtonHighlight");
9819 	combo_color_items =
9820 		g_list_append (combo_color_items, (gpointer) "ButtonShadow");
9821 	combo_color_items =
9822 		g_list_append (combo_color_items, (gpointer) "ButtonText");
9823 	combo_color_items =
9824 		g_list_append (combo_color_items, (gpointer) "CaptionText");
9825 	combo_color_items =
9826 		g_list_append (combo_color_items, (gpointer) "GrayText");
9827 	combo_color_items =
9828 		g_list_append (combo_color_items, (gpointer) "Highlight");
9829 	combo_color_items =
9830 		g_list_append (combo_color_items, (gpointer) "HighlightText");
9831 	combo_color_items =
9832 		g_list_append (combo_color_items,
9833 			       (gpointer) "InactiveBorder");
9834 	combo_color_items =
9835 		g_list_append (combo_color_items,
9836 			       (gpointer) "InactiveCaption");
9837 	combo_color_items =
9838 		g_list_append (combo_color_items,
9839 			       (gpointer) "InactiveCaptionText");
9840 	combo_color_items =
9841 		g_list_append (combo_color_items,
9842 			       (gpointer) "InfoBackground");
9843 	combo_color_items =
9844 		g_list_append (combo_color_items, (gpointer) "InfoText");
9845 	combo_color_items =
9846 		g_list_append (combo_color_items, (gpointer) "Menu");
9847 	combo_color_items =
9848 		g_list_append (combo_color_items, (gpointer) "MenuText");
9849 	combo_color_items =
9850 		g_list_append (combo_color_items, (gpointer) "Scrollbar");
9851 	combo_color_items =
9852 		g_list_append (combo_color_items,
9853 			       (gpointer) "ThreeDDarkShadow");
9854 	combo_color_items =
9855 		g_list_append (combo_color_items, (gpointer) "ThreeDFace");
9856 	combo_color_items =
9857 		g_list_append (combo_color_items,
9858 			       (gpointer) "ThreeDHighlight");
9859 	combo_color_items =
9860 		g_list_append (combo_color_items,
9861 			       (gpointer) "ThreeDLightShadow");
9862 	combo_color_items =
9863 		g_list_append (combo_color_items, (gpointer) "ThreeDShadow");
9864 	combo_color_items =
9865 		g_list_append (combo_color_items, (gpointer) "Window");
9866 	combo_color_items =
9867 		g_list_append (combo_color_items, (gpointer) "WindowFrame");
9868 	combo_color_items =
9869 		g_list_append (combo_color_items, (gpointer) "WindowText");
9870 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_color),
9871 				       combo_color_items);
9872 	g_list_free (combo_color_items);
9873 
9874 	combo_entry_color = GTK_COMBO (combo_color)->entry;
9875 	gtk_widget_show (combo_entry_color);
9876 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_color), FALSE);
9877 	gtk_entry_set_text (GTK_ENTRY (combo_entry_color),
9878 			    CSS_STR_USE_COLORSEL);
9879 
9880 	colorselection = gtk_color_selection_new ();
9881 	gtk_widget_show (colorselection);
9882 	gtk_box_pack_start (GTK_BOX (vbox), colorselection, TRUE, TRUE, 0);
9883 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 10);
9884 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
9885 						     (colorselection), FALSE);
9886 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
9887 					     (colorselection), TRUE);
9888 
9889 	hbox_style = gtk_hbox_new (TRUE, 0);
9890 	gtk_widget_show (hbox_style);
9891 	gtk_box_pack_start (GTK_BOX (vbox), hbox_style, TRUE, TRUE, 0);
9892 
9893 	checkbutton_style =
9894 		gtk_check_button_new_with_mnemonic (_("Border style"));
9895 	gtk_widget_show (checkbutton_style);
9896 	gtk_box_pack_start (GTK_BOX (hbox_style), checkbutton_style, TRUE,
9897 			    TRUE, 5);
9898 
9899 	combo_style = gtk_combo_new ();
9900 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_style)->popwin),
9901 			   "GladeParentKey", combo_style);
9902 	gtk_widget_show (combo_style);
9903 	gtk_box_pack_start (GTK_BOX (hbox_style), combo_style, TRUE, TRUE, 5);
9904 	combo_style_items =
9905 		g_list_append (combo_style_items, (gpointer) "none");
9906 	combo_style_items =
9907 		g_list_append (combo_style_items, (gpointer) "hidden ");
9908 	combo_style_items =
9909 		g_list_append (combo_style_items, (gpointer) "dotted ");
9910 	combo_style_items =
9911 		g_list_append (combo_style_items, (gpointer) "dashed ");
9912 	combo_style_items =
9913 		g_list_append (combo_style_items, (gpointer) "solid ");
9914 	combo_style_items =
9915 		g_list_append (combo_style_items, (gpointer) "double ");
9916 	combo_style_items =
9917 		g_list_append (combo_style_items, (gpointer) "groove ");
9918 	combo_style_items =
9919 		g_list_append (combo_style_items, (gpointer) "ridge ");
9920 	combo_style_items =
9921 		g_list_append (combo_style_items, (gpointer) "inset ");
9922 	combo_style_items =
9923 		g_list_append (combo_style_items, (gpointer) "outset");
9924 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_style),
9925 				       combo_style_items);
9926 	g_list_free (combo_style_items);
9927 
9928 	combo_entry_style = GTK_COMBO (combo_style)->entry;
9929 	gtk_widget_show (combo_entry_style);
9930 	gtk_entry_set_text (GTK_ENTRY (combo_entry_style), "none");
9931 
9932 	dialog_action_area =
9933 		GTK_DIALOG (border_width_style_color_value_dialog)->
9934 		action_area;
9935 	gtk_widget_show (dialog_action_area);
9936 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
9937 				   GTK_BUTTONBOX_END);
9938 
9939 	helpbutton = gtk_button_new_from_stock ("gtk-help");
9940 	gtk_widget_show (helpbutton);
9941 	gtk_dialog_add_action_widget (GTK_DIALOG
9942 				      (border_width_style_color_value_dialog),
9943 				      helpbutton, GTK_RESPONSE_HELP);
9944 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
9945 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
9946 				    GDK_y, GDK_CONTROL_MASK,
9947 				    GTK_ACCEL_VISIBLE);
9948 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
9949 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
9950 
9951 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
9952 	gtk_widget_show (cancelbutton);
9953 	gtk_dialog_add_action_widget (GTK_DIALOG
9954 				      (border_width_style_color_value_dialog),
9955 				      cancelbutton, GTK_RESPONSE_CANCEL);
9956 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
9957 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
9958 				    GDK_c, GDK_CONTROL_MASK,
9959 				    GTK_ACCEL_VISIBLE);
9960 
9961 	okbutton = gtk_button_new_from_stock ("gtk-ok");
9962 	gtk_widget_show (okbutton);
9963 	gtk_dialog_add_action_widget (GTK_DIALOG
9964 				      (border_width_style_color_value_dialog),
9965 				      okbutton, GTK_RESPONSE_OK);
9966 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
9967 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
9968 				    GDK_o, GDK_CONTROL_MASK,
9969 				    GTK_ACCEL_VISIBLE);
9970 
9971 	g_signal_connect ((gpointer) combo_entry_length_units,
9972 			  "changed", G_CALLBACK (on_css_dialog_unit_changed),
9973 			  spinbutton_length);
9974 
9975 	if (connect_callbacks)
9976 	{
9977 		g_signal_connect ((gpointer)
9978 				  border_width_style_color_value_dialog,
9979 				  "close", G_CALLBACK (on_css_dialog_close),
9980 				  data);
9981 
9982 		g_signal_connect ((gpointer) helpbutton, "clicked",
9983 				  G_CALLBACK
9984 				  (on_border_width_style_color_value_dialog_helpbutton_clicked),
9985 				  NULL);
9986 		g_signal_connect ((gpointer) cancelbutton, "clicked",
9987 				  G_CALLBACK
9988 				  (on_css_dialog_cancel_button_clicked),
9989 				  data);
9990 		g_signal_connect ((gpointer) okbutton, "clicked",
9991 				  G_CALLBACK
9992 				  (on_border_width_style_color_value_dialog_okbutton_clicked),
9993 				  data);
9994 	}
9995 
9996 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_style_color_value_dialog,
9997 				    border_width_style_color_value_dialog,
9998 				    "border_width_style_color_value_dialog");
9999 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_style_color_value_dialog,
10000 				    dialog_vbox, "dialog_vbox");
10001 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog, vbox,
10002 			     "vbox");
10003 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10004 			     hbox_length, "hbox_length");
10005 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10006 			     checkbutton_length, "checkbutton_length");
10007 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10008 			     combo_length, "combo_length");
10009 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10010 			     combo_entry_length, "combo_entry_length");
10011 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10012 			     spinbutton_length, "spinbutton_length");
10013 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10014 			     alignment_length_units,
10015 			     "alignment_length_units");
10016 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10017 			     combo_entry_length, "combo_entry_length");
10018 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10019 			     combo_entry_length_units,
10020 			     "combo_entry_length_units");
10021 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10022 			     hbox_color, "hbox_color");
10023 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10024 			     checkbutton_color, "checkbutton_color");
10025 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10026 			     combo_color, "combo_color");
10027 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10028 			     combo_entry_color, "combo_entry_color");
10029 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10030 			     colorselection, "colorselection");
10031 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10032 			     hbox_style, "hbox_style");
10033 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10034 			     checkbutton_style, "checkbutton_style");
10035 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10036 			     combo_style, "combo_style");
10037 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10038 			     combo_entry_style, "combo_entry_style");
10039 	GLADE_HOOKUP_OBJECT_NO_REF (border_width_style_color_value_dialog,
10040 				    dialog_action_area, "dialog_action_area");
10041 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10042 			     helpbutton, "helpbutton");
10043 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog,
10044 			     cancelbutton, "cancelbutton");
10045 	GLADE_HOOKUP_OBJECT (border_width_style_color_value_dialog, okbutton,
10046 			     "okbutton");
10047 
10048 	gtk_window_add_accel_group (GTK_WINDOW
10049 				    (border_width_style_color_value_dialog),
10050 				    accel_group);
10051 
10052 	return border_width_style_color_value_dialog;
10053 }
10054 
10055 GtkWidget *
create_color_selector_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)10056 create_color_selector_dialog (CssedWindow * window,
10057 			      gchar * previous_string,
10058 			      gboolean add_previous_string,
10059 			      gboolean connect_callbacks)
10060 {
10061 	GtkWidget *color_selector_dialog;
10062 	GtkWidget *dialog_vbox;
10063 	GtkWidget *vbox;
10064 	GtkWidget *hbox_named;
10065 	GtkWidget *radiobutton_named;
10066 	GSList *radiobutton_named_group = NULL;
10067 	GtkWidget *combo_named;
10068 	GList *combo_named_items = NULL;
10069 	GtkWidget *combo_entry_named;
10070 	GtkWidget *radiobutton_colorsel;
10071 	GtkWidget *hbox_colorsel;
10072 	GtkWidget *colorselection;
10073 	GtkWidget *dialog_action_area;
10074 	GtkWidget *helpbutton;
10075 	GtkWidget *cancelbutton;
10076 	GtkWidget *okbutton;
10077 	GtkAccelGroup *accel_group;
10078 	GtkWidget *main_window;
10079 	CssedCssDialogsData *data = NULL;
10080 
10081 	if (connect_callbacks)
10082 	{
10083 		data = g_malloc (sizeof (CssedCssDialogsData));
10084 		data->main_window = window;
10085 		data->previous_string = previous_string;
10086 		data->add_property_string = add_previous_string;
10087 	}
10088 
10089 	accel_group = gtk_accel_group_new ();
10090 
10091 	color_selector_dialog = gtk_dialog_new ();
10092 	gtk_window_set_title (GTK_WINDOW (color_selector_dialog),
10093 			      previous_string);
10094 	gtk_window_set_modal (GTK_WINDOW (color_selector_dialog), TRUE);
10095 
10096 	main_window = cssed_window_get_window_widget( window );
10097 
10098 	gtk_window_set_transient_for (GTK_WINDOW (color_selector_dialog),
10099 				      GTK_WINDOW (main_window));
10100 
10101 	dialog_vbox = GTK_DIALOG (color_selector_dialog)->vbox;
10102 	gtk_widget_show (dialog_vbox);
10103 
10104 	vbox = gtk_vbox_new (FALSE, 0);
10105 	gtk_widget_show (vbox);
10106 	gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, FALSE, 0);
10107 
10108 	hbox_named = gtk_hbox_new (TRUE, 0);
10109 	gtk_widget_show (hbox_named);
10110 	gtk_box_pack_start (GTK_BOX (vbox), hbox_named, TRUE, TRUE, 0);
10111 
10112 	radiobutton_named =
10113 		gtk_radio_button_new_with_mnemonic (NULL,
10114 						    _("Use named color"));
10115 	gtk_widget_show (radiobutton_named);
10116 	gtk_box_pack_start (GTK_BOX (hbox_named), radiobutton_named, TRUE,
10117 			    TRUE, 5);
10118 	gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_named),
10119 				    radiobutton_named_group);
10120 	radiobutton_named_group =
10121 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
10122 					    (radiobutton_named));
10123 
10124 	combo_named = gtk_combo_new ();
10125 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_named)->popwin),
10126 			   "GladeParentKey", combo_named);
10127 	gtk_widget_show (combo_named);
10128 	gtk_box_pack_start (GTK_BOX (hbox_named), combo_named, TRUE, TRUE, 5);
10129 	combo_named_items =
10130 		g_list_append (combo_named_items, (gpointer) "aqua");
10131 	combo_named_items =
10132 		g_list_append (combo_named_items, (gpointer) "black");
10133 	combo_named_items =
10134 		g_list_append (combo_named_items, (gpointer) "blue");
10135 	combo_named_items =
10136 		g_list_append (combo_named_items, (gpointer) "fuchsia");
10137 	combo_named_items =
10138 		g_list_append (combo_named_items, (gpointer) "gray");
10139 	combo_named_items =
10140 		g_list_append (combo_named_items, (gpointer) "green");
10141 	combo_named_items =
10142 		g_list_append (combo_named_items, (gpointer) "lime");
10143 	combo_named_items =
10144 		g_list_append (combo_named_items, (gpointer) "maroon");
10145 	combo_named_items =
10146 		g_list_append (combo_named_items, (gpointer) "navy");
10147 	combo_named_items =
10148 		g_list_append (combo_named_items, (gpointer) "olive");
10149 	combo_named_items =
10150 		g_list_append (combo_named_items, (gpointer) "purple");
10151 	combo_named_items =
10152 		g_list_append (combo_named_items, (gpointer) "red");
10153 	combo_named_items =
10154 		g_list_append (combo_named_items, (gpointer) "silver");
10155 	combo_named_items =
10156 		g_list_append (combo_named_items, (gpointer) "teal");
10157 	combo_named_items =
10158 		g_list_append (combo_named_items, (gpointer) "white");
10159 	combo_named_items =
10160 		g_list_append (combo_named_items, (gpointer) "yellow");
10161 	combo_named_items =
10162 		g_list_append (combo_named_items, (gpointer) "ActiveBorder");
10163 	combo_named_items =
10164 		g_list_append (combo_named_items, (gpointer) "ActiveCaption");
10165 	combo_named_items =
10166 		g_list_append (combo_named_items, (gpointer) "AppWorkspace");
10167 	combo_named_items =
10168 		g_list_append (combo_named_items, (gpointer) "Background");
10169 	combo_named_items =
10170 		g_list_append (combo_named_items, (gpointer) "ButtonFace");
10171 	combo_named_items =
10172 		g_list_append (combo_named_items,
10173 			       (gpointer) "ButtonHighlight");
10174 	combo_named_items =
10175 		g_list_append (combo_named_items, (gpointer) "ButtonShadow");
10176 	combo_named_items =
10177 		g_list_append (combo_named_items, (gpointer) "ButtonText");
10178 	combo_named_items =
10179 		g_list_append (combo_named_items, (gpointer) "CaptionText");
10180 	combo_named_items =
10181 		g_list_append (combo_named_items, (gpointer) "GrayText");
10182 	combo_named_items =
10183 		g_list_append (combo_named_items, (gpointer) "Highlight");
10184 	combo_named_items =
10185 		g_list_append (combo_named_items, (gpointer) "HighlightText");
10186 	combo_named_items =
10187 		g_list_append (combo_named_items,
10188 			       (gpointer) "InactiveBorder");
10189 	combo_named_items =
10190 		g_list_append (combo_named_items,
10191 			       (gpointer) "InactiveCaption");
10192 	combo_named_items =
10193 		g_list_append (combo_named_items,
10194 			       (gpointer) "InactiveCaptionText");
10195 	combo_named_items =
10196 		g_list_append (combo_named_items,
10197 			       (gpointer) "InfoBackground");
10198 	combo_named_items =
10199 		g_list_append (combo_named_items, (gpointer) "InfoText");
10200 	combo_named_items =
10201 		g_list_append (combo_named_items, (gpointer) "Menu");
10202 	combo_named_items =
10203 		g_list_append (combo_named_items, (gpointer) "MenuText");
10204 	combo_named_items =
10205 		g_list_append (combo_named_items, (gpointer) "Scrollbar");
10206 	combo_named_items =
10207 		g_list_append (combo_named_items,
10208 			       (gpointer) "ThreeDDarkShadow");
10209 	combo_named_items =
10210 		g_list_append (combo_named_items, (gpointer) "ThreeDFace");
10211 	combo_named_items =
10212 		g_list_append (combo_named_items,
10213 			       (gpointer) "ThreeDHighlight");
10214 	combo_named_items =
10215 		g_list_append (combo_named_items,
10216 			       (gpointer) "ThreeDLightShadow");
10217 	combo_named_items =
10218 		g_list_append (combo_named_items, (gpointer) "ThreeDShadow");
10219 	combo_named_items =
10220 		g_list_append (combo_named_items, (gpointer) "Window");
10221 	combo_named_items =
10222 		g_list_append (combo_named_items, (gpointer) "WindowFrame");
10223 	combo_named_items =
10224 		g_list_append (combo_named_items, (gpointer) "WindowText");
10225 	combo_named_items =
10226 		g_list_append (combo_named_items, (gpointer) "transparent");
10227 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_named),
10228 				       combo_named_items);
10229 	g_list_free (combo_named_items);
10230 
10231 	combo_entry_named = GTK_COMBO (combo_named)->entry;
10232 	gtk_widget_show (combo_entry_named);
10233 	gtk_entry_set_text (GTK_ENTRY (combo_entry_named), "aqua");
10234 
10235 	radiobutton_colorsel =
10236 		gtk_radio_button_new_with_mnemonic (NULL,
10237 						    _("Use color selector"));
10238 	gtk_widget_show (radiobutton_colorsel);
10239 	gtk_box_pack_start (GTK_BOX (vbox), radiobutton_colorsel, TRUE, TRUE,
10240 			    5);
10241 	gtk_container_set_border_width (GTK_CONTAINER (radiobutton_colorsel),
10242 					5);
10243 	gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_colorsel),
10244 				    radiobutton_named_group);
10245 	radiobutton_named_group =
10246 		gtk_radio_button_get_group (GTK_RADIO_BUTTON
10247 					    (radiobutton_colorsel));
10248 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
10249 				      (radiobutton_colorsel), TRUE);
10250 
10251 	hbox_colorsel = gtk_hbox_new (TRUE, 0);
10252 	gtk_widget_show (hbox_colorsel);
10253 	gtk_box_pack_start (GTK_BOX (vbox), hbox_colorsel, TRUE, TRUE, 0);
10254 
10255 	colorselection = gtk_color_selection_new ();
10256 	gtk_widget_show (colorselection);
10257 	gtk_box_pack_start (GTK_BOX (hbox_colorsel), colorselection, TRUE,
10258 			    TRUE, 0);
10259 	gtk_container_set_border_width (GTK_CONTAINER (colorselection), 10);
10260 	gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION
10261 						     (colorselection), FALSE);
10262 	gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION
10263 					     (colorselection), TRUE);
10264 
10265 	dialog_action_area = GTK_DIALOG (color_selector_dialog)->action_area;
10266 	gtk_widget_show (dialog_action_area);
10267 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
10268 				   GTK_BUTTONBOX_END);
10269 
10270 	helpbutton = gtk_button_new_from_stock ("gtk-help");
10271 	gtk_widget_show (helpbutton);
10272 	gtk_dialog_add_action_widget (GTK_DIALOG (color_selector_dialog),
10273 				      helpbutton, GTK_RESPONSE_HELP);
10274 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
10275 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group, GDK_h,
10276 				    GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
10277 
10278 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
10279 	gtk_widget_show (cancelbutton);
10280 	gtk_dialog_add_action_widget (GTK_DIALOG (color_selector_dialog),
10281 				      cancelbutton, GTK_RESPONSE_CANCEL);
10282 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
10283 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
10284 				    GDK_c, GDK_CONTROL_MASK,
10285 				    GTK_ACCEL_VISIBLE);
10286 
10287 	okbutton = gtk_button_new_from_stock ("gtk-ok");
10288 	gtk_widget_show (okbutton);
10289 	gtk_dialog_add_action_widget (GTK_DIALOG (color_selector_dialog),
10290 				      okbutton, GTK_RESPONSE_OK);
10291 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
10292 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
10293 				    GDK_o, GDK_CONTROL_MASK,
10294 				    GTK_ACCEL_VISIBLE);
10295 	if (connect_callbacks)
10296 	{
10297 		g_signal_connect ((gpointer) color_selector_dialog, "close",
10298 				  G_CALLBACK (on_css_dialog_close), data);
10299 		g_signal_connect ((gpointer) helpbutton, "clicked",
10300 				  G_CALLBACK
10301 				  (on_color_selector_dialog_helpbutton_clicked),
10302 				  NULL);
10303 		g_signal_connect ((gpointer) cancelbutton, "clicked",
10304 				  G_CALLBACK
10305 				  (on_css_dialog_cancel_button_clicked),
10306 				  data);
10307 		g_signal_connect ((gpointer) okbutton, "clicked",
10308 				  G_CALLBACK
10309 				  (on_color_selector_dialog_okbutton_clicked),
10310 				  data);
10311 	}
10312 
10313 	GLADE_HOOKUP_OBJECT_NO_REF (color_selector_dialog,
10314 				    color_selector_dialog,
10315 				    "color_selector_dialog");
10316 	GLADE_HOOKUP_OBJECT_NO_REF (color_selector_dialog, dialog_vbox,
10317 				    "dialog_vbox");
10318 	GLADE_HOOKUP_OBJECT (color_selector_dialog, vbox, "vbox");
10319 	GLADE_HOOKUP_OBJECT (color_selector_dialog, hbox_named, "hbox_named");
10320 	GLADE_HOOKUP_OBJECT (color_selector_dialog, radiobutton_named,
10321 			     "radiobutton_named");
10322 	GLADE_HOOKUP_OBJECT (color_selector_dialog, combo_named,
10323 			     "combo_named");
10324 	GLADE_HOOKUP_OBJECT (color_selector_dialog, combo_entry_named,
10325 			     "combo_entry_named");
10326 	GLADE_HOOKUP_OBJECT (color_selector_dialog, radiobutton_colorsel,
10327 			     "radiobutton_colorsel");
10328 	GLADE_HOOKUP_OBJECT (color_selector_dialog, hbox_colorsel,
10329 			     "hbox_colorsel");
10330 	GLADE_HOOKUP_OBJECT (color_selector_dialog, colorselection,
10331 			     "colorselection");
10332 	GLADE_HOOKUP_OBJECT_NO_REF (color_selector_dialog, dialog_action_area,
10333 				    "dialog_action_area");
10334 	GLADE_HOOKUP_OBJECT (color_selector_dialog, helpbutton, "helpbutton");
10335 	GLADE_HOOKUP_OBJECT (color_selector_dialog, cancelbutton,
10336 			     "cancelbutton");
10337 	GLADE_HOOKUP_OBJECT (color_selector_dialog, okbutton, "okbutton");
10338 
10339 	gtk_window_add_accel_group (GTK_WINDOW (color_selector_dialog),
10340 				    accel_group);
10341 
10342 	return color_selector_dialog;
10343 }
10344 
10345 GtkWidget*
create_border_style_dialog(CssedWindow * window,gchar * previous_string,gboolean add_previous_string,gboolean connect_callbacks)10346 create_border_style_dialog (CssedWindow* window,
10347 			    gchar* previous_string,
10348 			    gboolean add_previous_string,
10349 			    gboolean connect_callbacks)
10350 {
10351 	GtkWidget *border_style_dialog;
10352 	GtkWidget *dialog_vbox;
10353 	GtkWidget *hbox;
10354 	GtkWidget *label_property;
10355 	GtkWidget *combo_style;
10356 	GList *combo_style_items = NULL;
10357 	GtkWidget *combo_entry_style;
10358 	GtkWidget *dialog_action_area;
10359 	GtkWidget *helpbutton;
10360 	GtkWidget *cancelbutton;
10361 	GtkWidget *okbutton;
10362 	GtkAccelGroup *accel_group;
10363 	GtkWidget *main_window;
10364 	CssedCssDialogsData *data = NULL;
10365 
10366 	if (connect_callbacks)
10367 	{
10368 		data = g_malloc (sizeof (CssedCssDialogsData));
10369 		data->main_window = window;
10370 		data->previous_string = previous_string;
10371 		data->add_property_string = add_previous_string;
10372 	}
10373 
10374 	accel_group = gtk_accel_group_new ();
10375 
10376 	border_style_dialog = gtk_dialog_new ();
10377 	gtk_window_set_title (GTK_WINDOW (border_style_dialog),
10378 			      previous_string);
10379 	gtk_window_set_modal (GTK_WINDOW (border_style_dialog), TRUE);
10380 
10381 	main_window = cssed_window_get_window_widget( window );
10382 
10383 	gtk_window_set_transient_for (GTK_WINDOW (border_style_dialog),
10384 				      GTK_WINDOW (main_window));
10385 
10386 	dialog_vbox = GTK_DIALOG (border_style_dialog)->vbox;
10387 	gtk_widget_show (dialog_vbox);
10388 
10389 	hbox = gtk_hbox_new (TRUE, 0);
10390 	gtk_widget_show (hbox);
10391 	gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, TRUE, TRUE, 0);
10392 
10393 	label_property = gtk_label_new (previous_string);
10394 	gtk_widget_show (label_property);
10395 	gtk_box_pack_start (GTK_BOX (hbox), label_property, TRUE, TRUE, 0);
10396 	gtk_label_set_justify (GTK_LABEL (label_property), GTK_JUSTIFY_LEFT);
10397 
10398 	combo_style = gtk_combo_new ();
10399 	g_object_set_data (G_OBJECT (GTK_COMBO (combo_style)->popwin),
10400 			   "GladeParentKey", combo_style);
10401 	gtk_widget_show (combo_style);
10402 	gtk_box_pack_start (GTK_BOX (hbox), combo_style, TRUE, TRUE, 0);
10403 	combo_style_items =
10404 		g_list_append (combo_style_items, (gpointer) "hidden");
10405 	combo_style_items =
10406 		g_list_append (combo_style_items, (gpointer) "dotted");
10407 	combo_style_items =
10408 		g_list_append (combo_style_items, (gpointer) "dashed");
10409 	combo_style_items =
10410 		g_list_append (combo_style_items, (gpointer) "solid");
10411 	combo_style_items =
10412 		g_list_append (combo_style_items, (gpointer) "double");
10413 	combo_style_items =
10414 		g_list_append (combo_style_items, (gpointer) "groove");
10415 	combo_style_items =
10416 		g_list_append (combo_style_items, (gpointer) "ridge");
10417 	combo_style_items =
10418 		g_list_append (combo_style_items, (gpointer) "inset");
10419 	combo_style_items =
10420 		g_list_append (combo_style_items, (gpointer) "outset");
10421 	gtk_combo_set_popdown_strings (GTK_COMBO (combo_style),
10422 				       combo_style_items);
10423 	g_list_free (combo_style_items);
10424 
10425 	combo_entry_style = GTK_COMBO (combo_style)->entry;
10426 	gtk_widget_show (combo_entry_style);
10427 	gtk_entry_set_text (GTK_ENTRY (combo_entry_style), "hidden ");
10428 	gtk_editable_set_editable (GTK_EDITABLE (combo_entry_style), FALSE);
10429 
10430 	dialog_action_area = GTK_DIALOG (border_style_dialog)->action_area;
10431 	gtk_widget_show (dialog_action_area);
10432 	gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area),
10433 				   GTK_BUTTONBOX_END);
10434 
10435 	helpbutton = gtk_button_new_from_stock ("gtk-help");
10436 	gtk_widget_show (helpbutton);
10437 	gtk_dialog_add_action_widget (GTK_DIALOG (border_style_dialog),
10438 				      helpbutton, GTK_RESPONSE_HELP);
10439 
10440 	GTK_WIDGET_SET_FLAGS (helpbutton, GTK_CAN_DEFAULT);
10441 	gtk_widget_add_accelerator (helpbutton, "clicked", accel_group,
10442 				    GDK_h, GDK_CONTROL_MASK,
10443 				    GTK_ACCEL_VISIBLE);
10444 
10445 	cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
10446 	gtk_widget_show (cancelbutton);
10447 	gtk_dialog_add_action_widget (GTK_DIALOG (border_style_dialog),
10448 				      cancelbutton, GTK_RESPONSE_CANCEL);
10449 	GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT);
10450 	gtk_widget_add_accelerator (cancelbutton, "clicked", accel_group,
10451 				    GDK_c, GDK_CONTROL_MASK,
10452 				    GTK_ACCEL_VISIBLE);
10453 
10454 	okbutton = gtk_button_new_from_stock ("gtk-ok");
10455 	gtk_widget_show (okbutton);
10456 	gtk_dialog_add_action_widget (GTK_DIALOG (border_style_dialog),
10457 				      okbutton, GTK_RESPONSE_OK);
10458 	GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT);
10459 	gtk_widget_add_accelerator (okbutton, "clicked", accel_group,
10460 				    GDK_o, GDK_CONTROL_MASK,
10461 				    GTK_ACCEL_VISIBLE);
10462 	if (connect_callbacks)
10463 	{
10464 		g_signal_connect ((gpointer) border_style_dialog, "close",
10465 				  G_CALLBACK (on_css_dialog_close), data);
10466 		g_signal_connect ((gpointer) helpbutton, "clicked",
10467 				  G_CALLBACK
10468 				  (on_border_style_dialog_helpbutton_clicked),
10469 				  NULL);
10470 		g_signal_connect ((gpointer) cancelbutton, "clicked",
10471 				  G_CALLBACK
10472 				  (on_css_dialog_cancel_button_clicked),
10473 				  data);
10474 		g_signal_connect ((gpointer) okbutton, "clicked",
10475 				  G_CALLBACK
10476 				  (on_border_style_dialog_okbutton_clicked),
10477 				  data);
10478 
10479 	}
10480 
10481 	GLADE_HOOKUP_OBJECT_NO_REF (border_style_dialog, border_style_dialog,
10482 				    "border_style_dialog");
10483 	GLADE_HOOKUP_OBJECT_NO_REF (border_style_dialog, dialog_vbox,
10484 				    "dialog_vbox");
10485 	GLADE_HOOKUP_OBJECT (border_style_dialog, hbox, "hbox");
10486 	GLADE_HOOKUP_OBJECT (border_style_dialog, label_property,
10487 			     "label_property");
10488 	GLADE_HOOKUP_OBJECT (border_style_dialog, combo_style, "combo_style");
10489 	GLADE_HOOKUP_OBJECT (border_style_dialog, combo_entry_style,
10490 			     "combo_entry_style");
10491 	GLADE_HOOKUP_OBJECT_NO_REF (border_style_dialog, dialog_action_area,
10492 				    "dialog_action_area");
10493 	GLADE_HOOKUP_OBJECT (border_style_dialog, helpbutton, "helpbutton");
10494 	GLADE_HOOKUP_OBJECT (border_style_dialog, cancelbutton,
10495 			     "cancelbutton");
10496 	GLADE_HOOKUP_OBJECT (border_style_dialog, okbutton, "okbutton");
10497 
10498 	gtk_window_add_accel_group (GTK_WINDOW (border_style_dialog),
10499 				    accel_group);
10500 
10501 	return border_style_dialog;
10502 }
10503 
10504