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