1 /* Fo
2 * fo-list-block.c: 'list-block' formatting object
3 *
4 * Copyright (C) 2001 Sun Microsystems
5 * Copyright (C) 2007-2009 Menteith Consulting Ltd
6 *
7 * See COPYING for the status of this software.
8 */
9
10 #include "fo/fo-block-fo-private.h"
11 #include "fo/fo-cbpbp-fo-private.h"
12 #include "fo/fo-list-block-private.h"
13 #include "fo-context-util.h"
14 #include "fo-block-fo-private.h"
15 #include "fo-list-block-area.h"
16 #include "fo-list-item.h"
17 #include "area/fo-area-area.h"
18 #include "property/fo-property-border.h"
19 #include "property/fo-property-padding.h"
20 #include "property/fo-property-margin.h"
21 #include "property/fo-property-background-color.h"
22 #include "property/fo-property-background-image.h"
23 #include "property/fo-property-border-after-color.h"
24 #include "property/fo-property-border-after-style.h"
25 #include "property/fo-property-border-after-width.h"
26 #include "property/fo-property-border-before-color.h"
27 #include "property/fo-property-border-before-style.h"
28 #include "property/fo-property-border-before-width.h"
29 #include "property/fo-property-border-bottom-color.h"
30 #include "property/fo-property-border-bottom-style.h"
31 #include "property/fo-property-border-bottom-width.h"
32 #include "property/fo-property-border-end-color.h"
33 #include "property/fo-property-border-end-style.h"
34 #include "property/fo-property-border-end-width.h"
35 #include "property/fo-property-border-left-color.h"
36 #include "property/fo-property-border-left-style.h"
37 #include "property/fo-property-border-left-width.h"
38 #include "property/fo-property-border-right-color.h"
39 #include "property/fo-property-border-right-style.h"
40 #include "property/fo-property-border-right-width.h"
41 #include "property/fo-property-border-start-color.h"
42 #include "property/fo-property-border-start-style.h"
43 #include "property/fo-property-border-start-width.h"
44 #include "property/fo-property-border-top-color.h"
45 #include "property/fo-property-border-top-style.h"
46 #include "property/fo-property-border-top-width.h"
47 #include "property/fo-property-break-after.h"
48 #include "property/fo-property-break-before.h"
49 #include "property/fo-property-end-indent.h"
50 #include "property/fo-property-id.h"
51 #include "property/fo-property-keep-together.h"
52 #include "property/fo-property-keep-together-within-column.h"
53 #include "property/fo-property-keep-together-within-line.h"
54 #include "property/fo-property-keep-together-within-page.h"
55 #include "property/fo-property-keep-with-next.h"
56 #include "property/fo-property-keep-with-next-within-column.h"
57 #include "property/fo-property-keep-with-next-within-line.h"
58 #include "property/fo-property-keep-with-next-within-page.h"
59 #include "property/fo-property-keep-with-previous.h"
60 #include "property/fo-property-keep-with-previous-within-column.h"
61 #include "property/fo-property-keep-with-previous-within-line.h"
62 #include "property/fo-property-keep-with-previous-within-page.h"
63 #include "property/fo-property-margin-bottom.h"
64 #include "property/fo-property-margin-left.h"
65 #include "property/fo-property-margin-right.h"
66 #include "property/fo-property-margin-top.h"
67 #include "property/fo-property-padding-after.h"
68 #include "property/fo-property-padding-before.h"
69 #include "property/fo-property-padding-bottom.h"
70 #include "property/fo-property-padding-end.h"
71 #include "property/fo-property-padding-left.h"
72 #include "property/fo-property-padding-right.h"
73 #include "property/fo-property-padding-start.h"
74 #include "property/fo-property-padding-top.h"
75 #include "property/fo-property-provisional-distance-between-starts.h"
76 #include "property/fo-property-provisional-label-separation.h"
77 #include "property/fo-property-role.h"
78 #include "property/fo-property-source-document.h"
79 #include "property/fo-property-space-after.h"
80 #include "property/fo-property-space-before.h"
81 #include "property/fo-property-start-indent.h"
82
83 enum {
84 PROP_0,
85 PROP_LABEL_END,
86 PROP_BODY_START,
87 PROP_BACKGROUND_COLOR,
88 PROP_BACKGROUND_IMAGE,
89 PROP_BORDER_AFTER_COLOR,
90 PROP_BORDER_AFTER_STYLE,
91 PROP_BORDER_AFTER_WIDTH,
92 PROP_BORDER_BEFORE_COLOR,
93 PROP_BORDER_BEFORE_STYLE,
94 PROP_BORDER_BEFORE_WIDTH,
95 PROP_BORDER_BOTTOM_COLOR,
96 PROP_BORDER_BOTTOM_STYLE,
97 PROP_BORDER_BOTTOM_WIDTH,
98 PROP_BORDER_END_COLOR,
99 PROP_BORDER_END_STYLE,
100 PROP_BORDER_END_WIDTH,
101 PROP_BORDER_LEFT_COLOR,
102 PROP_BORDER_LEFT_STYLE,
103 PROP_BORDER_LEFT_WIDTH,
104 PROP_BORDER_RIGHT_COLOR,
105 PROP_BORDER_RIGHT_STYLE,
106 PROP_BORDER_RIGHT_WIDTH,
107 PROP_BORDER_START_COLOR,
108 PROP_BORDER_START_STYLE,
109 PROP_BORDER_START_WIDTH,
110 PROP_BORDER_TOP_COLOR,
111 PROP_BORDER_TOP_STYLE,
112 PROP_BORDER_TOP_WIDTH,
113 PROP_BREAK_AFTER,
114 PROP_BREAK_BEFORE,
115 PROP_END_INDENT,
116 PROP_ID,
117 PROP_KEEP_TOGETHER,
118 PROP_KEEP_TOGETHER_WITHIN_COLUMN,
119 PROP_KEEP_TOGETHER_WITHIN_LINE,
120 PROP_KEEP_TOGETHER_WITHIN_PAGE,
121 PROP_KEEP_WITH_NEXT,
122 PROP_KEEP_WITH_NEXT_WITHIN_COLUMN,
123 PROP_KEEP_WITH_NEXT_WITHIN_LINE,
124 PROP_KEEP_WITH_NEXT_WITHIN_PAGE,
125 PROP_KEEP_WITH_PREVIOUS,
126 PROP_KEEP_WITH_PREVIOUS_WITHIN_COLUMN,
127 PROP_KEEP_WITH_PREVIOUS_WITHIN_LINE,
128 PROP_KEEP_WITH_PREVIOUS_WITHIN_PAGE,
129 PROP_MARGIN_BOTTOM,
130 PROP_MARGIN_LEFT,
131 PROP_MARGIN_RIGHT,
132 PROP_MARGIN_TOP,
133 PROP_PADDING_AFTER,
134 PROP_PADDING_BEFORE,
135 PROP_PADDING_BOTTOM,
136 PROP_PADDING_END,
137 PROP_PADDING_LEFT,
138 PROP_PADDING_RIGHT,
139 PROP_PADDING_START,
140 PROP_PADDING_TOP,
141 PROP_PROVISIONAL_DISTANCE_BETWEEN_STARTS,
142 PROP_PROVISIONAL_LABEL_SEPARATION,
143 PROP_ROLE,
144 PROP_SOURCE_DOCUMENT,
145 PROP_SPACE_AFTER,
146 PROP_SPACE_BEFORE,
147 PROP_START_INDENT
148 };
149
150 static void fo_list_block_init (FoListBlock *fo_list_block);
151 static void fo_list_block_class_init (FoListBlockClass *klass);
152 static void fo_list_block_block_fo_init (FoBlockFoIface *iface);
153 static void fo_list_block_cbpbp_fo_init (FoCBPBPFoIface *iface);
154 static void fo_list_block_get_property (GObject *object,
155 guint prop_id,
156 GValue *value,
157 GParamSpec *pspec);
158 static void fo_list_block_set_property (GObject *object,
159 guint prop_id,
160 const GValue *value,
161 GParamSpec *pspec);
162 static void fo_list_block_finalize (GObject *object);
163 static gboolean fo_list_block_validate_content (FoFo *fo,
164 GError **error);
165 static void fo_list_block_validate (FoFo *fo,
166 FoContext *current_context,
167 FoContext *parent_context,
168 GError **error);
169 static void fo_list_block_update_from_context (FoFo *fo,
170 FoContext *context);
171 static void fo_list_block_debug_dump_properties (FoFo *fo,
172 gint depth);
173 static void fo_list_block_set_label_end (FoFo *fo_fo,
174 FoDatatype *new_label_end);
175 static void fo_list_block_set_body_start (FoFo *fo_fo,
176 FoDatatype *new_body_start);
177
178 static gpointer parent_class;
179
180 /**
181 * fo_list_block_get_type:
182 *
183 * Register the #FoListBlock object type.
184 *
185 * Return value: #GType value of the #FoListBlock object type.
186 **/
187 GType
fo_list_block_get_type(void)188 fo_list_block_get_type (void)
189 {
190 static GType object_type = 0;
191
192 if (!object_type)
193 {
194 static const GTypeInfo object_info =
195 {
196 sizeof (FoListBlockClass),
197 NULL, /* base_init */
198 NULL, /* base_finalize */
199 (GClassInitFunc) fo_list_block_class_init,
200 NULL, /* class_finalize */
201 NULL, /* class_data */
202 sizeof (FoListBlock),
203 0, /* n_preallocs */
204 (GInstanceInitFunc) fo_list_block_init,
205 NULL /* value_table */
206 };
207
208 static const GInterfaceInfo fo_block_fo_info =
209 {
210 (GInterfaceInitFunc) fo_list_block_block_fo_init, /* interface_init */
211 NULL,
212 NULL
213 };
214
215 static const GInterfaceInfo fo_cbpbp_fo_info =
216 {
217 (GInterfaceInitFunc) fo_list_block_cbpbp_fo_init, /* interface_init */
218 NULL,
219 NULL
220 };
221
222 object_type = g_type_register_static (FO_TYPE_MARKER_PARENT,
223 "FoListBlock",
224 &object_info, 0);
225 g_type_add_interface_static (object_type,
226 FO_TYPE_BLOCK_FO,
227 &fo_block_fo_info);
228 g_type_add_interface_static (object_type,
229 FO_TYPE_CBPBP_FO,
230 &fo_cbpbp_fo_info);
231 }
232
233 return object_type;
234 }
235
236 /**
237 * fo_list_block_init:
238 * @fo_list_block: #FoListBlock object to initialise.
239 *
240 * Implements #GInstanceInitFunc for #FoListBlock.
241 **/
242 void
fo_list_block_init(FoListBlock * fo_list_block)243 fo_list_block_init (FoListBlock *fo_list_block)
244 {
245 fo_list_block->label_end = fo_length_new_with_value (6.0);
246 fo_list_block->body_start = fo_length_new_with_value (24.0);
247 }
248
249 /**
250 * fo_list_block_class_init:
251 * @klass: #FoListBlockClass object to initialise.
252 *
253 * Implements #GClassInitFunc for #FoListBlockClass.
254 **/
255 void
fo_list_block_class_init(FoListBlockClass * klass)256 fo_list_block_class_init (FoListBlockClass *klass)
257 {
258 GObjectClass *object_class = G_OBJECT_CLASS (klass);
259 FoFoClass *fofo_class = FO_FO_CLASS (klass);
260
261 parent_class = g_type_class_peek_parent (klass);
262
263 object_class->finalize = fo_list_block_finalize;
264
265 object_class->get_property = fo_list_block_get_property;
266 object_class->set_property = fo_list_block_set_property;
267
268 fofo_class->validate_content =
269 fo_list_block_validate_content;
270 fofo_class->validate2 =
271 fo_list_block_validate;
272 fofo_class->update_from_context = fo_list_block_update_from_context;
273 fofo_class->debug_dump_properties = fo_list_block_debug_dump_properties;
274 fofo_class->area_new2 = fo_list_block_area_new2;
275
276 g_object_class_install_property
277 (object_class,
278 PROP_LABEL_END,
279 g_param_spec_object ("label-end",
280 _("Label End"),
281 _("Label End property"),
282 FO_TYPE_DATATYPE,
283 G_PARAM_READABLE));
284 g_object_class_install_property
285 (object_class,
286 PROP_BODY_START,
287 g_param_spec_object ("body-start",
288 _("Body Start"),
289 _("Body Start property"),
290 FO_TYPE_DATATYPE,
291 G_PARAM_READABLE));
292 g_object_class_install_property
293 (object_class,
294 PROP_BACKGROUND_COLOR,
295 g_param_spec_object ("background-color",
296 _("Background Color"),
297 _("Background Color property"),
298 FO_TYPE_PROPERTY,
299 G_PARAM_READABLE));
300 g_object_class_install_property
301 (object_class,
302 PROP_BACKGROUND_IMAGE,
303 g_param_spec_object ("background-image",
304 _("Background Image"),
305 _("Background Image property"),
306 FO_TYPE_PROPERTY,
307 G_PARAM_READABLE));
308 g_object_class_install_property
309 (object_class,
310 PROP_BORDER_AFTER_COLOR,
311 g_param_spec_object ("border-after-color",
312 _("Border After Color"),
313 _("Border After Color property"),
314 FO_TYPE_PROPERTY,
315 G_PARAM_READABLE));
316 g_object_class_install_property
317 (object_class,
318 PROP_BORDER_AFTER_STYLE,
319 g_param_spec_object ("border-after-style",
320 _("Border After Style"),
321 _("Border After Style property"),
322 FO_TYPE_PROPERTY,
323 G_PARAM_READABLE));
324 g_object_class_install_property
325 (object_class,
326 PROP_BORDER_AFTER_WIDTH,
327 g_param_spec_object ("border-after-width",
328 _("Border After Width"),
329 _("Border After Width property"),
330 FO_TYPE_PROPERTY,
331 G_PARAM_READABLE));
332 g_object_class_install_property
333 (object_class,
334 PROP_BORDER_BEFORE_COLOR,
335 g_param_spec_object ("border-before-color",
336 _("Border Before Color"),
337 _("Border Before Color property"),
338 FO_TYPE_PROPERTY,
339 G_PARAM_READABLE));
340 g_object_class_install_property
341 (object_class,
342 PROP_BORDER_BEFORE_STYLE,
343 g_param_spec_object ("border-before-style",
344 _("Border Before Style"),
345 _("Border Before Style property"),
346 FO_TYPE_PROPERTY,
347 G_PARAM_READABLE));
348 g_object_class_install_property
349 (object_class,
350 PROP_BORDER_BEFORE_WIDTH,
351 g_param_spec_object ("border-before-width",
352 _("Border Before Width"),
353 _("Border Before Width property"),
354 FO_TYPE_PROPERTY,
355 G_PARAM_READABLE));
356 g_object_class_install_property
357 (object_class,
358 PROP_BORDER_BOTTOM_COLOR,
359 g_param_spec_object ("border-bottom-color",
360 _("Border Bottom Color"),
361 _("Border Bottom Color property"),
362 FO_TYPE_PROPERTY,
363 G_PARAM_READABLE));
364 g_object_class_install_property
365 (object_class,
366 PROP_BORDER_BOTTOM_STYLE,
367 g_param_spec_object ("border-bottom-style",
368 _("Border Bottom Style"),
369 _("Border Bottom Style property"),
370 FO_TYPE_PROPERTY,
371 G_PARAM_READABLE));
372 g_object_class_install_property
373 (object_class,
374 PROP_BORDER_BOTTOM_WIDTH,
375 g_param_spec_object ("border-bottom-width",
376 _("Border Bottom Width"),
377 _("Border Bottom Width property"),
378 FO_TYPE_PROPERTY,
379 G_PARAM_READABLE));
380 g_object_class_install_property
381 (object_class,
382 PROP_BORDER_END_COLOR,
383 g_param_spec_object ("border-end-color",
384 _("Border End Color"),
385 _("Border End Color property"),
386 FO_TYPE_PROPERTY,
387 G_PARAM_READABLE));
388 g_object_class_install_property
389 (object_class,
390 PROP_BORDER_END_STYLE,
391 g_param_spec_object ("border-end-style",
392 _("Border End Style"),
393 _("Border End Style property"),
394 FO_TYPE_PROPERTY,
395 G_PARAM_READABLE));
396 g_object_class_install_property
397 (object_class,
398 PROP_BORDER_END_WIDTH,
399 g_param_spec_object ("border-end-width",
400 _("Border End Width"),
401 _("Border End Width property"),
402 FO_TYPE_PROPERTY,
403 G_PARAM_READABLE));
404 g_object_class_install_property
405 (object_class,
406 PROP_BORDER_LEFT_COLOR,
407 g_param_spec_object ("border-left-color",
408 _("Border Left Color"),
409 _("Border Left Color property"),
410 FO_TYPE_PROPERTY,
411 G_PARAM_READABLE));
412 g_object_class_install_property
413 (object_class,
414 PROP_BORDER_LEFT_STYLE,
415 g_param_spec_object ("border-left-style",
416 _("Border Left Style"),
417 _("Border Left Style property"),
418 FO_TYPE_PROPERTY,
419 G_PARAM_READABLE));
420 g_object_class_install_property
421 (object_class,
422 PROP_BORDER_LEFT_WIDTH,
423 g_param_spec_object ("border-left-width",
424 _("Border Left Width"),
425 _("Border Left Width property"),
426 FO_TYPE_PROPERTY,
427 G_PARAM_READABLE));
428 g_object_class_install_property
429 (object_class,
430 PROP_BORDER_RIGHT_COLOR,
431 g_param_spec_object ("border-right-color",
432 _("Border Right Color"),
433 _("Border Right Color property"),
434 FO_TYPE_PROPERTY,
435 G_PARAM_READABLE));
436 g_object_class_install_property
437 (object_class,
438 PROP_BORDER_RIGHT_STYLE,
439 g_param_spec_object ("border-right-style",
440 _("Border Right Style"),
441 _("Border Right Style property"),
442 FO_TYPE_PROPERTY,
443 G_PARAM_READABLE));
444 g_object_class_install_property
445 (object_class,
446 PROP_BORDER_RIGHT_WIDTH,
447 g_param_spec_object ("border-right-width",
448 _("Border Right Width"),
449 _("Border Right Width property"),
450 FO_TYPE_PROPERTY,
451 G_PARAM_READABLE));
452 g_object_class_install_property
453 (object_class,
454 PROP_BORDER_START_COLOR,
455 g_param_spec_object ("border-start-color",
456 _("Border Start Color"),
457 _("Border Start Color property"),
458 FO_TYPE_PROPERTY,
459 G_PARAM_READABLE));
460 g_object_class_install_property
461 (object_class,
462 PROP_BORDER_START_STYLE,
463 g_param_spec_object ("border-start-style",
464 _("Border Start Style"),
465 _("Border Start Style property"),
466 FO_TYPE_PROPERTY,
467 G_PARAM_READABLE));
468 g_object_class_install_property
469 (object_class,
470 PROP_BORDER_START_WIDTH,
471 g_param_spec_object ("border-start-width",
472 _("Border Start Width"),
473 _("Border Start Width property"),
474 FO_TYPE_PROPERTY,
475 G_PARAM_READABLE));
476 g_object_class_install_property
477 (object_class,
478 PROP_BORDER_TOP_COLOR,
479 g_param_spec_object ("border-top-color",
480 _("Border Top Color"),
481 _("Border Top Color property"),
482 FO_TYPE_PROPERTY,
483 G_PARAM_READABLE));
484 g_object_class_install_property
485 (object_class,
486 PROP_BORDER_TOP_STYLE,
487 g_param_spec_object ("border-top-style",
488 _("Border Top Style"),
489 _("Border Top Style property"),
490 FO_TYPE_PROPERTY,
491 G_PARAM_READABLE));
492 g_object_class_install_property
493 (object_class,
494 PROP_BORDER_TOP_WIDTH,
495 g_param_spec_object ("border-top-width",
496 _("Border Top Width"),
497 _("Border Top Width property"),
498 FO_TYPE_PROPERTY,
499 G_PARAM_READABLE));
500 g_object_class_install_property
501 (object_class,
502 PROP_BREAK_AFTER,
503 g_param_spec_object ("break-after",
504 _("Break After"),
505 _("Break After property"),
506 FO_TYPE_PROPERTY,
507 G_PARAM_READABLE));
508 g_object_class_install_property
509 (object_class,
510 PROP_BREAK_BEFORE,
511 g_param_spec_object ("break-before",
512 _("Break Before"),
513 _("Break Before property"),
514 FO_TYPE_PROPERTY,
515 G_PARAM_READABLE));
516 g_object_class_install_property
517 (object_class,
518 PROP_END_INDENT,
519 g_param_spec_object ("end-indent",
520 _("End Indent"),
521 _("End Indent property"),
522 FO_TYPE_PROPERTY,
523 G_PARAM_READABLE));
524 g_object_class_install_property
525 (object_class,
526 PROP_ID,
527 g_param_spec_object ("id",
528 _("Id"),
529 _("Id property"),
530 FO_TYPE_PROPERTY,
531 G_PARAM_READABLE));
532 g_object_class_install_property
533 (object_class,
534 PROP_KEEP_TOGETHER,
535 g_param_spec_object ("keep-together",
536 _("Keep Together"),
537 _("Keep Together property"),
538 FO_TYPE_PROPERTY,
539 G_PARAM_READABLE));
540 g_object_class_install_property
541 (object_class,
542 PROP_KEEP_TOGETHER_WITHIN_COLUMN,
543 g_param_spec_object ("keep-together-within-column",
544 _("Keep Together Within Column"),
545 _("Keep Together Within Column property"),
546 FO_TYPE_PROPERTY,
547 G_PARAM_READABLE));
548 g_object_class_install_property
549 (object_class,
550 PROP_KEEP_TOGETHER_WITHIN_LINE,
551 g_param_spec_object ("keep-together-within-line",
552 _("Keep Together Within Line"),
553 _("Keep Together Within Line property"),
554 FO_TYPE_PROPERTY,
555 G_PARAM_READABLE));
556 g_object_class_install_property
557 (object_class,
558 PROP_KEEP_TOGETHER_WITHIN_PAGE,
559 g_param_spec_object ("keep-together-within-page",
560 _("Keep Together Within Page"),
561 _("Keep Together Within Page property"),
562 FO_TYPE_PROPERTY,
563 G_PARAM_READABLE));
564 g_object_class_install_property
565 (object_class,
566 PROP_KEEP_WITH_NEXT,
567 g_param_spec_object ("keep-with-next",
568 _("Keep With Next"),
569 _("Keep With Next property"),
570 FO_TYPE_PROPERTY,
571 G_PARAM_READABLE));
572 g_object_class_install_property
573 (object_class,
574 PROP_KEEP_WITH_NEXT_WITHIN_COLUMN,
575 g_param_spec_object ("keep-with-next-within-column",
576 _("Keep With Next Within Column"),
577 _("Keep With Next Within Column property"),
578 FO_TYPE_PROPERTY,
579 G_PARAM_READABLE));
580 g_object_class_install_property
581 (object_class,
582 PROP_KEEP_WITH_NEXT_WITHIN_LINE,
583 g_param_spec_object ("keep-with-next-within-line",
584 _("Keep With Next Within Line"),
585 _("Keep With Next Within Line property"),
586 FO_TYPE_PROPERTY,
587 G_PARAM_READABLE));
588 g_object_class_install_property
589 (object_class,
590 PROP_KEEP_WITH_NEXT_WITHIN_PAGE,
591 g_param_spec_object ("keep-with-next-within-page",
592 _("Keep With Next Within Page"),
593 _("Keep With Next Within Page property"),
594 FO_TYPE_PROPERTY,
595 G_PARAM_READABLE));
596 g_object_class_install_property
597 (object_class,
598 PROP_KEEP_WITH_PREVIOUS,
599 g_param_spec_object ("keep-with-previous",
600 _("Keep With Previous"),
601 _("Keep With Previous property"),
602 FO_TYPE_PROPERTY,
603 G_PARAM_READABLE));
604 g_object_class_install_property
605 (object_class,
606 PROP_KEEP_WITH_PREVIOUS_WITHIN_COLUMN,
607 g_param_spec_object ("keep-with-previous-within-column",
608 _("Keep With Previous Within Column"),
609 _("Keep With Previous Within Column property"),
610 FO_TYPE_PROPERTY,
611 G_PARAM_READABLE));
612 g_object_class_install_property
613 (object_class,
614 PROP_KEEP_WITH_PREVIOUS_WITHIN_LINE,
615 g_param_spec_object ("keep-with-previous-within-line",
616 _("Keep With Previous Within Line"),
617 _("Keep With Previous Within Line property"),
618 FO_TYPE_PROPERTY,
619 G_PARAM_READABLE));
620 g_object_class_install_property
621 (object_class,
622 PROP_KEEP_WITH_PREVIOUS_WITHIN_PAGE,
623 g_param_spec_object ("keep-with-previous-within-page",
624 _("Keep With Previous Within Page"),
625 _("Keep With Previous Within Page property"),
626 FO_TYPE_PROPERTY,
627 G_PARAM_READABLE));
628 g_object_class_install_property
629 (object_class,
630 PROP_MARGIN_BOTTOM,
631 g_param_spec_object ("margin-bottom",
632 _("Margin Bottom"),
633 _("Margin Bottom property"),
634 FO_TYPE_PROPERTY,
635 G_PARAM_READABLE));
636 g_object_class_install_property
637 (object_class,
638 PROP_MARGIN_LEFT,
639 g_param_spec_object ("margin-left",
640 _("Margin Left"),
641 _("Margin Left property"),
642 FO_TYPE_PROPERTY,
643 G_PARAM_READABLE));
644 g_object_class_install_property
645 (object_class,
646 PROP_MARGIN_RIGHT,
647 g_param_spec_object ("margin-right",
648 _("Margin Right"),
649 _("Margin Right property"),
650 FO_TYPE_PROPERTY,
651 G_PARAM_READABLE));
652 g_object_class_install_property
653 (object_class,
654 PROP_MARGIN_TOP,
655 g_param_spec_object ("margin-top",
656 _("Margin Top"),
657 _("Margin Top property"),
658 FO_TYPE_PROPERTY,
659 G_PARAM_READABLE));
660 g_object_class_install_property
661 (object_class,
662 PROP_PADDING_AFTER,
663 g_param_spec_object ("padding-after",
664 _("Padding After"),
665 _("Padding After property"),
666 FO_TYPE_PROPERTY,
667 G_PARAM_READABLE));
668 g_object_class_install_property
669 (object_class,
670 PROP_PADDING_BEFORE,
671 g_param_spec_object ("padding-before",
672 _("Padding Before"),
673 _("Padding Before property"),
674 FO_TYPE_PROPERTY,
675 G_PARAM_READABLE));
676 g_object_class_install_property
677 (object_class,
678 PROP_PADDING_BOTTOM,
679 g_param_spec_object ("padding-bottom",
680 _("Padding Bottom"),
681 _("Padding Bottom property"),
682 FO_TYPE_PROPERTY,
683 G_PARAM_READABLE));
684 g_object_class_install_property
685 (object_class,
686 PROP_PADDING_END,
687 g_param_spec_object ("padding-end",
688 _("Padding End"),
689 _("Padding End property"),
690 FO_TYPE_PROPERTY,
691 G_PARAM_READABLE));
692 g_object_class_install_property
693 (object_class,
694 PROP_PADDING_LEFT,
695 g_param_spec_object ("padding-left",
696 _("Padding Left"),
697 _("Padding Left property"),
698 FO_TYPE_PROPERTY,
699 G_PARAM_READABLE));
700 g_object_class_install_property
701 (object_class,
702 PROP_PADDING_RIGHT,
703 g_param_spec_object ("padding-right",
704 _("Padding Right"),
705 _("Padding Right property"),
706 FO_TYPE_PROPERTY,
707 G_PARAM_READABLE));
708 g_object_class_install_property
709 (object_class,
710 PROP_PADDING_START,
711 g_param_spec_object ("padding-start",
712 _("Padding Start"),
713 _("Padding Start property"),
714 FO_TYPE_PROPERTY,
715 G_PARAM_READABLE));
716 g_object_class_install_property
717 (object_class,
718 PROP_PADDING_TOP,
719 g_param_spec_object ("padding-top",
720 _("Padding Top"),
721 _("Padding Top property"),
722 FO_TYPE_PROPERTY,
723 G_PARAM_READABLE));
724 g_object_class_install_property
725 (object_class,
726 PROP_PROVISIONAL_DISTANCE_BETWEEN_STARTS,
727 g_param_spec_object ("provisional-distance-between-starts",
728 _("Provisional Distance Between Starts"),
729 _("Provisional Distance Between Starts property"),
730 FO_TYPE_PROPERTY,
731 G_PARAM_READABLE));
732 g_object_class_install_property
733 (object_class,
734 PROP_PROVISIONAL_LABEL_SEPARATION,
735 g_param_spec_object ("provisional-label-separation",
736 _("Provisional Label Separation"),
737 _("Provisional Label Separation property"),
738 FO_TYPE_PROPERTY,
739 G_PARAM_READABLE));
740 g_object_class_install_property
741 (object_class,
742 PROP_ROLE,
743 g_param_spec_object ("role",
744 _("Role"),
745 _("Role property"),
746 FO_TYPE_PROPERTY,
747 G_PARAM_READABLE));
748 g_object_class_install_property
749 (object_class,
750 PROP_SOURCE_DOCUMENT,
751 g_param_spec_object ("source-document",
752 _("Source Document"),
753 _("Source Document property"),
754 FO_TYPE_PROPERTY,
755 G_PARAM_READABLE));
756 g_object_class_install_property
757 (object_class,
758 PROP_SPACE_AFTER,
759 g_param_spec_object ("space-after",
760 _("Space After"),
761 _("Space After property"),
762 FO_TYPE_PROPERTY,
763 G_PARAM_READABLE));
764 g_object_class_install_property
765 (object_class,
766 PROP_SPACE_BEFORE,
767 g_param_spec_object ("space-before",
768 _("Space Before"),
769 _("Space Before property"),
770 FO_TYPE_PROPERTY,
771 G_PARAM_READABLE));
772 g_object_class_install_property
773 (object_class,
774 PROP_START_INDENT,
775 g_param_spec_object ("start-indent",
776 _("Start Indent"),
777 _("Start Indent property"),
778 FO_TYPE_PROPERTY,
779 G_PARAM_READABLE));
780 }
781
782 /**
783 * fo_list_block_block_fo_init:
784 * @iface: #FoBlockFoIFace structure for this class.
785 *
786 * Initialize #FoBlockFoIface interface for this class.
787 **/
788 void
fo_list_block_block_fo_init(FoBlockFoIface * iface)789 fo_list_block_block_fo_init (FoBlockFoIface *iface)
790 {
791 iface->get_background_color = fo_list_block_get_background_color;
792 iface->get_border_after_color = fo_list_block_get_border_after_color;
793 iface->get_border_after_style = fo_list_block_get_border_after_style;
794 iface->get_border_after_width = fo_list_block_get_border_after_width;
795 iface->get_border_before_color = fo_list_block_get_border_before_color;
796 iface->get_border_before_style = fo_list_block_get_border_before_style;
797 iface->get_border_before_width = fo_list_block_get_border_before_width;
798 iface->get_border_end_color = fo_list_block_get_border_end_color;
799 iface->get_border_end_style = fo_list_block_get_border_end_style;
800 iface->get_border_end_width = fo_list_block_get_border_end_width;
801 iface->get_border_start_color = fo_list_block_get_border_start_color;
802 iface->get_border_start_style = fo_list_block_get_border_start_style;
803 iface->get_border_start_width = fo_list_block_get_border_start_width;
804 iface->get_keep_with_previous = fo_list_block_get_keep_with_previous;
805 iface->get_keep_with_next = fo_list_block_get_keep_with_next;
806 iface->get_keep_together = fo_list_block_get_keep_together;
807 iface->get_padding_after = fo_list_block_get_padding_after;
808 iface->get_padding_before = fo_list_block_get_padding_before;
809 iface->get_padding_end = fo_list_block_get_padding_end;
810 iface->get_padding_start = fo_list_block_get_padding_start;
811 iface->get_space_before = fo_list_block_get_space_before;
812 iface->get_space_after = fo_list_block_get_space_after;
813 iface->get_start_indent = fo_list_block_get_start_indent;
814 iface->get_end_indent = fo_list_block_get_end_indent;
815 }
816
817 /**
818 * fo_list_block_cbpbp_fo_init:
819 * @iface: #FoCBPBPFoIFace structure for this class.
820 *
821 * Initialize #FoCBPBPFoIface interface for this class.
822 **/
823 void
fo_list_block_cbpbp_fo_init(FoCBPBPFoIface * iface)824 fo_list_block_cbpbp_fo_init (FoCBPBPFoIface *iface)
825 {
826 iface->get_background_color = fo_list_block_get_background_color;
827 iface->get_border_after_color = fo_list_block_get_border_after_color;
828 iface->get_border_after_style = fo_list_block_get_border_after_style;
829 iface->get_border_after_width = fo_list_block_get_border_after_width;
830 iface->get_border_before_color = fo_list_block_get_border_before_color;
831 iface->get_border_before_style = fo_list_block_get_border_before_style;
832 iface->get_border_before_width = fo_list_block_get_border_before_width;
833 iface->get_border_end_color = fo_list_block_get_border_end_color;
834 iface->get_border_end_style = fo_list_block_get_border_end_style;
835 iface->get_border_end_width = fo_list_block_get_border_end_width;
836 iface->get_border_start_color = fo_list_block_get_border_start_color;
837 iface->get_border_start_style = fo_list_block_get_border_start_style;
838 iface->get_border_start_width = fo_list_block_get_border_start_width;
839 iface->get_padding_after = fo_list_block_get_padding_after;
840 iface->get_padding_before = fo_list_block_get_padding_before;
841 iface->get_padding_end = fo_list_block_get_padding_end;
842 iface->get_padding_start = fo_list_block_get_padding_start;
843 }
844
845 /**
846 * fo_list_block_finalize:
847 * @object: #FoListBlock object to finalize.
848 *
849 * Implements #GObjectFinalizeFunc for #FoListBlock.
850 **/
851 void
fo_list_block_finalize(GObject * object)852 fo_list_block_finalize (GObject *object)
853 {
854 FoFo *fo = FO_FO (object);
855
856 /* Release references to all property objects. */
857 fo_list_block_set_background_color (fo, NULL);
858 fo_list_block_set_background_image (fo, NULL);
859 fo_list_block_set_border_after_color (fo, NULL);
860 fo_list_block_set_border_after_style (fo, NULL);
861 fo_list_block_set_border_after_width (fo, NULL);
862 fo_list_block_set_border_before_color (fo, NULL);
863 fo_list_block_set_border_before_style (fo, NULL);
864 fo_list_block_set_border_before_width (fo, NULL);
865 fo_list_block_set_border_bottom_color (fo, NULL);
866 fo_list_block_set_border_bottom_style (fo, NULL);
867 fo_list_block_set_border_bottom_width (fo, NULL);
868 fo_list_block_set_border_end_color (fo, NULL);
869 fo_list_block_set_border_end_style (fo, NULL);
870 fo_list_block_set_border_end_width (fo, NULL);
871 fo_list_block_set_border_left_color (fo, NULL);
872 fo_list_block_set_border_left_style (fo, NULL);
873 fo_list_block_set_border_left_width (fo, NULL);
874 fo_list_block_set_border_right_color (fo, NULL);
875 fo_list_block_set_border_right_style (fo, NULL);
876 fo_list_block_set_border_right_width (fo, NULL);
877 fo_list_block_set_border_start_color (fo, NULL);
878 fo_list_block_set_border_start_style (fo, NULL);
879 fo_list_block_set_border_start_width (fo, NULL);
880 fo_list_block_set_border_top_color (fo, NULL);
881 fo_list_block_set_border_top_style (fo, NULL);
882 fo_list_block_set_border_top_width (fo, NULL);
883 fo_list_block_set_break_after (fo, NULL);
884 fo_list_block_set_break_before (fo, NULL);
885 fo_list_block_set_end_indent (fo, NULL);
886 fo_list_block_set_id (fo, NULL);
887 fo_list_block_set_keep_together (fo, NULL);
888 fo_list_block_set_keep_together_within_column (fo, NULL);
889 fo_list_block_set_keep_together_within_line (fo, NULL);
890 fo_list_block_set_keep_together_within_page (fo, NULL);
891 fo_list_block_set_keep_with_next (fo, NULL);
892 fo_list_block_set_keep_with_next_within_column (fo, NULL);
893 fo_list_block_set_keep_with_next_within_line (fo, NULL);
894 fo_list_block_set_keep_with_next_within_page (fo, NULL);
895 fo_list_block_set_keep_with_previous (fo, NULL);
896 fo_list_block_set_keep_with_previous_within_column (fo, NULL);
897 fo_list_block_set_keep_with_previous_within_line (fo, NULL);
898 fo_list_block_set_keep_with_previous_within_page (fo, NULL);
899 fo_list_block_set_margin_bottom (fo, NULL);
900 fo_list_block_set_margin_left (fo, NULL);
901 fo_list_block_set_margin_right (fo, NULL);
902 fo_list_block_set_margin_top (fo, NULL);
903 fo_list_block_set_padding_after (fo, NULL);
904 fo_list_block_set_padding_before (fo, NULL);
905 fo_list_block_set_padding_bottom (fo, NULL);
906 fo_list_block_set_padding_end (fo, NULL);
907 fo_list_block_set_padding_left (fo, NULL);
908 fo_list_block_set_padding_right (fo, NULL);
909 fo_list_block_set_padding_start (fo, NULL);
910 fo_list_block_set_padding_top (fo, NULL);
911 fo_list_block_set_provisional_distance_between_starts (fo, NULL);
912 fo_list_block_set_provisional_label_separation (fo, NULL);
913 fo_list_block_set_role (fo, NULL);
914 fo_list_block_set_source_document (fo, NULL);
915 fo_list_block_set_space_after (fo, NULL);
916 fo_list_block_set_space_before (fo, NULL);
917 fo_list_block_set_start_indent (fo, NULL);
918
919 G_OBJECT_CLASS (parent_class)->finalize (object);
920 }
921
922 /**
923 * fo_list_block_get_property:
924 * @object: #GObject whose property will be retrieved.
925 * @prop_id: Property ID assigned when property registered.
926 * @value: GValue to set with property value.
927 * @pspec: Parameter specification for this property type.
928 *
929 * Implements #GObjectGetPropertyFunc for #FoListBlock.
930 **/
931 void
fo_list_block_get_property(GObject * object,guint prop_id,GValue * value,GParamSpec * pspec)932 fo_list_block_get_property (GObject *object,
933 guint prop_id,
934 GValue *value,
935 GParamSpec *pspec)
936 {
937 FoFo *fo_fo;
938
939 fo_fo = FO_FO (object);
940
941 switch (prop_id)
942 {
943 case PROP_LABEL_END:
944 g_value_set_object (value, G_OBJECT (fo_list_block_get_label_end (fo_fo)));
945 break;
946 case PROP_BODY_START:
947 g_value_set_object (value, G_OBJECT (fo_list_block_get_body_start (fo_fo)));
948 break;
949 case PROP_BACKGROUND_COLOR:
950 g_value_set_object (value, G_OBJECT (fo_list_block_get_background_color (fo_fo)));
951 break;
952 case PROP_BACKGROUND_IMAGE:
953 g_value_set_object (value, G_OBJECT (fo_list_block_get_background_image (fo_fo)));
954 break;
955 case PROP_BORDER_AFTER_COLOR:
956 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_after_color (fo_fo)));
957 break;
958 case PROP_BORDER_AFTER_STYLE:
959 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_after_style (fo_fo)));
960 break;
961 case PROP_BORDER_AFTER_WIDTH:
962 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_after_width (fo_fo)));
963 break;
964 case PROP_BORDER_BEFORE_COLOR:
965 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_before_color (fo_fo)));
966 break;
967 case PROP_BORDER_BEFORE_STYLE:
968 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_before_style (fo_fo)));
969 break;
970 case PROP_BORDER_BEFORE_WIDTH:
971 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_before_width (fo_fo)));
972 break;
973 case PROP_BORDER_BOTTOM_COLOR:
974 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_bottom_color (fo_fo)));
975 break;
976 case PROP_BORDER_BOTTOM_STYLE:
977 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_bottom_style (fo_fo)));
978 break;
979 case PROP_BORDER_BOTTOM_WIDTH:
980 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_bottom_width (fo_fo)));
981 break;
982 case PROP_BORDER_END_COLOR:
983 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_end_color (fo_fo)));
984 break;
985 case PROP_BORDER_END_STYLE:
986 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_end_style (fo_fo)));
987 break;
988 case PROP_BORDER_END_WIDTH:
989 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_end_width (fo_fo)));
990 break;
991 case PROP_BORDER_LEFT_COLOR:
992 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_left_color (fo_fo)));
993 break;
994 case PROP_BORDER_LEFT_STYLE:
995 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_left_style (fo_fo)));
996 break;
997 case PROP_BORDER_LEFT_WIDTH:
998 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_left_width (fo_fo)));
999 break;
1000 case PROP_BORDER_RIGHT_COLOR:
1001 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_right_color (fo_fo)));
1002 break;
1003 case PROP_BORDER_RIGHT_STYLE:
1004 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_right_style (fo_fo)));
1005 break;
1006 case PROP_BORDER_RIGHT_WIDTH:
1007 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_right_width (fo_fo)));
1008 break;
1009 case PROP_BORDER_START_COLOR:
1010 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_start_color (fo_fo)));
1011 break;
1012 case PROP_BORDER_START_STYLE:
1013 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_start_style (fo_fo)));
1014 break;
1015 case PROP_BORDER_START_WIDTH:
1016 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_start_width (fo_fo)));
1017 break;
1018 case PROP_BORDER_TOP_COLOR:
1019 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_top_color (fo_fo)));
1020 break;
1021 case PROP_BORDER_TOP_STYLE:
1022 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_top_style (fo_fo)));
1023 break;
1024 case PROP_BORDER_TOP_WIDTH:
1025 g_value_set_object (value, G_OBJECT (fo_list_block_get_border_top_width (fo_fo)));
1026 break;
1027 case PROP_BREAK_AFTER:
1028 g_value_set_object (value, G_OBJECT (fo_list_block_get_break_after (fo_fo)));
1029 break;
1030 case PROP_BREAK_BEFORE:
1031 g_value_set_object (value, G_OBJECT (fo_list_block_get_break_before (fo_fo)));
1032 break;
1033 case PROP_END_INDENT:
1034 g_value_set_object (value, G_OBJECT (fo_list_block_get_end_indent (fo_fo)));
1035 break;
1036 case PROP_ID:
1037 g_value_set_object (value, G_OBJECT (fo_list_block_get_id (fo_fo)));
1038 break;
1039 case PROP_KEEP_TOGETHER:
1040 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_together (fo_fo)));
1041 break;
1042 case PROP_KEEP_TOGETHER_WITHIN_COLUMN:
1043 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_together_within_column (fo_fo)));
1044 break;
1045 case PROP_KEEP_TOGETHER_WITHIN_LINE:
1046 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_together_within_line (fo_fo)));
1047 break;
1048 case PROP_KEEP_TOGETHER_WITHIN_PAGE:
1049 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_together_within_page (fo_fo)));
1050 break;
1051 case PROP_KEEP_WITH_NEXT:
1052 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_next (fo_fo)));
1053 break;
1054 case PROP_KEEP_WITH_NEXT_WITHIN_COLUMN:
1055 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_next_within_column (fo_fo)));
1056 break;
1057 case PROP_KEEP_WITH_NEXT_WITHIN_LINE:
1058 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_next_within_line (fo_fo)));
1059 break;
1060 case PROP_KEEP_WITH_NEXT_WITHIN_PAGE:
1061 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_next_within_page (fo_fo)));
1062 break;
1063 case PROP_KEEP_WITH_PREVIOUS:
1064 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_previous (fo_fo)));
1065 break;
1066 case PROP_KEEP_WITH_PREVIOUS_WITHIN_COLUMN:
1067 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_previous_within_column (fo_fo)));
1068 break;
1069 case PROP_KEEP_WITH_PREVIOUS_WITHIN_LINE:
1070 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_previous_within_line (fo_fo)));
1071 break;
1072 case PROP_KEEP_WITH_PREVIOUS_WITHIN_PAGE:
1073 g_value_set_object (value, G_OBJECT (fo_list_block_get_keep_with_previous_within_page (fo_fo)));
1074 break;
1075 case PROP_MARGIN_BOTTOM:
1076 g_value_set_object (value, G_OBJECT (fo_list_block_get_margin_bottom (fo_fo)));
1077 break;
1078 case PROP_MARGIN_LEFT:
1079 g_value_set_object (value, G_OBJECT (fo_list_block_get_margin_left (fo_fo)));
1080 break;
1081 case PROP_MARGIN_RIGHT:
1082 g_value_set_object (value, G_OBJECT (fo_list_block_get_margin_right (fo_fo)));
1083 break;
1084 case PROP_MARGIN_TOP:
1085 g_value_set_object (value, G_OBJECT (fo_list_block_get_margin_top (fo_fo)));
1086 break;
1087 case PROP_PADDING_AFTER:
1088 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_after (fo_fo)));
1089 break;
1090 case PROP_PADDING_BEFORE:
1091 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_before (fo_fo)));
1092 break;
1093 case PROP_PADDING_BOTTOM:
1094 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_bottom (fo_fo)));
1095 break;
1096 case PROP_PADDING_END:
1097 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_end (fo_fo)));
1098 break;
1099 case PROP_PADDING_LEFT:
1100 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_left (fo_fo)));
1101 break;
1102 case PROP_PADDING_RIGHT:
1103 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_right (fo_fo)));
1104 break;
1105 case PROP_PADDING_START:
1106 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_start (fo_fo)));
1107 break;
1108 case PROP_PADDING_TOP:
1109 g_value_set_object (value, G_OBJECT (fo_list_block_get_padding_top (fo_fo)));
1110 break;
1111 case PROP_PROVISIONAL_DISTANCE_BETWEEN_STARTS:
1112 g_value_set_object (value, G_OBJECT (fo_list_block_get_provisional_distance_between_starts (fo_fo)));
1113 break;
1114 case PROP_PROVISIONAL_LABEL_SEPARATION:
1115 g_value_set_object (value, G_OBJECT (fo_list_block_get_provisional_label_separation (fo_fo)));
1116 break;
1117 case PROP_ROLE:
1118 g_value_set_object (value, G_OBJECT (fo_list_block_get_role (fo_fo)));
1119 break;
1120 case PROP_SOURCE_DOCUMENT:
1121 g_value_set_object (value, G_OBJECT (fo_list_block_get_source_document (fo_fo)));
1122 break;
1123 case PROP_SPACE_AFTER:
1124 g_value_set_object (value, G_OBJECT (fo_list_block_get_space_after (fo_fo)));
1125 break;
1126 case PROP_SPACE_BEFORE:
1127 g_value_set_object (value, G_OBJECT (fo_list_block_get_space_before (fo_fo)));
1128 break;
1129 case PROP_START_INDENT:
1130 g_value_set_object (value, G_OBJECT (fo_list_block_get_start_indent (fo_fo)));
1131 break;
1132 default:
1133 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1134 break;
1135 }
1136 }
1137
1138 /**
1139 * fo_list_block_set_property:
1140 * @object: #GObject whose property will be set.
1141 * @prop_id: Property ID assigned when property registered.
1142 * @value: New value for property.
1143 * @pspec: Parameter specification for this property type.
1144 *
1145 * Implements #GObjectSetPropertyFunc for #FoListBlock.
1146 **/
1147 void
fo_list_block_set_property(GObject * object,guint prop_id,const GValue * value,GParamSpec * pspec)1148 fo_list_block_set_property (GObject *object,
1149 guint prop_id,
1150 const GValue *value,
1151 GParamSpec *pspec)
1152 {
1153 FoFo *fo_fo;
1154
1155 fo_fo = FO_FO (object);
1156
1157 switch (prop_id)
1158 {
1159 case PROP_BACKGROUND_COLOR:
1160 fo_list_block_set_background_color (fo_fo, g_value_get_object (value));
1161 break;
1162 case PROP_BACKGROUND_IMAGE:
1163 fo_list_block_set_background_image (fo_fo, g_value_get_object (value));
1164 break;
1165 case PROP_BORDER_AFTER_COLOR:
1166 fo_list_block_set_border_after_color (fo_fo, g_value_get_object (value));
1167 break;
1168 case PROP_BORDER_AFTER_STYLE:
1169 fo_list_block_set_border_after_style (fo_fo, g_value_get_object (value));
1170 break;
1171 case PROP_BORDER_AFTER_WIDTH:
1172 fo_list_block_set_border_after_width (fo_fo, g_value_get_object (value));
1173 break;
1174 case PROP_BORDER_BEFORE_COLOR:
1175 fo_list_block_set_border_before_color (fo_fo, g_value_get_object (value));
1176 break;
1177 case PROP_BORDER_BEFORE_STYLE:
1178 fo_list_block_set_border_before_style (fo_fo, g_value_get_object (value));
1179 break;
1180 case PROP_BORDER_BEFORE_WIDTH:
1181 fo_list_block_set_border_before_width (fo_fo, g_value_get_object (value));
1182 break;
1183 case PROP_BORDER_BOTTOM_COLOR:
1184 fo_list_block_set_border_bottom_color (fo_fo, g_value_get_object (value));
1185 break;
1186 case PROP_BORDER_BOTTOM_STYLE:
1187 fo_list_block_set_border_bottom_style (fo_fo, g_value_get_object (value));
1188 break;
1189 case PROP_BORDER_BOTTOM_WIDTH:
1190 fo_list_block_set_border_bottom_width (fo_fo, g_value_get_object (value));
1191 break;
1192 case PROP_BORDER_END_COLOR:
1193 fo_list_block_set_border_end_color (fo_fo, g_value_get_object (value));
1194 break;
1195 case PROP_BORDER_END_STYLE:
1196 fo_list_block_set_border_end_style (fo_fo, g_value_get_object (value));
1197 break;
1198 case PROP_BORDER_END_WIDTH:
1199 fo_list_block_set_border_end_width (fo_fo, g_value_get_object (value));
1200 break;
1201 case PROP_BORDER_LEFT_COLOR:
1202 fo_list_block_set_border_left_color (fo_fo, g_value_get_object (value));
1203 break;
1204 case PROP_BORDER_LEFT_STYLE:
1205 fo_list_block_set_border_left_style (fo_fo, g_value_get_object (value));
1206 break;
1207 case PROP_BORDER_LEFT_WIDTH:
1208 fo_list_block_set_border_left_width (fo_fo, g_value_get_object (value));
1209 break;
1210 case PROP_BORDER_RIGHT_COLOR:
1211 fo_list_block_set_border_right_color (fo_fo, g_value_get_object (value));
1212 break;
1213 case PROP_BORDER_RIGHT_STYLE:
1214 fo_list_block_set_border_right_style (fo_fo, g_value_get_object (value));
1215 break;
1216 case PROP_BORDER_RIGHT_WIDTH:
1217 fo_list_block_set_border_right_width (fo_fo, g_value_get_object (value));
1218 break;
1219 case PROP_BORDER_START_COLOR:
1220 fo_list_block_set_border_start_color (fo_fo, g_value_get_object (value));
1221 break;
1222 case PROP_BORDER_START_STYLE:
1223 fo_list_block_set_border_start_style (fo_fo, g_value_get_object (value));
1224 break;
1225 case PROP_BORDER_START_WIDTH:
1226 fo_list_block_set_border_start_width (fo_fo, g_value_get_object (value));
1227 break;
1228 case PROP_BORDER_TOP_COLOR:
1229 fo_list_block_set_border_top_color (fo_fo, g_value_get_object (value));
1230 break;
1231 case PROP_BORDER_TOP_STYLE:
1232 fo_list_block_set_border_top_style (fo_fo, g_value_get_object (value));
1233 break;
1234 case PROP_BORDER_TOP_WIDTH:
1235 fo_list_block_set_border_top_width (fo_fo, g_value_get_object (value));
1236 break;
1237 case PROP_BREAK_AFTER:
1238 fo_list_block_set_break_after (fo_fo, g_value_get_object (value));
1239 break;
1240 case PROP_BREAK_BEFORE:
1241 fo_list_block_set_break_before (fo_fo, g_value_get_object (value));
1242 break;
1243 case PROP_END_INDENT:
1244 fo_list_block_set_end_indent (fo_fo, g_value_get_object (value));
1245 break;
1246 case PROP_ID:
1247 fo_list_block_set_id (fo_fo, g_value_get_object (value));
1248 break;
1249 case PROP_KEEP_TOGETHER:
1250 fo_list_block_set_keep_together (fo_fo, g_value_get_object (value));
1251 break;
1252 case PROP_KEEP_TOGETHER_WITHIN_COLUMN:
1253 fo_list_block_set_keep_together_within_column (fo_fo, g_value_get_object (value));
1254 break;
1255 case PROP_KEEP_TOGETHER_WITHIN_LINE:
1256 fo_list_block_set_keep_together_within_line (fo_fo, g_value_get_object (value));
1257 break;
1258 case PROP_KEEP_TOGETHER_WITHIN_PAGE:
1259 fo_list_block_set_keep_together_within_page (fo_fo, g_value_get_object (value));
1260 break;
1261 case PROP_KEEP_WITH_NEXT:
1262 fo_list_block_set_keep_with_next (fo_fo, g_value_get_object (value));
1263 break;
1264 case PROP_KEEP_WITH_NEXT_WITHIN_COLUMN:
1265 fo_list_block_set_keep_with_next_within_column (fo_fo, g_value_get_object (value));
1266 break;
1267 case PROP_KEEP_WITH_NEXT_WITHIN_LINE:
1268 fo_list_block_set_keep_with_next_within_line (fo_fo, g_value_get_object (value));
1269 break;
1270 case PROP_KEEP_WITH_NEXT_WITHIN_PAGE:
1271 fo_list_block_set_keep_with_next_within_page (fo_fo, g_value_get_object (value));
1272 break;
1273 case PROP_KEEP_WITH_PREVIOUS:
1274 fo_list_block_set_keep_with_previous (fo_fo, g_value_get_object (value));
1275 break;
1276 case PROP_KEEP_WITH_PREVIOUS_WITHIN_COLUMN:
1277 fo_list_block_set_keep_with_previous_within_column (fo_fo, g_value_get_object (value));
1278 break;
1279 case PROP_KEEP_WITH_PREVIOUS_WITHIN_LINE:
1280 fo_list_block_set_keep_with_previous_within_line (fo_fo, g_value_get_object (value));
1281 break;
1282 case PROP_KEEP_WITH_PREVIOUS_WITHIN_PAGE:
1283 fo_list_block_set_keep_with_previous_within_page (fo_fo, g_value_get_object (value));
1284 break;
1285 case PROP_MARGIN_BOTTOM:
1286 fo_list_block_set_margin_bottom (fo_fo, g_value_get_object (value));
1287 break;
1288 case PROP_MARGIN_LEFT:
1289 fo_list_block_set_margin_left (fo_fo, g_value_get_object (value));
1290 break;
1291 case PROP_MARGIN_RIGHT:
1292 fo_list_block_set_margin_right (fo_fo, g_value_get_object (value));
1293 break;
1294 case PROP_MARGIN_TOP:
1295 fo_list_block_set_margin_top (fo_fo, g_value_get_object (value));
1296 break;
1297 case PROP_PADDING_AFTER:
1298 fo_list_block_set_padding_after (fo_fo, g_value_get_object (value));
1299 break;
1300 case PROP_PADDING_BEFORE:
1301 fo_list_block_set_padding_before (fo_fo, g_value_get_object (value));
1302 break;
1303 case PROP_PADDING_BOTTOM:
1304 fo_list_block_set_padding_bottom (fo_fo, g_value_get_object (value));
1305 break;
1306 case PROP_PADDING_END:
1307 fo_list_block_set_padding_end (fo_fo, g_value_get_object (value));
1308 break;
1309 case PROP_PADDING_LEFT:
1310 fo_list_block_set_padding_left (fo_fo, g_value_get_object (value));
1311 break;
1312 case PROP_PADDING_RIGHT:
1313 fo_list_block_set_padding_right (fo_fo, g_value_get_object (value));
1314 break;
1315 case PROP_PADDING_START:
1316 fo_list_block_set_padding_start (fo_fo, g_value_get_object (value));
1317 break;
1318 case PROP_PADDING_TOP:
1319 fo_list_block_set_padding_top (fo_fo, g_value_get_object (value));
1320 break;
1321 case PROP_PROVISIONAL_DISTANCE_BETWEEN_STARTS:
1322 fo_list_block_set_provisional_distance_between_starts (fo_fo, g_value_get_object (value));
1323 break;
1324 case PROP_PROVISIONAL_LABEL_SEPARATION:
1325 fo_list_block_set_provisional_label_separation (fo_fo, g_value_get_object (value));
1326 break;
1327 case PROP_ROLE:
1328 fo_list_block_set_role (fo_fo, g_value_get_object (value));
1329 break;
1330 case PROP_SOURCE_DOCUMENT:
1331 fo_list_block_set_source_document (fo_fo, g_value_get_object (value));
1332 break;
1333 case PROP_SPACE_AFTER:
1334 fo_list_block_set_space_after (fo_fo, g_value_get_object (value));
1335 break;
1336 case PROP_SPACE_BEFORE:
1337 fo_list_block_set_space_before (fo_fo, g_value_get_object (value));
1338 break;
1339 case PROP_START_INDENT:
1340 fo_list_block_set_start_indent (fo_fo, g_value_get_object (value));
1341 break;
1342 default:
1343 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1344 break;
1345 }
1346 }
1347
1348 /**
1349 * fo_list_block_new:
1350 *
1351 * Creates a new #FoListBlock initialized to default value.
1352 *
1353 * Return value: the new #FoListBlock.
1354 **/
1355 FoFo*
fo_list_block_new(void)1356 fo_list_block_new (void)
1357 {
1358 return FO_FO (g_object_new (fo_list_block_get_type (),
1359 NULL));
1360 }
1361
1362 /**
1363 * fo_list_block_validate_content:
1364 * @fo: #FoListBlock object to validate.
1365 * @error: #GError indicating error condition, if any.
1366 *
1367 * Validate the content model, i.e., the structure, of the object.
1368 * Return value matches #GNodeTraverseFunc model: %FALSE indicates
1369 * content model is correct, or %TRUE indicates an error. When used
1370 * with fo_node_traverse(), returning %TRUE stops the traversal.
1371 *
1372 * Return value: %FALSE if content model okay, %TRUE if not.
1373 **/
1374 gboolean
fo_list_block_validate_content(FoFo * fo,GError ** error)1375 fo_list_block_validate_content (FoFo *fo,
1376 GError **error)
1377 {
1378 GError *tmp_error;
1379 FoNode *fo_node;
1380 FoNode *child_node;
1381 gint n_children;
1382
1383 g_return_val_if_fail (fo != NULL, TRUE);
1384 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo), TRUE);
1385 g_return_val_if_fail (error == NULL || *error == NULL, TRUE);
1386
1387 fo_node = FO_NODE (fo);
1388
1389 fo_fo_trim_whitespace_children (fo);
1390
1391 n_children = fo_node_n_children (fo_node);
1392
1393 if (n_children == 0)
1394 {
1395 tmp_error = g_error_new (FO_FO_ERROR,
1396 FO_FO_ERROR_EMPTY,
1397 _(fo_fo_error_messages[FO_FO_ERROR_EMPTY]),
1398 fo_object_sprintf (FO_OBJECT (fo)));
1399
1400 return fo_object_log_or_propagate_error (FO_OBJECT (fo),
1401 error,
1402 tmp_error);
1403 }
1404
1405 child_node = fo_node_first_child (fo_node);
1406
1407 while (child_node)
1408 {
1409 if (FO_IS_LIST_ITEM (child_node))
1410 {
1411 child_node = fo_node_next_sibling (child_node);
1412 }
1413 else
1414 {
1415 tmp_error = g_error_new (FO_FO_ERROR,
1416 FO_FO_ERROR_INVALID_CONTENT,
1417 _(fo_fo_error_messages[FO_FO_ERROR_INVALID_CONTENT]),
1418 fo_object_sprintf (fo));
1419
1420 return fo_object_log_or_propagate_error (FO_OBJECT (fo),
1421 error,
1422 tmp_error);
1423 }
1424 }
1425
1426 return FALSE;
1427 }
1428
1429 /**
1430 * fo_list_block_validate:
1431 * @fo: #FoListBlock object to validate.
1432 * @current_context: #FoContext associated with current object.
1433 * @parent_context: #FoContext associated with parent FO.
1434 * @error: Information about any error that has occurred.
1435 *
1436 * Validate and possibly update interrelated property values in
1437 * @current_context, then update @fo property values. Set @error if
1438 * an error occurred.
1439 **/
1440 void
fo_list_block_validate(FoFo * fo,FoContext * current_context,FoContext * parent_context,GError ** error)1441 fo_list_block_validate (FoFo *fo,
1442 FoContext *current_context,
1443 FoContext *parent_context,
1444 GError **error)
1445 {
1446 FoListBlock *fo_list_block;
1447
1448 g_return_if_fail (fo != NULL);
1449 g_return_if_fail (FO_IS_LIST_BLOCK (fo));
1450 g_return_if_fail (FO_IS_CONTEXT (current_context));
1451 g_return_if_fail (FO_IS_CONTEXT (parent_context));
1452 g_return_if_fail (error == NULL || *error == NULL);
1453
1454 fo_list_block = FO_LIST_BLOCK (fo);
1455
1456 fo_context_util_border_resolve (current_context, parent_context);
1457 fo_context_util_paddings_resolve (current_context, parent_context);
1458 fo_context_util_margins_indents_resolve (fo,
1459 current_context,
1460 parent_context);
1461 fo_context_util_margins_resolve (current_context, parent_context);
1462 fo_context_merge (current_context, parent_context);
1463 fo_fo_update_from_context (fo, current_context);
1464 }
1465
1466 /**
1467 * fo_list_block_set_label_end:
1468 * @fo_fo: #FoListBlock object whose "label-end" is to be set
1469 * @new_label_end: New "label-end" property value
1470 *
1471 * Sets the "label-end" property of @property
1472 **/
1473 void
fo_list_block_set_label_end(FoFo * fo_fo,FoDatatype * new_label_end)1474 fo_list_block_set_label_end (FoFo *fo_fo,
1475 FoDatatype *new_label_end)
1476 {
1477 FoListBlock *fo_list_block;
1478
1479 g_return_if_fail (fo_fo != NULL);
1480 g_return_if_fail (FO_IS_LIST_BLOCK (fo_fo));
1481
1482 fo_list_block = (FoListBlock *) fo_fo;
1483
1484 if (new_label_end)
1485 g_object_ref (G_OBJECT (new_label_end));
1486 if (fo_list_block->label_end)
1487 g_object_unref (G_OBJECT (fo_list_block->label_end));
1488 fo_list_block->label_end = new_label_end;
1489 /*g_object_notify (G_OBJECT(fo_list_block), "label-end");*/
1490 }
1491
1492 /**
1493 * fo_list_block_get_label_end:
1494 * @fo_fo: The #FoListBlock object
1495 *
1496 * Gets the #label-end of @fo_fo
1497 *
1498 * Return value: The value to use for label-end() functions
1499 **/
1500 FoDatatype*
fo_list_block_get_label_end(FoFo * fo_fo)1501 fo_list_block_get_label_end (FoFo *fo_fo)
1502 {
1503 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1504 gfloat label_end;
1505
1506 g_return_val_if_fail (fo_list_block != NULL, NULL);
1507 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1508
1509 #if defined(LIBFO_DEBUG) && 0
1510 g_message ("get_label_end:: content rectangle: %f; pdbs: %f; start-indent: %f; start-intrusion-adjustment: %f; pls: %f",
1511 fo_area_area_get_width (FO_AREA (fo_fo->areas->data)->reference),
1512 fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_distance_between_starts (fo_fo))),
1513 fo_area_area_get_start_indent (fo_fo->areas->data),
1514 0.0,
1515 fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_label_separation (fo_fo))));
1516 #endif
1517
1518 label_end =
1519 fo_area_area_get_width (fo_area_get_reference (fo_fo->areas->data)) -
1520 (fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_distance_between_starts (fo_fo))) +
1521 fo_area_area_get_start_indent (fo_fo->areas->data) -
1522 fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_label_separation (fo_fo))));
1523
1524 fo_list_block_set_label_end (fo_fo,
1525 fo_length_new_with_value (label_end));
1526
1527 return fo_list_block->label_end;
1528 }
1529
1530 /**
1531 * fo_list_block_set_body_start:
1532 * @fo_fo: #FoListBlock object whose "body-start" is to be set
1533 * @new_body_start: New "body-start" property value
1534 *
1535 * Sets the "body-start" property of @property
1536 **/
1537 void
fo_list_block_set_body_start(FoFo * fo_fo,FoDatatype * new_body_start)1538 fo_list_block_set_body_start (FoFo *fo_fo,
1539 FoDatatype *new_body_start)
1540 {
1541 FoListBlock *fo_list_block;
1542
1543 g_return_if_fail (fo_fo != NULL);
1544 g_return_if_fail (FO_IS_LIST_BLOCK (fo_fo));
1545
1546 fo_list_block = (FoListBlock *) fo_fo;
1547
1548 if (new_body_start)
1549 g_object_ref (G_OBJECT (new_body_start));
1550 if (fo_list_block->body_start)
1551 g_object_unref (G_OBJECT (fo_list_block->body_start));
1552 fo_list_block->body_start = new_body_start;
1553 /*g_object_notify (G_OBJECT(fo_list_block), "body-start");*/
1554 }
1555
1556 /**
1557 * fo_list_block_get_body_start:
1558 * @fo_fo: The #FoFo object
1559 *
1560 * Gets the "body-start" property of @list_block
1561 *
1562 * Return value: The value to use for body_start() functions
1563 **/
1564 FoDatatype*
fo_list_block_get_body_start(FoFo * fo_fo)1565 fo_list_block_get_body_start (FoFo *fo_fo)
1566 {
1567 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1568 gfloat body_start;
1569
1570 g_return_val_if_fail (fo_list_block != NULL, NULL);
1571 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1572
1573 #if defined(LIBFO_DEBUG) && 0
1574 g_message ("get_body_start:: start-indent: %f; start-intrusion-adjustment: %f; pdbs: %f",
1575 fo_area_area_get_start_indent (fo_fo->areas->data),
1576 0.0,
1577 fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_distance_between_starts (fo_fo))));
1578 #endif
1579
1580 body_start =
1581 fo_area_area_get_start_indent (fo_fo->areas->data) -
1582 fo_area_area_get_x (fo_fo->areas->data) +
1583 fo_length_get_value (fo_property_get_value (fo_list_block_get_provisional_distance_between_starts (fo_fo)));
1584
1585 fo_list_block_set_body_start (fo_fo,
1586 fo_length_new_with_value (body_start));
1587
1588 return fo_list_block->body_start;
1589 }
1590
1591 /**
1592 * fo_list_block_update_from_context:
1593 * @fo: The #FoFo object.
1594 * @context: The #FoContext object from which to update the properties of @fo.
1595 *
1596 * Sets the properties of @fo to the corresponding property values in @context.
1597 **/
1598 void
fo_list_block_update_from_context(FoFo * fo,FoContext * context)1599 fo_list_block_update_from_context (FoFo *fo,
1600 FoContext *context)
1601 {
1602 g_return_if_fail (fo != NULL);
1603 g_return_if_fail (FO_IS_LIST_BLOCK (fo));
1604 g_return_if_fail (context != NULL);
1605 g_return_if_fail (FO_IS_CONTEXT (context));
1606
1607 fo_list_block_set_background_color (fo,
1608 fo_context_get_background_color (context));
1609 fo_list_block_set_background_image (fo,
1610 fo_context_get_background_image (context));
1611 fo_list_block_set_border_after_color (fo,
1612 fo_context_get_border_after_color (context));
1613 fo_list_block_set_border_after_style (fo,
1614 fo_context_get_border_after_style (context));
1615 fo_list_block_set_border_after_width (fo,
1616 fo_context_get_border_after_width (context));
1617 fo_list_block_set_border_before_color (fo,
1618 fo_context_get_border_before_color (context));
1619 fo_list_block_set_border_before_style (fo,
1620 fo_context_get_border_before_style (context));
1621 fo_list_block_set_border_before_width (fo,
1622 fo_context_get_border_before_width (context));
1623 fo_list_block_set_border_bottom_color (fo,
1624 fo_context_get_border_bottom_color (context));
1625 fo_list_block_set_border_bottom_style (fo,
1626 fo_context_get_border_bottom_style (context));
1627 fo_list_block_set_border_bottom_width (fo,
1628 fo_context_get_border_bottom_width (context));
1629 fo_list_block_set_border_end_color (fo,
1630 fo_context_get_border_end_color (context));
1631 fo_list_block_set_border_end_style (fo,
1632 fo_context_get_border_end_style (context));
1633 fo_list_block_set_border_end_width (fo,
1634 fo_context_get_border_end_width (context));
1635 fo_list_block_set_border_left_color (fo,
1636 fo_context_get_border_left_color (context));
1637 fo_list_block_set_border_left_style (fo,
1638 fo_context_get_border_left_style (context));
1639 fo_list_block_set_border_left_width (fo,
1640 fo_context_get_border_left_width (context));
1641 fo_list_block_set_border_right_color (fo,
1642 fo_context_get_border_right_color (context));
1643 fo_list_block_set_border_right_style (fo,
1644 fo_context_get_border_right_style (context));
1645 fo_list_block_set_border_right_width (fo,
1646 fo_context_get_border_right_width (context));
1647 fo_list_block_set_border_start_color (fo,
1648 fo_context_get_border_start_color (context));
1649 fo_list_block_set_border_start_style (fo,
1650 fo_context_get_border_start_style (context));
1651 fo_list_block_set_border_start_width (fo,
1652 fo_context_get_border_start_width (context));
1653 fo_list_block_set_border_top_color (fo,
1654 fo_context_get_border_top_color (context));
1655 fo_list_block_set_border_top_style (fo,
1656 fo_context_get_border_top_style (context));
1657 fo_list_block_set_border_top_width (fo,
1658 fo_context_get_border_top_width (context));
1659 fo_list_block_set_break_after (fo,
1660 fo_context_get_break_after (context));
1661 fo_list_block_set_break_before (fo,
1662 fo_context_get_break_before (context));
1663 fo_list_block_set_end_indent (fo,
1664 fo_context_get_end_indent (context));
1665 fo_list_block_set_id (fo,
1666 fo_context_get_id (context));
1667 fo_list_block_set_keep_together (fo,
1668 fo_context_get_keep_together (context));
1669 fo_list_block_set_keep_together_within_column (fo,
1670 fo_context_get_keep_together_within_column (context));
1671 fo_list_block_set_keep_together_within_line (fo,
1672 fo_context_get_keep_together_within_line (context));
1673 fo_list_block_set_keep_together_within_page (fo,
1674 fo_context_get_keep_together_within_page (context));
1675 fo_list_block_set_keep_with_next (fo,
1676 fo_context_get_keep_with_next (context));
1677 fo_list_block_set_keep_with_next_within_column (fo,
1678 fo_context_get_keep_with_next_within_column (context));
1679 fo_list_block_set_keep_with_next_within_line (fo,
1680 fo_context_get_keep_with_next_within_line (context));
1681 fo_list_block_set_keep_with_next_within_page (fo,
1682 fo_context_get_keep_with_next_within_page (context));
1683 fo_list_block_set_keep_with_previous (fo,
1684 fo_context_get_keep_with_previous (context));
1685 fo_list_block_set_keep_with_previous_within_column (fo,
1686 fo_context_get_keep_with_previous_within_column (context));
1687 fo_list_block_set_keep_with_previous_within_line (fo,
1688 fo_context_get_keep_with_previous_within_line (context));
1689 fo_list_block_set_keep_with_previous_within_page (fo,
1690 fo_context_get_keep_with_previous_within_page (context));
1691 fo_list_block_set_margin_bottom (fo,
1692 fo_context_get_margin_bottom (context));
1693 fo_list_block_set_margin_left (fo,
1694 fo_context_get_margin_left (context));
1695 fo_list_block_set_margin_right (fo,
1696 fo_context_get_margin_right (context));
1697 fo_list_block_set_margin_top (fo,
1698 fo_context_get_margin_top (context));
1699 fo_list_block_set_padding_after (fo,
1700 fo_context_get_padding_after (context));
1701 fo_list_block_set_padding_before (fo,
1702 fo_context_get_padding_before (context));
1703 fo_list_block_set_padding_bottom (fo,
1704 fo_context_get_padding_bottom (context));
1705 fo_list_block_set_padding_end (fo,
1706 fo_context_get_padding_end (context));
1707 fo_list_block_set_padding_left (fo,
1708 fo_context_get_padding_left (context));
1709 fo_list_block_set_padding_right (fo,
1710 fo_context_get_padding_right (context));
1711 fo_list_block_set_padding_start (fo,
1712 fo_context_get_padding_start (context));
1713 fo_list_block_set_padding_top (fo,
1714 fo_context_get_padding_top (context));
1715 fo_list_block_set_provisional_distance_between_starts (fo,
1716 fo_context_get_provisional_distance_between_starts (context));
1717 fo_list_block_set_provisional_label_separation (fo,
1718 fo_context_get_provisional_label_separation (context));
1719 fo_list_block_set_role (fo,
1720 fo_context_get_role (context));
1721 fo_list_block_set_source_document (fo,
1722 fo_context_get_source_document (context));
1723 fo_list_block_set_space_after (fo,
1724 fo_context_get_space_after (context));
1725 fo_list_block_set_space_before (fo,
1726 fo_context_get_space_before (context));
1727 fo_list_block_set_start_indent (fo,
1728 fo_context_get_start_indent (context));
1729 }
1730
1731 /**
1732 * fo_list_block_debug_dump_properties:
1733 * @fo: The #FoFo object.
1734 * @depth: Indent level to add to the output.
1735 *
1736 * Calls #fo_object_debug_dump on each property of @fo then calls
1737 * debug_dump_properties method of parent class.
1738 **/
1739 void
fo_list_block_debug_dump_properties(FoFo * fo,gint depth)1740 fo_list_block_debug_dump_properties (FoFo *fo,
1741 gint depth)
1742 {
1743 FoListBlock *fo_list_block;
1744
1745 g_return_if_fail (fo != NULL);
1746 g_return_if_fail (FO_IS_LIST_BLOCK (fo));
1747
1748 fo_list_block = FO_LIST_BLOCK (fo);
1749
1750 fo_object_debug_dump (fo_list_block->background_color, depth);
1751 fo_object_debug_dump (fo_list_block->background_image, depth);
1752 fo_object_debug_dump (fo_list_block->border_after_color, depth);
1753 fo_object_debug_dump (fo_list_block->border_after_style, depth);
1754 fo_object_debug_dump (fo_list_block->border_after_width, depth);
1755 fo_object_debug_dump (fo_list_block->border_before_color, depth);
1756 fo_object_debug_dump (fo_list_block->border_before_style, depth);
1757 fo_object_debug_dump (fo_list_block->border_before_width, depth);
1758 fo_object_debug_dump (fo_list_block->border_bottom_color, depth);
1759 fo_object_debug_dump (fo_list_block->border_bottom_style, depth);
1760 fo_object_debug_dump (fo_list_block->border_bottom_width, depth);
1761 fo_object_debug_dump (fo_list_block->border_end_color, depth);
1762 fo_object_debug_dump (fo_list_block->border_end_style, depth);
1763 fo_object_debug_dump (fo_list_block->border_end_width, depth);
1764 fo_object_debug_dump (fo_list_block->border_left_color, depth);
1765 fo_object_debug_dump (fo_list_block->border_left_style, depth);
1766 fo_object_debug_dump (fo_list_block->border_left_width, depth);
1767 fo_object_debug_dump (fo_list_block->border_right_color, depth);
1768 fo_object_debug_dump (fo_list_block->border_right_style, depth);
1769 fo_object_debug_dump (fo_list_block->border_right_width, depth);
1770 fo_object_debug_dump (fo_list_block->border_start_color, depth);
1771 fo_object_debug_dump (fo_list_block->border_start_style, depth);
1772 fo_object_debug_dump (fo_list_block->border_start_width, depth);
1773 fo_object_debug_dump (fo_list_block->border_top_color, depth);
1774 fo_object_debug_dump (fo_list_block->border_top_style, depth);
1775 fo_object_debug_dump (fo_list_block->border_top_width, depth);
1776 fo_object_debug_dump (fo_list_block->break_after, depth);
1777 fo_object_debug_dump (fo_list_block->break_before, depth);
1778 fo_object_debug_dump (fo_list_block->end_indent, depth);
1779 fo_object_debug_dump (fo_list_block->id, depth);
1780 fo_object_debug_dump (fo_list_block->keep_together, depth);
1781 fo_object_debug_dump (fo_list_block->keep_together_within_column, depth);
1782 fo_object_debug_dump (fo_list_block->keep_together_within_line, depth);
1783 fo_object_debug_dump (fo_list_block->keep_together_within_page, depth);
1784 fo_object_debug_dump (fo_list_block->keep_with_next, depth);
1785 fo_object_debug_dump (fo_list_block->keep_with_next_within_column, depth);
1786 fo_object_debug_dump (fo_list_block->keep_with_next_within_line, depth);
1787 fo_object_debug_dump (fo_list_block->keep_with_next_within_page, depth);
1788 fo_object_debug_dump (fo_list_block->keep_with_previous, depth);
1789 fo_object_debug_dump (fo_list_block->keep_with_previous_within_column, depth);
1790 fo_object_debug_dump (fo_list_block->keep_with_previous_within_line, depth);
1791 fo_object_debug_dump (fo_list_block->keep_with_previous_within_page, depth);
1792 fo_object_debug_dump (fo_list_block->margin_bottom, depth);
1793 fo_object_debug_dump (fo_list_block->margin_left, depth);
1794 fo_object_debug_dump (fo_list_block->margin_right, depth);
1795 fo_object_debug_dump (fo_list_block->margin_top, depth);
1796 fo_object_debug_dump (fo_list_block->padding_after, depth);
1797 fo_object_debug_dump (fo_list_block->padding_before, depth);
1798 fo_object_debug_dump (fo_list_block->padding_bottom, depth);
1799 fo_object_debug_dump (fo_list_block->padding_end, depth);
1800 fo_object_debug_dump (fo_list_block->padding_left, depth);
1801 fo_object_debug_dump (fo_list_block->padding_right, depth);
1802 fo_object_debug_dump (fo_list_block->padding_start, depth);
1803 fo_object_debug_dump (fo_list_block->padding_top, depth);
1804 fo_object_debug_dump (fo_list_block->provisional_distance_between_starts, depth);
1805 fo_object_debug_dump (fo_list_block->provisional_label_separation, depth);
1806 fo_object_debug_dump (fo_list_block->role, depth);
1807 fo_object_debug_dump (fo_list_block->source_document, depth);
1808 fo_object_debug_dump (fo_list_block->space_after, depth);
1809 fo_object_debug_dump (fo_list_block->space_before, depth);
1810 fo_object_debug_dump (fo_list_block->start_indent, depth);
1811
1812 FO_FO_CLASS (parent_class)->debug_dump_properties (fo, depth + 1);
1813 }
1814
1815 /**
1816 * fo_list_block_get_background_color:
1817 * @fo_fo: The @FoFo object.
1818 *
1819 * Gets the "background-color" property of @fo_fo.
1820 *
1821 * Return value: The "background-color" property value.
1822 **/
1823 FoProperty *
fo_list_block_get_background_color(FoFo * fo_fo)1824 fo_list_block_get_background_color (FoFo *fo_fo)
1825 {
1826 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1827
1828 g_return_val_if_fail (fo_list_block != NULL, NULL);
1829 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1830
1831 return fo_list_block->background_color;
1832 }
1833
1834 /**
1835 * fo_list_block_set_background_color:
1836 * @fo_fo: The #FoFo object.
1837 * @new_background_color: The new "background-color" property value.
1838 *
1839 * Sets the "background-color" property of @fo_fo to @new_background_color.
1840 **/
1841 void
fo_list_block_set_background_color(FoFo * fo_fo,FoProperty * new_background_color)1842 fo_list_block_set_background_color (FoFo *fo_fo,
1843 FoProperty *new_background_color)
1844 {
1845 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1846
1847 g_return_if_fail (fo_list_block != NULL);
1848 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
1849 g_return_if_fail ((new_background_color == NULL) ||
1850 FO_IS_PROPERTY_BACKGROUND_COLOR (new_background_color));
1851
1852 if (new_background_color != NULL)
1853 {
1854 g_object_ref (new_background_color);
1855 }
1856 if (fo_list_block->background_color != NULL)
1857 {
1858 g_object_unref (fo_list_block->background_color);
1859 }
1860 fo_list_block->background_color = new_background_color;
1861 /*g_object_notify (G_OBJECT (fo_list_block), "background-color");*/
1862 }
1863
1864 /**
1865 * fo_list_block_get_background_image:
1866 * @fo_fo: The @FoFo object.
1867 *
1868 * Gets the "background-image" property of @fo_fo.
1869 *
1870 * Return value: The "background-image" property value.
1871 **/
1872 FoProperty *
fo_list_block_get_background_image(FoFo * fo_fo)1873 fo_list_block_get_background_image (FoFo *fo_fo)
1874 {
1875 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1876
1877 g_return_val_if_fail (fo_list_block != NULL, NULL);
1878 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1879
1880 return fo_list_block->background_image;
1881 }
1882
1883 /**
1884 * fo_list_block_set_background_image:
1885 * @fo_fo: The #FoFo object.
1886 * @new_background_image: The new "background-image" property value.
1887 *
1888 * Sets the "background-image" property of @fo_fo to @new_background_image.
1889 **/
1890 void
fo_list_block_set_background_image(FoFo * fo_fo,FoProperty * new_background_image)1891 fo_list_block_set_background_image (FoFo *fo_fo,
1892 FoProperty *new_background_image)
1893 {
1894 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1895
1896 g_return_if_fail (fo_list_block != NULL);
1897 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
1898 g_return_if_fail ((new_background_image == NULL) ||
1899 FO_IS_PROPERTY_BACKGROUND_IMAGE (new_background_image));
1900
1901 if (new_background_image != NULL)
1902 {
1903 g_object_ref (new_background_image);
1904 }
1905 if (fo_list_block->background_image != NULL)
1906 {
1907 g_object_unref (fo_list_block->background_image);
1908 }
1909 fo_list_block->background_image = new_background_image;
1910 /*g_object_notify (G_OBJECT (fo_list_block), "background-image");*/
1911 }
1912
1913 /**
1914 * fo_list_block_get_border_after_color:
1915 * @fo_fo: The @FoFo object.
1916 *
1917 * Gets the "border-after-color" property of @fo_fo.
1918 *
1919 * Return value: The "border-after-color" property value.
1920 **/
1921 FoProperty *
fo_list_block_get_border_after_color(FoFo * fo_fo)1922 fo_list_block_get_border_after_color (FoFo *fo_fo)
1923 {
1924 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1925
1926 g_return_val_if_fail (fo_list_block != NULL, NULL);
1927 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1928
1929 return fo_list_block->border_after_color;
1930 }
1931
1932 /**
1933 * fo_list_block_set_border_after_color:
1934 * @fo_fo: The #FoFo object.
1935 * @new_border_after_color: The new "border-after-color" property value.
1936 *
1937 * Sets the "border-after-color" property of @fo_fo to @new_border_after_color.
1938 **/
1939 void
fo_list_block_set_border_after_color(FoFo * fo_fo,FoProperty * new_border_after_color)1940 fo_list_block_set_border_after_color (FoFo *fo_fo,
1941 FoProperty *new_border_after_color)
1942 {
1943 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1944
1945 g_return_if_fail (fo_list_block != NULL);
1946 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
1947 g_return_if_fail ((new_border_after_color == NULL) ||
1948 FO_IS_PROPERTY_BORDER_AFTER_COLOR (new_border_after_color));
1949
1950 if (new_border_after_color != NULL)
1951 {
1952 g_object_ref (new_border_after_color);
1953 }
1954 if (fo_list_block->border_after_color != NULL)
1955 {
1956 g_object_unref (fo_list_block->border_after_color);
1957 }
1958 fo_list_block->border_after_color = new_border_after_color;
1959 /*g_object_notify (G_OBJECT (fo_list_block), "border-after-color");*/
1960 }
1961
1962 /**
1963 * fo_list_block_get_border_after_style:
1964 * @fo_fo: The @FoFo object.
1965 *
1966 * Gets the "border-after-style" property of @fo_fo.
1967 *
1968 * Return value: The "border-after-style" property value.
1969 **/
1970 FoProperty *
fo_list_block_get_border_after_style(FoFo * fo_fo)1971 fo_list_block_get_border_after_style (FoFo *fo_fo)
1972 {
1973 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1974
1975 g_return_val_if_fail (fo_list_block != NULL, NULL);
1976 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
1977
1978 return fo_list_block->border_after_style;
1979 }
1980
1981 /**
1982 * fo_list_block_set_border_after_style:
1983 * @fo_fo: The #FoFo object.
1984 * @new_border_after_style: The new "border-after-style" property value.
1985 *
1986 * Sets the "border-after-style" property of @fo_fo to @new_border_after_style.
1987 **/
1988 void
fo_list_block_set_border_after_style(FoFo * fo_fo,FoProperty * new_border_after_style)1989 fo_list_block_set_border_after_style (FoFo *fo_fo,
1990 FoProperty *new_border_after_style)
1991 {
1992 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
1993
1994 g_return_if_fail (fo_list_block != NULL);
1995 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
1996 g_return_if_fail ((new_border_after_style == NULL) ||
1997 FO_IS_PROPERTY_BORDER_AFTER_STYLE (new_border_after_style));
1998
1999 if (new_border_after_style != NULL)
2000 {
2001 g_object_ref (new_border_after_style);
2002 }
2003 if (fo_list_block->border_after_style != NULL)
2004 {
2005 g_object_unref (fo_list_block->border_after_style);
2006 }
2007 fo_list_block->border_after_style = new_border_after_style;
2008 /*g_object_notify (G_OBJECT (fo_list_block), "border-after-style");*/
2009 }
2010
2011 /**
2012 * fo_list_block_get_border_after_width:
2013 * @fo_fo: The @FoFo object.
2014 *
2015 * Gets the "border-after-width" property of @fo_fo.
2016 *
2017 * Return value: The "border-after-width" property value.
2018 **/
2019 FoProperty *
fo_list_block_get_border_after_width(FoFo * fo_fo)2020 fo_list_block_get_border_after_width (FoFo *fo_fo)
2021 {
2022 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2023
2024 g_return_val_if_fail (fo_list_block != NULL, NULL);
2025 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2026
2027 return fo_list_block->border_after_width;
2028 }
2029
2030 /**
2031 * fo_list_block_set_border_after_width:
2032 * @fo_fo: The #FoFo object.
2033 * @new_border_after_width: The new "border-after-width" property value.
2034 *
2035 * Sets the "border-after-width" property of @fo_fo to @new_border_after_width.
2036 **/
2037 void
fo_list_block_set_border_after_width(FoFo * fo_fo,FoProperty * new_border_after_width)2038 fo_list_block_set_border_after_width (FoFo *fo_fo,
2039 FoProperty *new_border_after_width)
2040 {
2041 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2042
2043 g_return_if_fail (fo_list_block != NULL);
2044 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2045 g_return_if_fail ((new_border_after_width == NULL) ||
2046 FO_IS_PROPERTY_BORDER_AFTER_WIDTH (new_border_after_width));
2047
2048 if (new_border_after_width != NULL)
2049 {
2050 g_object_ref (new_border_after_width);
2051 }
2052 if (fo_list_block->border_after_width != NULL)
2053 {
2054 g_object_unref (fo_list_block->border_after_width);
2055 }
2056 fo_list_block->border_after_width = new_border_after_width;
2057 /*g_object_notify (G_OBJECT (fo_list_block), "border-after-width");*/
2058 }
2059
2060 /**
2061 * fo_list_block_get_border_before_color:
2062 * @fo_fo: The @FoFo object.
2063 *
2064 * Gets the "border-before-color" property of @fo_fo.
2065 *
2066 * Return value: The "border-before-color" property value.
2067 **/
2068 FoProperty *
fo_list_block_get_border_before_color(FoFo * fo_fo)2069 fo_list_block_get_border_before_color (FoFo *fo_fo)
2070 {
2071 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2072
2073 g_return_val_if_fail (fo_list_block != NULL, NULL);
2074 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2075
2076 return fo_list_block->border_before_color;
2077 }
2078
2079 /**
2080 * fo_list_block_set_border_before_color:
2081 * @fo_fo: The #FoFo object.
2082 * @new_border_before_color: The new "border-before-color" property value.
2083 *
2084 * Sets the "border-before-color" property of @fo_fo to @new_border_before_color.
2085 **/
2086 void
fo_list_block_set_border_before_color(FoFo * fo_fo,FoProperty * new_border_before_color)2087 fo_list_block_set_border_before_color (FoFo *fo_fo,
2088 FoProperty *new_border_before_color)
2089 {
2090 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2091
2092 g_return_if_fail (fo_list_block != NULL);
2093 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2094 g_return_if_fail ((new_border_before_color == NULL) ||
2095 FO_IS_PROPERTY_BORDER_BEFORE_COLOR (new_border_before_color));
2096
2097 if (new_border_before_color != NULL)
2098 {
2099 g_object_ref (new_border_before_color);
2100 }
2101 if (fo_list_block->border_before_color != NULL)
2102 {
2103 g_object_unref (fo_list_block->border_before_color);
2104 }
2105 fo_list_block->border_before_color = new_border_before_color;
2106 /*g_object_notify (G_OBJECT (fo_list_block), "border-before-color");*/
2107 }
2108
2109 /**
2110 * fo_list_block_get_border_before_style:
2111 * @fo_fo: The @FoFo object.
2112 *
2113 * Gets the "border-before-style" property of @fo_fo.
2114 *
2115 * Return value: The "border-before-style" property value.
2116 **/
2117 FoProperty *
fo_list_block_get_border_before_style(FoFo * fo_fo)2118 fo_list_block_get_border_before_style (FoFo *fo_fo)
2119 {
2120 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2121
2122 g_return_val_if_fail (fo_list_block != NULL, NULL);
2123 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2124
2125 return fo_list_block->border_before_style;
2126 }
2127
2128 /**
2129 * fo_list_block_set_border_before_style:
2130 * @fo_fo: The #FoFo object.
2131 * @new_border_before_style: The new "border-before-style" property value.
2132 *
2133 * Sets the "border-before-style" property of @fo_fo to @new_border_before_style.
2134 **/
2135 void
fo_list_block_set_border_before_style(FoFo * fo_fo,FoProperty * new_border_before_style)2136 fo_list_block_set_border_before_style (FoFo *fo_fo,
2137 FoProperty *new_border_before_style)
2138 {
2139 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2140
2141 g_return_if_fail (fo_list_block != NULL);
2142 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2143 g_return_if_fail ((new_border_before_style == NULL) ||
2144 FO_IS_PROPERTY_BORDER_BEFORE_STYLE (new_border_before_style));
2145
2146 if (new_border_before_style != NULL)
2147 {
2148 g_object_ref (new_border_before_style);
2149 }
2150 if (fo_list_block->border_before_style != NULL)
2151 {
2152 g_object_unref (fo_list_block->border_before_style);
2153 }
2154 fo_list_block->border_before_style = new_border_before_style;
2155 /*g_object_notify (G_OBJECT (fo_list_block), "border-before-style");*/
2156 }
2157
2158 /**
2159 * fo_list_block_get_border_before_width:
2160 * @fo_fo: The @FoFo object.
2161 *
2162 * Gets the "border-before-width" property of @fo_fo.
2163 *
2164 * Return value: The "border-before-width" property value.
2165 **/
2166 FoProperty *
fo_list_block_get_border_before_width(FoFo * fo_fo)2167 fo_list_block_get_border_before_width (FoFo *fo_fo)
2168 {
2169 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2170
2171 g_return_val_if_fail (fo_list_block != NULL, NULL);
2172 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2173
2174 return fo_list_block->border_before_width;
2175 }
2176
2177 /**
2178 * fo_list_block_set_border_before_width:
2179 * @fo_fo: The #FoFo object.
2180 * @new_border_before_width: The new "border-before-width" property value.
2181 *
2182 * Sets the "border-before-width" property of @fo_fo to @new_border_before_width.
2183 **/
2184 void
fo_list_block_set_border_before_width(FoFo * fo_fo,FoProperty * new_border_before_width)2185 fo_list_block_set_border_before_width (FoFo *fo_fo,
2186 FoProperty *new_border_before_width)
2187 {
2188 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2189
2190 g_return_if_fail (fo_list_block != NULL);
2191 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2192 g_return_if_fail ((new_border_before_width == NULL) ||
2193 FO_IS_PROPERTY_BORDER_BEFORE_WIDTH (new_border_before_width));
2194
2195 if (new_border_before_width != NULL)
2196 {
2197 g_object_ref (new_border_before_width);
2198 }
2199 if (fo_list_block->border_before_width != NULL)
2200 {
2201 g_object_unref (fo_list_block->border_before_width);
2202 }
2203 fo_list_block->border_before_width = new_border_before_width;
2204 /*g_object_notify (G_OBJECT (fo_list_block), "border-before-width");*/
2205 }
2206
2207 /**
2208 * fo_list_block_get_border_bottom_color:
2209 * @fo_fo: The @FoFo object.
2210 *
2211 * Gets the "border-bottom-color" property of @fo_fo.
2212 *
2213 * Return value: The "border-bottom-color" property value.
2214 **/
2215 FoProperty *
fo_list_block_get_border_bottom_color(FoFo * fo_fo)2216 fo_list_block_get_border_bottom_color (FoFo *fo_fo)
2217 {
2218 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2219
2220 g_return_val_if_fail (fo_list_block != NULL, NULL);
2221 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2222
2223 return fo_list_block->border_bottom_color;
2224 }
2225
2226 /**
2227 * fo_list_block_set_border_bottom_color:
2228 * @fo_fo: The #FoFo object.
2229 * @new_border_bottom_color: The new "border-bottom-color" property value.
2230 *
2231 * Sets the "border-bottom-color" property of @fo_fo to @new_border_bottom_color.
2232 **/
2233 void
fo_list_block_set_border_bottom_color(FoFo * fo_fo,FoProperty * new_border_bottom_color)2234 fo_list_block_set_border_bottom_color (FoFo *fo_fo,
2235 FoProperty *new_border_bottom_color)
2236 {
2237 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2238
2239 g_return_if_fail (fo_list_block != NULL);
2240 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2241 g_return_if_fail ((new_border_bottom_color == NULL) ||
2242 FO_IS_PROPERTY_BORDER_BOTTOM_COLOR (new_border_bottom_color));
2243
2244 if (new_border_bottom_color != NULL)
2245 {
2246 g_object_ref (new_border_bottom_color);
2247 }
2248 if (fo_list_block->border_bottom_color != NULL)
2249 {
2250 g_object_unref (fo_list_block->border_bottom_color);
2251 }
2252 fo_list_block->border_bottom_color = new_border_bottom_color;
2253 /*g_object_notify (G_OBJECT (fo_list_block), "border-bottom-color");*/
2254 }
2255
2256 /**
2257 * fo_list_block_get_border_bottom_style:
2258 * @fo_fo: The @FoFo object.
2259 *
2260 * Gets the "border-bottom-style" property of @fo_fo.
2261 *
2262 * Return value: The "border-bottom-style" property value.
2263 **/
2264 FoProperty *
fo_list_block_get_border_bottom_style(FoFo * fo_fo)2265 fo_list_block_get_border_bottom_style (FoFo *fo_fo)
2266 {
2267 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2268
2269 g_return_val_if_fail (fo_list_block != NULL, NULL);
2270 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2271
2272 return fo_list_block->border_bottom_style;
2273 }
2274
2275 /**
2276 * fo_list_block_set_border_bottom_style:
2277 * @fo_fo: The #FoFo object.
2278 * @new_border_bottom_style: The new "border-bottom-style" property value.
2279 *
2280 * Sets the "border-bottom-style" property of @fo_fo to @new_border_bottom_style.
2281 **/
2282 void
fo_list_block_set_border_bottom_style(FoFo * fo_fo,FoProperty * new_border_bottom_style)2283 fo_list_block_set_border_bottom_style (FoFo *fo_fo,
2284 FoProperty *new_border_bottom_style)
2285 {
2286 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2287
2288 g_return_if_fail (fo_list_block != NULL);
2289 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2290 g_return_if_fail ((new_border_bottom_style == NULL) ||
2291 FO_IS_PROPERTY_BORDER_BOTTOM_STYLE (new_border_bottom_style));
2292
2293 if (new_border_bottom_style != NULL)
2294 {
2295 g_object_ref (new_border_bottom_style);
2296 }
2297 if (fo_list_block->border_bottom_style != NULL)
2298 {
2299 g_object_unref (fo_list_block->border_bottom_style);
2300 }
2301 fo_list_block->border_bottom_style = new_border_bottom_style;
2302 /*g_object_notify (G_OBJECT (fo_list_block), "border-bottom-style");*/
2303 }
2304
2305 /**
2306 * fo_list_block_get_border_bottom_width:
2307 * @fo_fo: The @FoFo object.
2308 *
2309 * Gets the "border-bottom-width" property of @fo_fo.
2310 *
2311 * Return value: The "border-bottom-width" property value.
2312 **/
2313 FoProperty *
fo_list_block_get_border_bottom_width(FoFo * fo_fo)2314 fo_list_block_get_border_bottom_width (FoFo *fo_fo)
2315 {
2316 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2317
2318 g_return_val_if_fail (fo_list_block != NULL, NULL);
2319 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2320
2321 return fo_list_block->border_bottom_width;
2322 }
2323
2324 /**
2325 * fo_list_block_set_border_bottom_width:
2326 * @fo_fo: The #FoFo object.
2327 * @new_border_bottom_width: The new "border-bottom-width" property value.
2328 *
2329 * Sets the "border-bottom-width" property of @fo_fo to @new_border_bottom_width.
2330 **/
2331 void
fo_list_block_set_border_bottom_width(FoFo * fo_fo,FoProperty * new_border_bottom_width)2332 fo_list_block_set_border_bottom_width (FoFo *fo_fo,
2333 FoProperty *new_border_bottom_width)
2334 {
2335 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2336
2337 g_return_if_fail (fo_list_block != NULL);
2338 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2339 g_return_if_fail ((new_border_bottom_width == NULL) ||
2340 FO_IS_PROPERTY_BORDER_BOTTOM_WIDTH (new_border_bottom_width));
2341
2342 if (new_border_bottom_width != NULL)
2343 {
2344 g_object_ref (new_border_bottom_width);
2345 }
2346 if (fo_list_block->border_bottom_width != NULL)
2347 {
2348 g_object_unref (fo_list_block->border_bottom_width);
2349 }
2350 fo_list_block->border_bottom_width = new_border_bottom_width;
2351 /*g_object_notify (G_OBJECT (fo_list_block), "border-bottom-width");*/
2352 }
2353
2354 /**
2355 * fo_list_block_get_border_end_color:
2356 * @fo_fo: The @FoFo object.
2357 *
2358 * Gets the "border-end-color" property of @fo_fo.
2359 *
2360 * Return value: The "border-end-color" property value.
2361 **/
2362 FoProperty *
fo_list_block_get_border_end_color(FoFo * fo_fo)2363 fo_list_block_get_border_end_color (FoFo *fo_fo)
2364 {
2365 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2366
2367 g_return_val_if_fail (fo_list_block != NULL, NULL);
2368 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2369
2370 return fo_list_block->border_end_color;
2371 }
2372
2373 /**
2374 * fo_list_block_set_border_end_color:
2375 * @fo_fo: The #FoFo object.
2376 * @new_border_end_color: The new "border-end-color" property value.
2377 *
2378 * Sets the "border-end-color" property of @fo_fo to @new_border_end_color.
2379 **/
2380 void
fo_list_block_set_border_end_color(FoFo * fo_fo,FoProperty * new_border_end_color)2381 fo_list_block_set_border_end_color (FoFo *fo_fo,
2382 FoProperty *new_border_end_color)
2383 {
2384 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2385
2386 g_return_if_fail (fo_list_block != NULL);
2387 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2388 g_return_if_fail ((new_border_end_color == NULL) ||
2389 FO_IS_PROPERTY_BORDER_END_COLOR (new_border_end_color));
2390
2391 if (new_border_end_color != NULL)
2392 {
2393 g_object_ref (new_border_end_color);
2394 }
2395 if (fo_list_block->border_end_color != NULL)
2396 {
2397 g_object_unref (fo_list_block->border_end_color);
2398 }
2399 fo_list_block->border_end_color = new_border_end_color;
2400 /*g_object_notify (G_OBJECT (fo_list_block), "border-end-color");*/
2401 }
2402
2403 /**
2404 * fo_list_block_get_border_end_style:
2405 * @fo_fo: The @FoFo object.
2406 *
2407 * Gets the "border-end-style" property of @fo_fo.
2408 *
2409 * Return value: The "border-end-style" property value.
2410 **/
2411 FoProperty *
fo_list_block_get_border_end_style(FoFo * fo_fo)2412 fo_list_block_get_border_end_style (FoFo *fo_fo)
2413 {
2414 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2415
2416 g_return_val_if_fail (fo_list_block != NULL, NULL);
2417 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2418
2419 return fo_list_block->border_end_style;
2420 }
2421
2422 /**
2423 * fo_list_block_set_border_end_style:
2424 * @fo_fo: The #FoFo object.
2425 * @new_border_end_style: The new "border-end-style" property value.
2426 *
2427 * Sets the "border-end-style" property of @fo_fo to @new_border_end_style.
2428 **/
2429 void
fo_list_block_set_border_end_style(FoFo * fo_fo,FoProperty * new_border_end_style)2430 fo_list_block_set_border_end_style (FoFo *fo_fo,
2431 FoProperty *new_border_end_style)
2432 {
2433 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2434
2435 g_return_if_fail (fo_list_block != NULL);
2436 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2437 g_return_if_fail ((new_border_end_style == NULL) ||
2438 FO_IS_PROPERTY_BORDER_END_STYLE (new_border_end_style));
2439
2440 if (new_border_end_style != NULL)
2441 {
2442 g_object_ref (new_border_end_style);
2443 }
2444 if (fo_list_block->border_end_style != NULL)
2445 {
2446 g_object_unref (fo_list_block->border_end_style);
2447 }
2448 fo_list_block->border_end_style = new_border_end_style;
2449 /*g_object_notify (G_OBJECT (fo_list_block), "border-end-style");*/
2450 }
2451
2452 /**
2453 * fo_list_block_get_border_end_width:
2454 * @fo_fo: The @FoFo object.
2455 *
2456 * Gets the "border-end-width" property of @fo_fo.
2457 *
2458 * Return value: The "border-end-width" property value.
2459 **/
2460 FoProperty *
fo_list_block_get_border_end_width(FoFo * fo_fo)2461 fo_list_block_get_border_end_width (FoFo *fo_fo)
2462 {
2463 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2464
2465 g_return_val_if_fail (fo_list_block != NULL, NULL);
2466 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2467
2468 return fo_list_block->border_end_width;
2469 }
2470
2471 /**
2472 * fo_list_block_set_border_end_width:
2473 * @fo_fo: The #FoFo object.
2474 * @new_border_end_width: The new "border-end-width" property value.
2475 *
2476 * Sets the "border-end-width" property of @fo_fo to @new_border_end_width.
2477 **/
2478 void
fo_list_block_set_border_end_width(FoFo * fo_fo,FoProperty * new_border_end_width)2479 fo_list_block_set_border_end_width (FoFo *fo_fo,
2480 FoProperty *new_border_end_width)
2481 {
2482 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2483
2484 g_return_if_fail (fo_list_block != NULL);
2485 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2486 g_return_if_fail ((new_border_end_width == NULL) ||
2487 FO_IS_PROPERTY_BORDER_END_WIDTH (new_border_end_width));
2488
2489 if (new_border_end_width != NULL)
2490 {
2491 g_object_ref (new_border_end_width);
2492 }
2493 if (fo_list_block->border_end_width != NULL)
2494 {
2495 g_object_unref (fo_list_block->border_end_width);
2496 }
2497 fo_list_block->border_end_width = new_border_end_width;
2498 /*g_object_notify (G_OBJECT (fo_list_block), "border-end-width");*/
2499 }
2500
2501 /**
2502 * fo_list_block_get_border_left_color:
2503 * @fo_fo: The @FoFo object.
2504 *
2505 * Gets the "border-left-color" property of @fo_fo.
2506 *
2507 * Return value: The "border-left-color" property value.
2508 **/
2509 FoProperty *
fo_list_block_get_border_left_color(FoFo * fo_fo)2510 fo_list_block_get_border_left_color (FoFo *fo_fo)
2511 {
2512 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2513
2514 g_return_val_if_fail (fo_list_block != NULL, NULL);
2515 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2516
2517 return fo_list_block->border_left_color;
2518 }
2519
2520 /**
2521 * fo_list_block_set_border_left_color:
2522 * @fo_fo: The #FoFo object.
2523 * @new_border_left_color: The new "border-left-color" property value.
2524 *
2525 * Sets the "border-left-color" property of @fo_fo to @new_border_left_color.
2526 **/
2527 void
fo_list_block_set_border_left_color(FoFo * fo_fo,FoProperty * new_border_left_color)2528 fo_list_block_set_border_left_color (FoFo *fo_fo,
2529 FoProperty *new_border_left_color)
2530 {
2531 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2532
2533 g_return_if_fail (fo_list_block != NULL);
2534 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2535 g_return_if_fail ((new_border_left_color == NULL) ||
2536 FO_IS_PROPERTY_BORDER_LEFT_COLOR (new_border_left_color));
2537
2538 if (new_border_left_color != NULL)
2539 {
2540 g_object_ref (new_border_left_color);
2541 }
2542 if (fo_list_block->border_left_color != NULL)
2543 {
2544 g_object_unref (fo_list_block->border_left_color);
2545 }
2546 fo_list_block->border_left_color = new_border_left_color;
2547 /*g_object_notify (G_OBJECT (fo_list_block), "border-left-color");*/
2548 }
2549
2550 /**
2551 * fo_list_block_get_border_left_style:
2552 * @fo_fo: The @FoFo object.
2553 *
2554 * Gets the "border-left-style" property of @fo_fo.
2555 *
2556 * Return value: The "border-left-style" property value.
2557 **/
2558 FoProperty *
fo_list_block_get_border_left_style(FoFo * fo_fo)2559 fo_list_block_get_border_left_style (FoFo *fo_fo)
2560 {
2561 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2562
2563 g_return_val_if_fail (fo_list_block != NULL, NULL);
2564 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2565
2566 return fo_list_block->border_left_style;
2567 }
2568
2569 /**
2570 * fo_list_block_set_border_left_style:
2571 * @fo_fo: The #FoFo object.
2572 * @new_border_left_style: The new "border-left-style" property value.
2573 *
2574 * Sets the "border-left-style" property of @fo_fo to @new_border_left_style.
2575 **/
2576 void
fo_list_block_set_border_left_style(FoFo * fo_fo,FoProperty * new_border_left_style)2577 fo_list_block_set_border_left_style (FoFo *fo_fo,
2578 FoProperty *new_border_left_style)
2579 {
2580 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2581
2582 g_return_if_fail (fo_list_block != NULL);
2583 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2584 g_return_if_fail ((new_border_left_style == NULL) ||
2585 FO_IS_PROPERTY_BORDER_LEFT_STYLE (new_border_left_style));
2586
2587 if (new_border_left_style != NULL)
2588 {
2589 g_object_ref (new_border_left_style);
2590 }
2591 if (fo_list_block->border_left_style != NULL)
2592 {
2593 g_object_unref (fo_list_block->border_left_style);
2594 }
2595 fo_list_block->border_left_style = new_border_left_style;
2596 /*g_object_notify (G_OBJECT (fo_list_block), "border-left-style");*/
2597 }
2598
2599 /**
2600 * fo_list_block_get_border_left_width:
2601 * @fo_fo: The @FoFo object.
2602 *
2603 * Gets the "border-left-width" property of @fo_fo.
2604 *
2605 * Return value: The "border-left-width" property value.
2606 **/
2607 FoProperty *
fo_list_block_get_border_left_width(FoFo * fo_fo)2608 fo_list_block_get_border_left_width (FoFo *fo_fo)
2609 {
2610 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2611
2612 g_return_val_if_fail (fo_list_block != NULL, NULL);
2613 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2614
2615 return fo_list_block->border_left_width;
2616 }
2617
2618 /**
2619 * fo_list_block_set_border_left_width:
2620 * @fo_fo: The #FoFo object.
2621 * @new_border_left_width: The new "border-left-width" property value.
2622 *
2623 * Sets the "border-left-width" property of @fo_fo to @new_border_left_width.
2624 **/
2625 void
fo_list_block_set_border_left_width(FoFo * fo_fo,FoProperty * new_border_left_width)2626 fo_list_block_set_border_left_width (FoFo *fo_fo,
2627 FoProperty *new_border_left_width)
2628 {
2629 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2630
2631 g_return_if_fail (fo_list_block != NULL);
2632 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2633 g_return_if_fail ((new_border_left_width == NULL) ||
2634 FO_IS_PROPERTY_BORDER_LEFT_WIDTH (new_border_left_width));
2635
2636 if (new_border_left_width != NULL)
2637 {
2638 g_object_ref (new_border_left_width);
2639 }
2640 if (fo_list_block->border_left_width != NULL)
2641 {
2642 g_object_unref (fo_list_block->border_left_width);
2643 }
2644 fo_list_block->border_left_width = new_border_left_width;
2645 /*g_object_notify (G_OBJECT (fo_list_block), "border-left-width");*/
2646 }
2647
2648 /**
2649 * fo_list_block_get_border_right_color:
2650 * @fo_fo: The @FoFo object.
2651 *
2652 * Gets the "border-right-color" property of @fo_fo.
2653 *
2654 * Return value: The "border-right-color" property value.
2655 **/
2656 FoProperty *
fo_list_block_get_border_right_color(FoFo * fo_fo)2657 fo_list_block_get_border_right_color (FoFo *fo_fo)
2658 {
2659 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2660
2661 g_return_val_if_fail (fo_list_block != NULL, NULL);
2662 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2663
2664 return fo_list_block->border_right_color;
2665 }
2666
2667 /**
2668 * fo_list_block_set_border_right_color:
2669 * @fo_fo: The #FoFo object.
2670 * @new_border_right_color: The new "border-right-color" property value.
2671 *
2672 * Sets the "border-right-color" property of @fo_fo to @new_border_right_color.
2673 **/
2674 void
fo_list_block_set_border_right_color(FoFo * fo_fo,FoProperty * new_border_right_color)2675 fo_list_block_set_border_right_color (FoFo *fo_fo,
2676 FoProperty *new_border_right_color)
2677 {
2678 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2679
2680 g_return_if_fail (fo_list_block != NULL);
2681 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2682 g_return_if_fail ((new_border_right_color == NULL) ||
2683 FO_IS_PROPERTY_BORDER_RIGHT_COLOR (new_border_right_color));
2684
2685 if (new_border_right_color != NULL)
2686 {
2687 g_object_ref (new_border_right_color);
2688 }
2689 if (fo_list_block->border_right_color != NULL)
2690 {
2691 g_object_unref (fo_list_block->border_right_color);
2692 }
2693 fo_list_block->border_right_color = new_border_right_color;
2694 /*g_object_notify (G_OBJECT (fo_list_block), "border-right-color");*/
2695 }
2696
2697 /**
2698 * fo_list_block_get_border_right_style:
2699 * @fo_fo: The @FoFo object.
2700 *
2701 * Gets the "border-right-style" property of @fo_fo.
2702 *
2703 * Return value: The "border-right-style" property value.
2704 **/
2705 FoProperty *
fo_list_block_get_border_right_style(FoFo * fo_fo)2706 fo_list_block_get_border_right_style (FoFo *fo_fo)
2707 {
2708 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2709
2710 g_return_val_if_fail (fo_list_block != NULL, NULL);
2711 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2712
2713 return fo_list_block->border_right_style;
2714 }
2715
2716 /**
2717 * fo_list_block_set_border_right_style:
2718 * @fo_fo: The #FoFo object.
2719 * @new_border_right_style: The new "border-right-style" property value.
2720 *
2721 * Sets the "border-right-style" property of @fo_fo to @new_border_right_style.
2722 **/
2723 void
fo_list_block_set_border_right_style(FoFo * fo_fo,FoProperty * new_border_right_style)2724 fo_list_block_set_border_right_style (FoFo *fo_fo,
2725 FoProperty *new_border_right_style)
2726 {
2727 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2728
2729 g_return_if_fail (fo_list_block != NULL);
2730 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2731 g_return_if_fail ((new_border_right_style == NULL) ||
2732 FO_IS_PROPERTY_BORDER_RIGHT_STYLE (new_border_right_style));
2733
2734 if (new_border_right_style != NULL)
2735 {
2736 g_object_ref (new_border_right_style);
2737 }
2738 if (fo_list_block->border_right_style != NULL)
2739 {
2740 g_object_unref (fo_list_block->border_right_style);
2741 }
2742 fo_list_block->border_right_style = new_border_right_style;
2743 /*g_object_notify (G_OBJECT (fo_list_block), "border-right-style");*/
2744 }
2745
2746 /**
2747 * fo_list_block_get_border_right_width:
2748 * @fo_fo: The @FoFo object.
2749 *
2750 * Gets the "border-right-width" property of @fo_fo.
2751 *
2752 * Return value: The "border-right-width" property value.
2753 **/
2754 FoProperty *
fo_list_block_get_border_right_width(FoFo * fo_fo)2755 fo_list_block_get_border_right_width (FoFo *fo_fo)
2756 {
2757 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2758
2759 g_return_val_if_fail (fo_list_block != NULL, NULL);
2760 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2761
2762 return fo_list_block->border_right_width;
2763 }
2764
2765 /**
2766 * fo_list_block_set_border_right_width:
2767 * @fo_fo: The #FoFo object.
2768 * @new_border_right_width: The new "border-right-width" property value.
2769 *
2770 * Sets the "border-right-width" property of @fo_fo to @new_border_right_width.
2771 **/
2772 void
fo_list_block_set_border_right_width(FoFo * fo_fo,FoProperty * new_border_right_width)2773 fo_list_block_set_border_right_width (FoFo *fo_fo,
2774 FoProperty *new_border_right_width)
2775 {
2776 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2777
2778 g_return_if_fail (fo_list_block != NULL);
2779 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2780 g_return_if_fail ((new_border_right_width == NULL) ||
2781 FO_IS_PROPERTY_BORDER_RIGHT_WIDTH (new_border_right_width));
2782
2783 if (new_border_right_width != NULL)
2784 {
2785 g_object_ref (new_border_right_width);
2786 }
2787 if (fo_list_block->border_right_width != NULL)
2788 {
2789 g_object_unref (fo_list_block->border_right_width);
2790 }
2791 fo_list_block->border_right_width = new_border_right_width;
2792 /*g_object_notify (G_OBJECT (fo_list_block), "border-right-width");*/
2793 }
2794
2795 /**
2796 * fo_list_block_get_border_start_color:
2797 * @fo_fo: The @FoFo object.
2798 *
2799 * Gets the "border-start-color" property of @fo_fo.
2800 *
2801 * Return value: The "border-start-color" property value.
2802 **/
2803 FoProperty *
fo_list_block_get_border_start_color(FoFo * fo_fo)2804 fo_list_block_get_border_start_color (FoFo *fo_fo)
2805 {
2806 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2807
2808 g_return_val_if_fail (fo_list_block != NULL, NULL);
2809 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2810
2811 return fo_list_block->border_start_color;
2812 }
2813
2814 /**
2815 * fo_list_block_set_border_start_color:
2816 * @fo_fo: The #FoFo object.
2817 * @new_border_start_color: The new "border-start-color" property value.
2818 *
2819 * Sets the "border-start-color" property of @fo_fo to @new_border_start_color.
2820 **/
2821 void
fo_list_block_set_border_start_color(FoFo * fo_fo,FoProperty * new_border_start_color)2822 fo_list_block_set_border_start_color (FoFo *fo_fo,
2823 FoProperty *new_border_start_color)
2824 {
2825 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2826
2827 g_return_if_fail (fo_list_block != NULL);
2828 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2829 g_return_if_fail ((new_border_start_color == NULL) ||
2830 FO_IS_PROPERTY_BORDER_START_COLOR (new_border_start_color));
2831
2832 if (new_border_start_color != NULL)
2833 {
2834 g_object_ref (new_border_start_color);
2835 }
2836 if (fo_list_block->border_start_color != NULL)
2837 {
2838 g_object_unref (fo_list_block->border_start_color);
2839 }
2840 fo_list_block->border_start_color = new_border_start_color;
2841 /*g_object_notify (G_OBJECT (fo_list_block), "border-start-color");*/
2842 }
2843
2844 /**
2845 * fo_list_block_get_border_start_style:
2846 * @fo_fo: The @FoFo object.
2847 *
2848 * Gets the "border-start-style" property of @fo_fo.
2849 *
2850 * Return value: The "border-start-style" property value.
2851 **/
2852 FoProperty *
fo_list_block_get_border_start_style(FoFo * fo_fo)2853 fo_list_block_get_border_start_style (FoFo *fo_fo)
2854 {
2855 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2856
2857 g_return_val_if_fail (fo_list_block != NULL, NULL);
2858 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2859
2860 return fo_list_block->border_start_style;
2861 }
2862
2863 /**
2864 * fo_list_block_set_border_start_style:
2865 * @fo_fo: The #FoFo object.
2866 * @new_border_start_style: The new "border-start-style" property value.
2867 *
2868 * Sets the "border-start-style" property of @fo_fo to @new_border_start_style.
2869 **/
2870 void
fo_list_block_set_border_start_style(FoFo * fo_fo,FoProperty * new_border_start_style)2871 fo_list_block_set_border_start_style (FoFo *fo_fo,
2872 FoProperty *new_border_start_style)
2873 {
2874 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2875
2876 g_return_if_fail (fo_list_block != NULL);
2877 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2878 g_return_if_fail ((new_border_start_style == NULL) ||
2879 FO_IS_PROPERTY_BORDER_START_STYLE (new_border_start_style));
2880
2881 if (new_border_start_style != NULL)
2882 {
2883 g_object_ref (new_border_start_style);
2884 }
2885 if (fo_list_block->border_start_style != NULL)
2886 {
2887 g_object_unref (fo_list_block->border_start_style);
2888 }
2889 fo_list_block->border_start_style = new_border_start_style;
2890 /*g_object_notify (G_OBJECT (fo_list_block), "border-start-style");*/
2891 }
2892
2893 /**
2894 * fo_list_block_get_border_start_width:
2895 * @fo_fo: The @FoFo object.
2896 *
2897 * Gets the "border-start-width" property of @fo_fo.
2898 *
2899 * Return value: The "border-start-width" property value.
2900 **/
2901 FoProperty *
fo_list_block_get_border_start_width(FoFo * fo_fo)2902 fo_list_block_get_border_start_width (FoFo *fo_fo)
2903 {
2904 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2905
2906 g_return_val_if_fail (fo_list_block != NULL, NULL);
2907 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2908
2909 return fo_list_block->border_start_width;
2910 }
2911
2912 /**
2913 * fo_list_block_set_border_start_width:
2914 * @fo_fo: The #FoFo object.
2915 * @new_border_start_width: The new "border-start-width" property value.
2916 *
2917 * Sets the "border-start-width" property of @fo_fo to @new_border_start_width.
2918 **/
2919 void
fo_list_block_set_border_start_width(FoFo * fo_fo,FoProperty * new_border_start_width)2920 fo_list_block_set_border_start_width (FoFo *fo_fo,
2921 FoProperty *new_border_start_width)
2922 {
2923 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2924
2925 g_return_if_fail (fo_list_block != NULL);
2926 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2927 g_return_if_fail ((new_border_start_width == NULL) ||
2928 FO_IS_PROPERTY_BORDER_START_WIDTH (new_border_start_width));
2929
2930 if (new_border_start_width != NULL)
2931 {
2932 g_object_ref (new_border_start_width);
2933 }
2934 if (fo_list_block->border_start_width != NULL)
2935 {
2936 g_object_unref (fo_list_block->border_start_width);
2937 }
2938 fo_list_block->border_start_width = new_border_start_width;
2939 /*g_object_notify (G_OBJECT (fo_list_block), "border-start-width");*/
2940 }
2941
2942 /**
2943 * fo_list_block_get_border_top_color:
2944 * @fo_fo: The @FoFo object.
2945 *
2946 * Gets the "border-top-color" property of @fo_fo.
2947 *
2948 * Return value: The "border-top-color" property value.
2949 **/
2950 FoProperty *
fo_list_block_get_border_top_color(FoFo * fo_fo)2951 fo_list_block_get_border_top_color (FoFo *fo_fo)
2952 {
2953 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2954
2955 g_return_val_if_fail (fo_list_block != NULL, NULL);
2956 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
2957
2958 return fo_list_block->border_top_color;
2959 }
2960
2961 /**
2962 * fo_list_block_set_border_top_color:
2963 * @fo_fo: The #FoFo object.
2964 * @new_border_top_color: The new "border-top-color" property value.
2965 *
2966 * Sets the "border-top-color" property of @fo_fo to @new_border_top_color.
2967 **/
2968 void
fo_list_block_set_border_top_color(FoFo * fo_fo,FoProperty * new_border_top_color)2969 fo_list_block_set_border_top_color (FoFo *fo_fo,
2970 FoProperty *new_border_top_color)
2971 {
2972 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
2973
2974 g_return_if_fail (fo_list_block != NULL);
2975 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
2976 g_return_if_fail ((new_border_top_color == NULL) ||
2977 FO_IS_PROPERTY_BORDER_TOP_COLOR (new_border_top_color));
2978
2979 if (new_border_top_color != NULL)
2980 {
2981 g_object_ref (new_border_top_color);
2982 }
2983 if (fo_list_block->border_top_color != NULL)
2984 {
2985 g_object_unref (fo_list_block->border_top_color);
2986 }
2987 fo_list_block->border_top_color = new_border_top_color;
2988 /*g_object_notify (G_OBJECT (fo_list_block), "border-top-color");*/
2989 }
2990
2991 /**
2992 * fo_list_block_get_border_top_style:
2993 * @fo_fo: The @FoFo object.
2994 *
2995 * Gets the "border-top-style" property of @fo_fo.
2996 *
2997 * Return value: The "border-top-style" property value.
2998 **/
2999 FoProperty *
fo_list_block_get_border_top_style(FoFo * fo_fo)3000 fo_list_block_get_border_top_style (FoFo *fo_fo)
3001 {
3002 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3003
3004 g_return_val_if_fail (fo_list_block != NULL, NULL);
3005 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3006
3007 return fo_list_block->border_top_style;
3008 }
3009
3010 /**
3011 * fo_list_block_set_border_top_style:
3012 * @fo_fo: The #FoFo object.
3013 * @new_border_top_style: The new "border-top-style" property value.
3014 *
3015 * Sets the "border-top-style" property of @fo_fo to @new_border_top_style.
3016 **/
3017 void
fo_list_block_set_border_top_style(FoFo * fo_fo,FoProperty * new_border_top_style)3018 fo_list_block_set_border_top_style (FoFo *fo_fo,
3019 FoProperty *new_border_top_style)
3020 {
3021 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3022
3023 g_return_if_fail (fo_list_block != NULL);
3024 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3025 g_return_if_fail ((new_border_top_style == NULL) ||
3026 FO_IS_PROPERTY_BORDER_TOP_STYLE (new_border_top_style));
3027
3028 if (new_border_top_style != NULL)
3029 {
3030 g_object_ref (new_border_top_style);
3031 }
3032 if (fo_list_block->border_top_style != NULL)
3033 {
3034 g_object_unref (fo_list_block->border_top_style);
3035 }
3036 fo_list_block->border_top_style = new_border_top_style;
3037 /*g_object_notify (G_OBJECT (fo_list_block), "border-top-style");*/
3038 }
3039
3040 /**
3041 * fo_list_block_get_border_top_width:
3042 * @fo_fo: The @FoFo object.
3043 *
3044 * Gets the "border-top-width" property of @fo_fo.
3045 *
3046 * Return value: The "border-top-width" property value.
3047 **/
3048 FoProperty *
fo_list_block_get_border_top_width(FoFo * fo_fo)3049 fo_list_block_get_border_top_width (FoFo *fo_fo)
3050 {
3051 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3052
3053 g_return_val_if_fail (fo_list_block != NULL, NULL);
3054 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3055
3056 return fo_list_block->border_top_width;
3057 }
3058
3059 /**
3060 * fo_list_block_set_border_top_width:
3061 * @fo_fo: The #FoFo object.
3062 * @new_border_top_width: The new "border-top-width" property value.
3063 *
3064 * Sets the "border-top-width" property of @fo_fo to @new_border_top_width.
3065 **/
3066 void
fo_list_block_set_border_top_width(FoFo * fo_fo,FoProperty * new_border_top_width)3067 fo_list_block_set_border_top_width (FoFo *fo_fo,
3068 FoProperty *new_border_top_width)
3069 {
3070 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3071
3072 g_return_if_fail (fo_list_block != NULL);
3073 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3074 g_return_if_fail ((new_border_top_width == NULL) ||
3075 FO_IS_PROPERTY_BORDER_TOP_WIDTH (new_border_top_width));
3076
3077 if (new_border_top_width != NULL)
3078 {
3079 g_object_ref (new_border_top_width);
3080 }
3081 if (fo_list_block->border_top_width != NULL)
3082 {
3083 g_object_unref (fo_list_block->border_top_width);
3084 }
3085 fo_list_block->border_top_width = new_border_top_width;
3086 /*g_object_notify (G_OBJECT (fo_list_block), "border-top-width");*/
3087 }
3088
3089 /**
3090 * fo_list_block_get_break_after:
3091 * @fo_fo: The @FoFo object.
3092 *
3093 * Gets the "break-after" property of @fo_fo.
3094 *
3095 * Return value: The "break-after" property value.
3096 **/
3097 FoProperty *
fo_list_block_get_break_after(FoFo * fo_fo)3098 fo_list_block_get_break_after (FoFo *fo_fo)
3099 {
3100 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3101
3102 g_return_val_if_fail (fo_list_block != NULL, NULL);
3103 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3104
3105 return fo_list_block->break_after;
3106 }
3107
3108 /**
3109 * fo_list_block_set_break_after:
3110 * @fo_fo: The #FoFo object.
3111 * @new_break_after: The new "break-after" property value.
3112 *
3113 * Sets the "break-after" property of @fo_fo to @new_break_after.
3114 **/
3115 void
fo_list_block_set_break_after(FoFo * fo_fo,FoProperty * new_break_after)3116 fo_list_block_set_break_after (FoFo *fo_fo,
3117 FoProperty *new_break_after)
3118 {
3119 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3120
3121 g_return_if_fail (fo_list_block != NULL);
3122 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3123 g_return_if_fail ((new_break_after == NULL) ||
3124 FO_IS_PROPERTY_BREAK_AFTER (new_break_after));
3125
3126 if (new_break_after != NULL)
3127 {
3128 g_object_ref (new_break_after);
3129 }
3130 if (fo_list_block->break_after != NULL)
3131 {
3132 g_object_unref (fo_list_block->break_after);
3133 }
3134 fo_list_block->break_after = new_break_after;
3135 /*g_object_notify (G_OBJECT (fo_list_block), "break-after");*/
3136 }
3137
3138 /**
3139 * fo_list_block_get_break_before:
3140 * @fo_fo: The @FoFo object.
3141 *
3142 * Gets the "break-before" property of @fo_fo.
3143 *
3144 * Return value: The "break-before" property value.
3145 **/
3146 FoProperty *
fo_list_block_get_break_before(FoFo * fo_fo)3147 fo_list_block_get_break_before (FoFo *fo_fo)
3148 {
3149 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3150
3151 g_return_val_if_fail (fo_list_block != NULL, NULL);
3152 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3153
3154 return fo_list_block->break_before;
3155 }
3156
3157 /**
3158 * fo_list_block_set_break_before:
3159 * @fo_fo: The #FoFo object.
3160 * @new_break_before: The new "break-before" property value.
3161 *
3162 * Sets the "break-before" property of @fo_fo to @new_break_before.
3163 **/
3164 void
fo_list_block_set_break_before(FoFo * fo_fo,FoProperty * new_break_before)3165 fo_list_block_set_break_before (FoFo *fo_fo,
3166 FoProperty *new_break_before)
3167 {
3168 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3169
3170 g_return_if_fail (fo_list_block != NULL);
3171 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3172 g_return_if_fail ((new_break_before == NULL) ||
3173 FO_IS_PROPERTY_BREAK_BEFORE (new_break_before));
3174
3175 if (new_break_before != NULL)
3176 {
3177 g_object_ref (new_break_before);
3178 }
3179 if (fo_list_block->break_before != NULL)
3180 {
3181 g_object_unref (fo_list_block->break_before);
3182 }
3183 fo_list_block->break_before = new_break_before;
3184 /*g_object_notify (G_OBJECT (fo_list_block), "break-before");*/
3185 }
3186
3187 /**
3188 * fo_list_block_get_end_indent:
3189 * @fo_fo: The @FoFo object.
3190 *
3191 * Gets the "end-indent" property of @fo_fo.
3192 *
3193 * Return value: The "end-indent" property value.
3194 **/
3195 FoProperty *
fo_list_block_get_end_indent(FoFo * fo_fo)3196 fo_list_block_get_end_indent (FoFo *fo_fo)
3197 {
3198 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3199
3200 g_return_val_if_fail (fo_list_block != NULL, NULL);
3201 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3202
3203 return fo_list_block->end_indent;
3204 }
3205
3206 /**
3207 * fo_list_block_set_end_indent:
3208 * @fo_fo: The #FoFo object.
3209 * @new_end_indent: The new "end-indent" property value.
3210 *
3211 * Sets the "end-indent" property of @fo_fo to @new_end_indent.
3212 **/
3213 void
fo_list_block_set_end_indent(FoFo * fo_fo,FoProperty * new_end_indent)3214 fo_list_block_set_end_indent (FoFo *fo_fo,
3215 FoProperty *new_end_indent)
3216 {
3217 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3218
3219 g_return_if_fail (fo_list_block != NULL);
3220 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3221 g_return_if_fail ((new_end_indent == NULL) ||
3222 FO_IS_PROPERTY_END_INDENT (new_end_indent));
3223
3224 if (new_end_indent != NULL)
3225 {
3226 g_object_ref (new_end_indent);
3227 }
3228 if (fo_list_block->end_indent != NULL)
3229 {
3230 g_object_unref (fo_list_block->end_indent);
3231 }
3232 fo_list_block->end_indent = new_end_indent;
3233 /*g_object_notify (G_OBJECT (fo_list_block), "end-indent");*/
3234 }
3235
3236 /**
3237 * fo_list_block_get_id:
3238 * @fo_fo: The @FoFo object.
3239 *
3240 * Gets the "id" property of @fo_fo.
3241 *
3242 * Return value: The "id" property value.
3243 **/
3244 FoProperty *
fo_list_block_get_id(FoFo * fo_fo)3245 fo_list_block_get_id (FoFo *fo_fo)
3246 {
3247 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3248
3249 g_return_val_if_fail (fo_list_block != NULL, NULL);
3250 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3251
3252 return fo_list_block->id;
3253 }
3254
3255 /**
3256 * fo_list_block_set_id:
3257 * @fo_fo: The #FoFo object.
3258 * @new_id: The new "id" property value.
3259 *
3260 * Sets the "id" property of @fo_fo to @new_id.
3261 **/
3262 void
fo_list_block_set_id(FoFo * fo_fo,FoProperty * new_id)3263 fo_list_block_set_id (FoFo *fo_fo,
3264 FoProperty *new_id)
3265 {
3266 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3267
3268 g_return_if_fail (fo_list_block != NULL);
3269 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3270 g_return_if_fail ((new_id == NULL) ||
3271 FO_IS_PROPERTY_ID (new_id));
3272
3273 if (new_id != NULL)
3274 {
3275 g_object_ref (new_id);
3276 }
3277 if (fo_list_block->id != NULL)
3278 {
3279 g_object_unref (fo_list_block->id);
3280 }
3281 fo_list_block->id = new_id;
3282 /*g_object_notify (G_OBJECT (fo_list_block), "id");*/
3283 }
3284
3285 /**
3286 * fo_list_block_get_keep_together:
3287 * @fo_fo: The @FoFo object.
3288 *
3289 * Gets the "keep-together" property of @fo_fo.
3290 *
3291 * Return value: The "keep-together" property value.
3292 **/
3293 FoProperty *
fo_list_block_get_keep_together(FoFo * fo_fo)3294 fo_list_block_get_keep_together (FoFo *fo_fo)
3295 {
3296 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3297
3298 g_return_val_if_fail (fo_list_block != NULL, NULL);
3299 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3300
3301 return fo_list_block->keep_together;
3302 }
3303
3304 /**
3305 * fo_list_block_set_keep_together:
3306 * @fo_fo: The #FoFo object.
3307 * @new_keep_together: The new "keep-together" property value.
3308 *
3309 * Sets the "keep-together" property of @fo_fo to @new_keep_together.
3310 **/
3311 void
fo_list_block_set_keep_together(FoFo * fo_fo,FoProperty * new_keep_together)3312 fo_list_block_set_keep_together (FoFo *fo_fo,
3313 FoProperty *new_keep_together)
3314 {
3315 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3316
3317 g_return_if_fail (fo_list_block != NULL);
3318 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3319 g_return_if_fail ((new_keep_together == NULL) ||
3320 FO_IS_PROPERTY_KEEP_TOGETHER (new_keep_together));
3321
3322 if (new_keep_together != NULL)
3323 {
3324 g_object_ref (new_keep_together);
3325 }
3326 if (fo_list_block->keep_together != NULL)
3327 {
3328 g_object_unref (fo_list_block->keep_together);
3329 }
3330 fo_list_block->keep_together = new_keep_together;
3331 /*g_object_notify (G_OBJECT (fo_list_block), "keep-together");*/
3332 }
3333
3334 /**
3335 * fo_list_block_get_keep_together_within_column:
3336 * @fo_fo: The @FoFo object.
3337 *
3338 * Gets the "keep-together-within-column" property of @fo_fo.
3339 *
3340 * Return value: The "keep-together-within-column" property value.
3341 **/
3342 FoProperty *
fo_list_block_get_keep_together_within_column(FoFo * fo_fo)3343 fo_list_block_get_keep_together_within_column (FoFo *fo_fo)
3344 {
3345 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3346
3347 g_return_val_if_fail (fo_list_block != NULL, NULL);
3348 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3349
3350 return fo_list_block->keep_together_within_column;
3351 }
3352
3353 /**
3354 * fo_list_block_set_keep_together_within_column:
3355 * @fo_fo: The #FoFo object.
3356 * @new_keep_together_within_column: The new "keep-together-within-column" property value.
3357 *
3358 * Sets the "keep-together-within-column" property of @fo_fo to @new_keep_together_within_column.
3359 **/
3360 void
fo_list_block_set_keep_together_within_column(FoFo * fo_fo,FoProperty * new_keep_together_within_column)3361 fo_list_block_set_keep_together_within_column (FoFo *fo_fo,
3362 FoProperty *new_keep_together_within_column)
3363 {
3364 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3365
3366 g_return_if_fail (fo_list_block != NULL);
3367 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3368 g_return_if_fail ((new_keep_together_within_column == NULL) ||
3369 FO_IS_PROPERTY_KEEP_TOGETHER_WITHIN_COLUMN (new_keep_together_within_column));
3370
3371 if (new_keep_together_within_column != NULL)
3372 {
3373 g_object_ref (new_keep_together_within_column);
3374 }
3375 if (fo_list_block->keep_together_within_column != NULL)
3376 {
3377 g_object_unref (fo_list_block->keep_together_within_column);
3378 }
3379 fo_list_block->keep_together_within_column = new_keep_together_within_column;
3380 /*g_object_notify (G_OBJECT (fo_list_block), "keep-together-within-column");*/
3381 }
3382
3383 /**
3384 * fo_list_block_get_keep_together_within_line:
3385 * @fo_fo: The @FoFo object.
3386 *
3387 * Gets the "keep-together-within-line" property of @fo_fo.
3388 *
3389 * Return value: The "keep-together-within-line" property value.
3390 **/
3391 FoProperty *
fo_list_block_get_keep_together_within_line(FoFo * fo_fo)3392 fo_list_block_get_keep_together_within_line (FoFo *fo_fo)
3393 {
3394 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3395
3396 g_return_val_if_fail (fo_list_block != NULL, NULL);
3397 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3398
3399 return fo_list_block->keep_together_within_line;
3400 }
3401
3402 /**
3403 * fo_list_block_set_keep_together_within_line:
3404 * @fo_fo: The #FoFo object.
3405 * @new_keep_together_within_line: The new "keep-together-within-line" property value.
3406 *
3407 * Sets the "keep-together-within-line" property of @fo_fo to @new_keep_together_within_line.
3408 **/
3409 void
fo_list_block_set_keep_together_within_line(FoFo * fo_fo,FoProperty * new_keep_together_within_line)3410 fo_list_block_set_keep_together_within_line (FoFo *fo_fo,
3411 FoProperty *new_keep_together_within_line)
3412 {
3413 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3414
3415 g_return_if_fail (fo_list_block != NULL);
3416 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3417 g_return_if_fail ((new_keep_together_within_line == NULL) ||
3418 FO_IS_PROPERTY_KEEP_TOGETHER_WITHIN_LINE (new_keep_together_within_line));
3419
3420 if (new_keep_together_within_line != NULL)
3421 {
3422 g_object_ref (new_keep_together_within_line);
3423 }
3424 if (fo_list_block->keep_together_within_line != NULL)
3425 {
3426 g_object_unref (fo_list_block->keep_together_within_line);
3427 }
3428 fo_list_block->keep_together_within_line = new_keep_together_within_line;
3429 /*g_object_notify (G_OBJECT (fo_list_block), "keep-together-within-line");*/
3430 }
3431
3432 /**
3433 * fo_list_block_get_keep_together_within_page:
3434 * @fo_fo: The @FoFo object.
3435 *
3436 * Gets the "keep-together-within-page" property of @fo_fo.
3437 *
3438 * Return value: The "keep-together-within-page" property value.
3439 **/
3440 FoProperty *
fo_list_block_get_keep_together_within_page(FoFo * fo_fo)3441 fo_list_block_get_keep_together_within_page (FoFo *fo_fo)
3442 {
3443 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3444
3445 g_return_val_if_fail (fo_list_block != NULL, NULL);
3446 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3447
3448 return fo_list_block->keep_together_within_page;
3449 }
3450
3451 /**
3452 * fo_list_block_set_keep_together_within_page:
3453 * @fo_fo: The #FoFo object.
3454 * @new_keep_together_within_page: The new "keep-together-within-page" property value.
3455 *
3456 * Sets the "keep-together-within-page" property of @fo_fo to @new_keep_together_within_page.
3457 **/
3458 void
fo_list_block_set_keep_together_within_page(FoFo * fo_fo,FoProperty * new_keep_together_within_page)3459 fo_list_block_set_keep_together_within_page (FoFo *fo_fo,
3460 FoProperty *new_keep_together_within_page)
3461 {
3462 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3463
3464 g_return_if_fail (fo_list_block != NULL);
3465 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3466 g_return_if_fail ((new_keep_together_within_page == NULL) ||
3467 FO_IS_PROPERTY_KEEP_TOGETHER_WITHIN_PAGE (new_keep_together_within_page));
3468
3469 if (new_keep_together_within_page != NULL)
3470 {
3471 g_object_ref (new_keep_together_within_page);
3472 }
3473 if (fo_list_block->keep_together_within_page != NULL)
3474 {
3475 g_object_unref (fo_list_block->keep_together_within_page);
3476 }
3477 fo_list_block->keep_together_within_page = new_keep_together_within_page;
3478 /*g_object_notify (G_OBJECT (fo_list_block), "keep-together-within-page");*/
3479 }
3480
3481 /**
3482 * fo_list_block_get_keep_with_next:
3483 * @fo_fo: The @FoFo object.
3484 *
3485 * Gets the "keep-with-next" property of @fo_fo.
3486 *
3487 * Return value: The "keep-with-next" property value.
3488 **/
3489 FoProperty *
fo_list_block_get_keep_with_next(FoFo * fo_fo)3490 fo_list_block_get_keep_with_next (FoFo *fo_fo)
3491 {
3492 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3493
3494 g_return_val_if_fail (fo_list_block != NULL, NULL);
3495 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3496
3497 return fo_list_block->keep_with_next;
3498 }
3499
3500 /**
3501 * fo_list_block_set_keep_with_next:
3502 * @fo_fo: The #FoFo object.
3503 * @new_keep_with_next: The new "keep-with-next" property value.
3504 *
3505 * Sets the "keep-with-next" property of @fo_fo to @new_keep_with_next.
3506 **/
3507 void
fo_list_block_set_keep_with_next(FoFo * fo_fo,FoProperty * new_keep_with_next)3508 fo_list_block_set_keep_with_next (FoFo *fo_fo,
3509 FoProperty *new_keep_with_next)
3510 {
3511 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3512
3513 g_return_if_fail (fo_list_block != NULL);
3514 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3515 g_return_if_fail ((new_keep_with_next == NULL) ||
3516 FO_IS_PROPERTY_KEEP_WITH_NEXT (new_keep_with_next));
3517
3518 if (new_keep_with_next != NULL)
3519 {
3520 g_object_ref (new_keep_with_next);
3521 }
3522 if (fo_list_block->keep_with_next != NULL)
3523 {
3524 g_object_unref (fo_list_block->keep_with_next);
3525 }
3526 fo_list_block->keep_with_next = new_keep_with_next;
3527 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-next");*/
3528 }
3529
3530 /**
3531 * fo_list_block_get_keep_with_next_within_column:
3532 * @fo_fo: The @FoFo object.
3533 *
3534 * Gets the "keep-with-next-within-column" property of @fo_fo.
3535 *
3536 * Return value: The "keep-with-next-within-column" property value.
3537 **/
3538 FoProperty *
fo_list_block_get_keep_with_next_within_column(FoFo * fo_fo)3539 fo_list_block_get_keep_with_next_within_column (FoFo *fo_fo)
3540 {
3541 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3542
3543 g_return_val_if_fail (fo_list_block != NULL, NULL);
3544 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3545
3546 return fo_list_block->keep_with_next_within_column;
3547 }
3548
3549 /**
3550 * fo_list_block_set_keep_with_next_within_column:
3551 * @fo_fo: The #FoFo object.
3552 * @new_keep_with_next_within_column: The new "keep-with-next-within-column" property value.
3553 *
3554 * Sets the "keep-with-next-within-column" property of @fo_fo to @new_keep_with_next_within_column.
3555 **/
3556 void
fo_list_block_set_keep_with_next_within_column(FoFo * fo_fo,FoProperty * new_keep_with_next_within_column)3557 fo_list_block_set_keep_with_next_within_column (FoFo *fo_fo,
3558 FoProperty *new_keep_with_next_within_column)
3559 {
3560 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3561
3562 g_return_if_fail (fo_list_block != NULL);
3563 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3564 g_return_if_fail ((new_keep_with_next_within_column == NULL) ||
3565 FO_IS_PROPERTY_KEEP_WITH_NEXT_WITHIN_COLUMN (new_keep_with_next_within_column));
3566
3567 if (new_keep_with_next_within_column != NULL)
3568 {
3569 g_object_ref (new_keep_with_next_within_column);
3570 }
3571 if (fo_list_block->keep_with_next_within_column != NULL)
3572 {
3573 g_object_unref (fo_list_block->keep_with_next_within_column);
3574 }
3575 fo_list_block->keep_with_next_within_column = new_keep_with_next_within_column;
3576 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-next-within-column");*/
3577 }
3578
3579 /**
3580 * fo_list_block_get_keep_with_next_within_line:
3581 * @fo_fo: The @FoFo object.
3582 *
3583 * Gets the "keep-with-next-within-line" property of @fo_fo.
3584 *
3585 * Return value: The "keep-with-next-within-line" property value.
3586 **/
3587 FoProperty *
fo_list_block_get_keep_with_next_within_line(FoFo * fo_fo)3588 fo_list_block_get_keep_with_next_within_line (FoFo *fo_fo)
3589 {
3590 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3591
3592 g_return_val_if_fail (fo_list_block != NULL, NULL);
3593 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3594
3595 return fo_list_block->keep_with_next_within_line;
3596 }
3597
3598 /**
3599 * fo_list_block_set_keep_with_next_within_line:
3600 * @fo_fo: The #FoFo object.
3601 * @new_keep_with_next_within_line: The new "keep-with-next-within-line" property value.
3602 *
3603 * Sets the "keep-with-next-within-line" property of @fo_fo to @new_keep_with_next_within_line.
3604 **/
3605 void
fo_list_block_set_keep_with_next_within_line(FoFo * fo_fo,FoProperty * new_keep_with_next_within_line)3606 fo_list_block_set_keep_with_next_within_line (FoFo *fo_fo,
3607 FoProperty *new_keep_with_next_within_line)
3608 {
3609 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3610
3611 g_return_if_fail (fo_list_block != NULL);
3612 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3613 g_return_if_fail ((new_keep_with_next_within_line == NULL) ||
3614 FO_IS_PROPERTY_KEEP_WITH_NEXT_WITHIN_LINE (new_keep_with_next_within_line));
3615
3616 if (new_keep_with_next_within_line != NULL)
3617 {
3618 g_object_ref (new_keep_with_next_within_line);
3619 }
3620 if (fo_list_block->keep_with_next_within_line != NULL)
3621 {
3622 g_object_unref (fo_list_block->keep_with_next_within_line);
3623 }
3624 fo_list_block->keep_with_next_within_line = new_keep_with_next_within_line;
3625 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-next-within-line");*/
3626 }
3627
3628 /**
3629 * fo_list_block_get_keep_with_next_within_page:
3630 * @fo_fo: The @FoFo object.
3631 *
3632 * Gets the "keep-with-next-within-page" property of @fo_fo.
3633 *
3634 * Return value: The "keep-with-next-within-page" property value.
3635 **/
3636 FoProperty *
fo_list_block_get_keep_with_next_within_page(FoFo * fo_fo)3637 fo_list_block_get_keep_with_next_within_page (FoFo *fo_fo)
3638 {
3639 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3640
3641 g_return_val_if_fail (fo_list_block != NULL, NULL);
3642 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3643
3644 return fo_list_block->keep_with_next_within_page;
3645 }
3646
3647 /**
3648 * fo_list_block_set_keep_with_next_within_page:
3649 * @fo_fo: The #FoFo object.
3650 * @new_keep_with_next_within_page: The new "keep-with-next-within-page" property value.
3651 *
3652 * Sets the "keep-with-next-within-page" property of @fo_fo to @new_keep_with_next_within_page.
3653 **/
3654 void
fo_list_block_set_keep_with_next_within_page(FoFo * fo_fo,FoProperty * new_keep_with_next_within_page)3655 fo_list_block_set_keep_with_next_within_page (FoFo *fo_fo,
3656 FoProperty *new_keep_with_next_within_page)
3657 {
3658 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3659
3660 g_return_if_fail (fo_list_block != NULL);
3661 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3662 g_return_if_fail ((new_keep_with_next_within_page == NULL) ||
3663 FO_IS_PROPERTY_KEEP_WITH_NEXT_WITHIN_PAGE (new_keep_with_next_within_page));
3664
3665 if (new_keep_with_next_within_page != NULL)
3666 {
3667 g_object_ref (new_keep_with_next_within_page);
3668 }
3669 if (fo_list_block->keep_with_next_within_page != NULL)
3670 {
3671 g_object_unref (fo_list_block->keep_with_next_within_page);
3672 }
3673 fo_list_block->keep_with_next_within_page = new_keep_with_next_within_page;
3674 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-next-within-page");*/
3675 }
3676
3677 /**
3678 * fo_list_block_get_keep_with_previous:
3679 * @fo_fo: The @FoFo object.
3680 *
3681 * Gets the "keep-with-previous" property of @fo_fo.
3682 *
3683 * Return value: The "keep-with-previous" property value.
3684 **/
3685 FoProperty *
fo_list_block_get_keep_with_previous(FoFo * fo_fo)3686 fo_list_block_get_keep_with_previous (FoFo *fo_fo)
3687 {
3688 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3689
3690 g_return_val_if_fail (fo_list_block != NULL, NULL);
3691 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3692
3693 return fo_list_block->keep_with_previous;
3694 }
3695
3696 /**
3697 * fo_list_block_set_keep_with_previous:
3698 * @fo_fo: The #FoFo object.
3699 * @new_keep_with_previous: The new "keep-with-previous" property value.
3700 *
3701 * Sets the "keep-with-previous" property of @fo_fo to @new_keep_with_previous.
3702 **/
3703 void
fo_list_block_set_keep_with_previous(FoFo * fo_fo,FoProperty * new_keep_with_previous)3704 fo_list_block_set_keep_with_previous (FoFo *fo_fo,
3705 FoProperty *new_keep_with_previous)
3706 {
3707 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3708
3709 g_return_if_fail (fo_list_block != NULL);
3710 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3711 g_return_if_fail ((new_keep_with_previous == NULL) ||
3712 FO_IS_PROPERTY_KEEP_WITH_PREVIOUS (new_keep_with_previous));
3713
3714 if (new_keep_with_previous != NULL)
3715 {
3716 g_object_ref (new_keep_with_previous);
3717 }
3718 if (fo_list_block->keep_with_previous != NULL)
3719 {
3720 g_object_unref (fo_list_block->keep_with_previous);
3721 }
3722 fo_list_block->keep_with_previous = new_keep_with_previous;
3723 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-previous");*/
3724 }
3725
3726 /**
3727 * fo_list_block_get_keep_with_previous_within_column:
3728 * @fo_fo: The @FoFo object.
3729 *
3730 * Gets the "keep-with-previous-within-column" property of @fo_fo.
3731 *
3732 * Return value: The "keep-with-previous-within-column" property value.
3733 **/
3734 FoProperty *
fo_list_block_get_keep_with_previous_within_column(FoFo * fo_fo)3735 fo_list_block_get_keep_with_previous_within_column (FoFo *fo_fo)
3736 {
3737 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3738
3739 g_return_val_if_fail (fo_list_block != NULL, NULL);
3740 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3741
3742 return fo_list_block->keep_with_previous_within_column;
3743 }
3744
3745 /**
3746 * fo_list_block_set_keep_with_previous_within_column:
3747 * @fo_fo: The #FoFo object.
3748 * @new_keep_with_previous_within_column: The new "keep-with-previous-within-column" property value.
3749 *
3750 * Sets the "keep-with-previous-within-column" property of @fo_fo to @new_keep_with_previous_within_column.
3751 **/
3752 void
fo_list_block_set_keep_with_previous_within_column(FoFo * fo_fo,FoProperty * new_keep_with_previous_within_column)3753 fo_list_block_set_keep_with_previous_within_column (FoFo *fo_fo,
3754 FoProperty *new_keep_with_previous_within_column)
3755 {
3756 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3757
3758 g_return_if_fail (fo_list_block != NULL);
3759 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3760 g_return_if_fail ((new_keep_with_previous_within_column == NULL) ||
3761 FO_IS_PROPERTY_KEEP_WITH_PREVIOUS_WITHIN_COLUMN (new_keep_with_previous_within_column));
3762
3763 if (new_keep_with_previous_within_column != NULL)
3764 {
3765 g_object_ref (new_keep_with_previous_within_column);
3766 }
3767 if (fo_list_block->keep_with_previous_within_column != NULL)
3768 {
3769 g_object_unref (fo_list_block->keep_with_previous_within_column);
3770 }
3771 fo_list_block->keep_with_previous_within_column = new_keep_with_previous_within_column;
3772 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-previous-within-column");*/
3773 }
3774
3775 /**
3776 * fo_list_block_get_keep_with_previous_within_line:
3777 * @fo_fo: The @FoFo object.
3778 *
3779 * Gets the "keep-with-previous-within-line" property of @fo_fo.
3780 *
3781 * Return value: The "keep-with-previous-within-line" property value.
3782 **/
3783 FoProperty *
fo_list_block_get_keep_with_previous_within_line(FoFo * fo_fo)3784 fo_list_block_get_keep_with_previous_within_line (FoFo *fo_fo)
3785 {
3786 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3787
3788 g_return_val_if_fail (fo_list_block != NULL, NULL);
3789 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3790
3791 return fo_list_block->keep_with_previous_within_line;
3792 }
3793
3794 /**
3795 * fo_list_block_set_keep_with_previous_within_line:
3796 * @fo_fo: The #FoFo object.
3797 * @new_keep_with_previous_within_line: The new "keep-with-previous-within-line" property value.
3798 *
3799 * Sets the "keep-with-previous-within-line" property of @fo_fo to @new_keep_with_previous_within_line.
3800 **/
3801 void
fo_list_block_set_keep_with_previous_within_line(FoFo * fo_fo,FoProperty * new_keep_with_previous_within_line)3802 fo_list_block_set_keep_with_previous_within_line (FoFo *fo_fo,
3803 FoProperty *new_keep_with_previous_within_line)
3804 {
3805 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3806
3807 g_return_if_fail (fo_list_block != NULL);
3808 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3809 g_return_if_fail ((new_keep_with_previous_within_line == NULL) ||
3810 FO_IS_PROPERTY_KEEP_WITH_PREVIOUS_WITHIN_LINE (new_keep_with_previous_within_line));
3811
3812 if (new_keep_with_previous_within_line != NULL)
3813 {
3814 g_object_ref (new_keep_with_previous_within_line);
3815 }
3816 if (fo_list_block->keep_with_previous_within_line != NULL)
3817 {
3818 g_object_unref (fo_list_block->keep_with_previous_within_line);
3819 }
3820 fo_list_block->keep_with_previous_within_line = new_keep_with_previous_within_line;
3821 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-previous-within-line");*/
3822 }
3823
3824 /**
3825 * fo_list_block_get_keep_with_previous_within_page:
3826 * @fo_fo: The @FoFo object.
3827 *
3828 * Gets the "keep-with-previous-within-page" property of @fo_fo.
3829 *
3830 * Return value: The "keep-with-previous-within-page" property value.
3831 **/
3832 FoProperty *
fo_list_block_get_keep_with_previous_within_page(FoFo * fo_fo)3833 fo_list_block_get_keep_with_previous_within_page (FoFo *fo_fo)
3834 {
3835 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3836
3837 g_return_val_if_fail (fo_list_block != NULL, NULL);
3838 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3839
3840 return fo_list_block->keep_with_previous_within_page;
3841 }
3842
3843 /**
3844 * fo_list_block_set_keep_with_previous_within_page:
3845 * @fo_fo: The #FoFo object.
3846 * @new_keep_with_previous_within_page: The new "keep-with-previous-within-page" property value.
3847 *
3848 * Sets the "keep-with-previous-within-page" property of @fo_fo to @new_keep_with_previous_within_page.
3849 **/
3850 void
fo_list_block_set_keep_with_previous_within_page(FoFo * fo_fo,FoProperty * new_keep_with_previous_within_page)3851 fo_list_block_set_keep_with_previous_within_page (FoFo *fo_fo,
3852 FoProperty *new_keep_with_previous_within_page)
3853 {
3854 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3855
3856 g_return_if_fail (fo_list_block != NULL);
3857 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3858 g_return_if_fail ((new_keep_with_previous_within_page == NULL) ||
3859 FO_IS_PROPERTY_KEEP_WITH_PREVIOUS_WITHIN_PAGE (new_keep_with_previous_within_page));
3860
3861 if (new_keep_with_previous_within_page != NULL)
3862 {
3863 g_object_ref (new_keep_with_previous_within_page);
3864 }
3865 if (fo_list_block->keep_with_previous_within_page != NULL)
3866 {
3867 g_object_unref (fo_list_block->keep_with_previous_within_page);
3868 }
3869 fo_list_block->keep_with_previous_within_page = new_keep_with_previous_within_page;
3870 /*g_object_notify (G_OBJECT (fo_list_block), "keep-with-previous-within-page");*/
3871 }
3872
3873 /**
3874 * fo_list_block_get_margin_bottom:
3875 * @fo_fo: The @FoFo object.
3876 *
3877 * Gets the "margin-bottom" property of @fo_fo.
3878 *
3879 * Return value: The "margin-bottom" property value.
3880 **/
3881 FoProperty *
fo_list_block_get_margin_bottom(FoFo * fo_fo)3882 fo_list_block_get_margin_bottom (FoFo *fo_fo)
3883 {
3884 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3885
3886 g_return_val_if_fail (fo_list_block != NULL, NULL);
3887 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3888
3889 return fo_list_block->margin_bottom;
3890 }
3891
3892 /**
3893 * fo_list_block_set_margin_bottom:
3894 * @fo_fo: The #FoFo object.
3895 * @new_margin_bottom: The new "margin-bottom" property value.
3896 *
3897 * Sets the "margin-bottom" property of @fo_fo to @new_margin_bottom.
3898 **/
3899 void
fo_list_block_set_margin_bottom(FoFo * fo_fo,FoProperty * new_margin_bottom)3900 fo_list_block_set_margin_bottom (FoFo *fo_fo,
3901 FoProperty *new_margin_bottom)
3902 {
3903 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3904
3905 g_return_if_fail (fo_list_block != NULL);
3906 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3907 g_return_if_fail ((new_margin_bottom == NULL) ||
3908 FO_IS_PROPERTY_MARGIN_BOTTOM (new_margin_bottom));
3909
3910 if (new_margin_bottom != NULL)
3911 {
3912 g_object_ref (new_margin_bottom);
3913 }
3914 if (fo_list_block->margin_bottom != NULL)
3915 {
3916 g_object_unref (fo_list_block->margin_bottom);
3917 }
3918 fo_list_block->margin_bottom = new_margin_bottom;
3919 /*g_object_notify (G_OBJECT (fo_list_block), "margin-bottom");*/
3920 }
3921
3922 /**
3923 * fo_list_block_get_margin_left:
3924 * @fo_fo: The @FoFo object.
3925 *
3926 * Gets the "margin-left" property of @fo_fo.
3927 *
3928 * Return value: The "margin-left" property value.
3929 **/
3930 FoProperty *
fo_list_block_get_margin_left(FoFo * fo_fo)3931 fo_list_block_get_margin_left (FoFo *fo_fo)
3932 {
3933 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3934
3935 g_return_val_if_fail (fo_list_block != NULL, NULL);
3936 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3937
3938 return fo_list_block->margin_left;
3939 }
3940
3941 /**
3942 * fo_list_block_set_margin_left:
3943 * @fo_fo: The #FoFo object.
3944 * @new_margin_left: The new "margin-left" property value.
3945 *
3946 * Sets the "margin-left" property of @fo_fo to @new_margin_left.
3947 **/
3948 void
fo_list_block_set_margin_left(FoFo * fo_fo,FoProperty * new_margin_left)3949 fo_list_block_set_margin_left (FoFo *fo_fo,
3950 FoProperty *new_margin_left)
3951 {
3952 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3953
3954 g_return_if_fail (fo_list_block != NULL);
3955 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
3956 g_return_if_fail ((new_margin_left == NULL) ||
3957 FO_IS_PROPERTY_MARGIN_LEFT (new_margin_left));
3958
3959 if (new_margin_left != NULL)
3960 {
3961 g_object_ref (new_margin_left);
3962 }
3963 if (fo_list_block->margin_left != NULL)
3964 {
3965 g_object_unref (fo_list_block->margin_left);
3966 }
3967 fo_list_block->margin_left = new_margin_left;
3968 /*g_object_notify (G_OBJECT (fo_list_block), "margin-left");*/
3969 }
3970
3971 /**
3972 * fo_list_block_get_margin_right:
3973 * @fo_fo: The @FoFo object.
3974 *
3975 * Gets the "margin-right" property of @fo_fo.
3976 *
3977 * Return value: The "margin-right" property value.
3978 **/
3979 FoProperty *
fo_list_block_get_margin_right(FoFo * fo_fo)3980 fo_list_block_get_margin_right (FoFo *fo_fo)
3981 {
3982 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
3983
3984 g_return_val_if_fail (fo_list_block != NULL, NULL);
3985 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
3986
3987 return fo_list_block->margin_right;
3988 }
3989
3990 /**
3991 * fo_list_block_set_margin_right:
3992 * @fo_fo: The #FoFo object.
3993 * @new_margin_right: The new "margin-right" property value.
3994 *
3995 * Sets the "margin-right" property of @fo_fo to @new_margin_right.
3996 **/
3997 void
fo_list_block_set_margin_right(FoFo * fo_fo,FoProperty * new_margin_right)3998 fo_list_block_set_margin_right (FoFo *fo_fo,
3999 FoProperty *new_margin_right)
4000 {
4001 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4002
4003 g_return_if_fail (fo_list_block != NULL);
4004 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4005 g_return_if_fail ((new_margin_right == NULL) ||
4006 FO_IS_PROPERTY_MARGIN_RIGHT (new_margin_right));
4007
4008 if (new_margin_right != NULL)
4009 {
4010 g_object_ref (new_margin_right);
4011 }
4012 if (fo_list_block->margin_right != NULL)
4013 {
4014 g_object_unref (fo_list_block->margin_right);
4015 }
4016 fo_list_block->margin_right = new_margin_right;
4017 /*g_object_notify (G_OBJECT (fo_list_block), "margin-right");*/
4018 }
4019
4020 /**
4021 * fo_list_block_get_margin_top:
4022 * @fo_fo: The @FoFo object.
4023 *
4024 * Gets the "margin-top" property of @fo_fo.
4025 *
4026 * Return value: The "margin-top" property value.
4027 **/
4028 FoProperty *
fo_list_block_get_margin_top(FoFo * fo_fo)4029 fo_list_block_get_margin_top (FoFo *fo_fo)
4030 {
4031 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4032
4033 g_return_val_if_fail (fo_list_block != NULL, NULL);
4034 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4035
4036 return fo_list_block->margin_top;
4037 }
4038
4039 /**
4040 * fo_list_block_set_margin_top:
4041 * @fo_fo: The #FoFo object.
4042 * @new_margin_top: The new "margin-top" property value.
4043 *
4044 * Sets the "margin-top" property of @fo_fo to @new_margin_top.
4045 **/
4046 void
fo_list_block_set_margin_top(FoFo * fo_fo,FoProperty * new_margin_top)4047 fo_list_block_set_margin_top (FoFo *fo_fo,
4048 FoProperty *new_margin_top)
4049 {
4050 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4051
4052 g_return_if_fail (fo_list_block != NULL);
4053 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4054 g_return_if_fail ((new_margin_top == NULL) ||
4055 FO_IS_PROPERTY_MARGIN_TOP (new_margin_top));
4056
4057 if (new_margin_top != NULL)
4058 {
4059 g_object_ref (new_margin_top);
4060 }
4061 if (fo_list_block->margin_top != NULL)
4062 {
4063 g_object_unref (fo_list_block->margin_top);
4064 }
4065 fo_list_block->margin_top = new_margin_top;
4066 /*g_object_notify (G_OBJECT (fo_list_block), "margin-top");*/
4067 }
4068
4069 /**
4070 * fo_list_block_get_padding_after:
4071 * @fo_fo: The @FoFo object.
4072 *
4073 * Gets the "padding-after" property of @fo_fo.
4074 *
4075 * Return value: The "padding-after" property value.
4076 **/
4077 FoProperty *
fo_list_block_get_padding_after(FoFo * fo_fo)4078 fo_list_block_get_padding_after (FoFo *fo_fo)
4079 {
4080 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4081
4082 g_return_val_if_fail (fo_list_block != NULL, NULL);
4083 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4084
4085 return fo_list_block->padding_after;
4086 }
4087
4088 /**
4089 * fo_list_block_set_padding_after:
4090 * @fo_fo: The #FoFo object.
4091 * @new_padding_after: The new "padding-after" property value.
4092 *
4093 * Sets the "padding-after" property of @fo_fo to @new_padding_after.
4094 **/
4095 void
fo_list_block_set_padding_after(FoFo * fo_fo,FoProperty * new_padding_after)4096 fo_list_block_set_padding_after (FoFo *fo_fo,
4097 FoProperty *new_padding_after)
4098 {
4099 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4100
4101 g_return_if_fail (fo_list_block != NULL);
4102 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4103 g_return_if_fail ((new_padding_after == NULL) ||
4104 FO_IS_PROPERTY_PADDING_AFTER (new_padding_after));
4105
4106 if (new_padding_after != NULL)
4107 {
4108 g_object_ref (new_padding_after);
4109 }
4110 if (fo_list_block->padding_after != NULL)
4111 {
4112 g_object_unref (fo_list_block->padding_after);
4113 }
4114 fo_list_block->padding_after = new_padding_after;
4115 /*g_object_notify (G_OBJECT (fo_list_block), "padding-after");*/
4116 }
4117
4118 /**
4119 * fo_list_block_get_padding_before:
4120 * @fo_fo: The @FoFo object.
4121 *
4122 * Gets the "padding-before" property of @fo_fo.
4123 *
4124 * Return value: The "padding-before" property value.
4125 **/
4126 FoProperty *
fo_list_block_get_padding_before(FoFo * fo_fo)4127 fo_list_block_get_padding_before (FoFo *fo_fo)
4128 {
4129 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4130
4131 g_return_val_if_fail (fo_list_block != NULL, NULL);
4132 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4133
4134 return fo_list_block->padding_before;
4135 }
4136
4137 /**
4138 * fo_list_block_set_padding_before:
4139 * @fo_fo: The #FoFo object.
4140 * @new_padding_before: The new "padding-before" property value.
4141 *
4142 * Sets the "padding-before" property of @fo_fo to @new_padding_before.
4143 **/
4144 void
fo_list_block_set_padding_before(FoFo * fo_fo,FoProperty * new_padding_before)4145 fo_list_block_set_padding_before (FoFo *fo_fo,
4146 FoProperty *new_padding_before)
4147 {
4148 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4149
4150 g_return_if_fail (fo_list_block != NULL);
4151 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4152 g_return_if_fail ((new_padding_before == NULL) ||
4153 FO_IS_PROPERTY_PADDING_BEFORE (new_padding_before));
4154
4155 if (new_padding_before != NULL)
4156 {
4157 g_object_ref (new_padding_before);
4158 }
4159 if (fo_list_block->padding_before != NULL)
4160 {
4161 g_object_unref (fo_list_block->padding_before);
4162 }
4163 fo_list_block->padding_before = new_padding_before;
4164 /*g_object_notify (G_OBJECT (fo_list_block), "padding-before");*/
4165 }
4166
4167 /**
4168 * fo_list_block_get_padding_bottom:
4169 * @fo_fo: The @FoFo object.
4170 *
4171 * Gets the "padding-bottom" property of @fo_fo.
4172 *
4173 * Return value: The "padding-bottom" property value.
4174 **/
4175 FoProperty *
fo_list_block_get_padding_bottom(FoFo * fo_fo)4176 fo_list_block_get_padding_bottom (FoFo *fo_fo)
4177 {
4178 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4179
4180 g_return_val_if_fail (fo_list_block != NULL, NULL);
4181 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4182
4183 return fo_list_block->padding_bottom;
4184 }
4185
4186 /**
4187 * fo_list_block_set_padding_bottom:
4188 * @fo_fo: The #FoFo object.
4189 * @new_padding_bottom: The new "padding-bottom" property value.
4190 *
4191 * Sets the "padding-bottom" property of @fo_fo to @new_padding_bottom.
4192 **/
4193 void
fo_list_block_set_padding_bottom(FoFo * fo_fo,FoProperty * new_padding_bottom)4194 fo_list_block_set_padding_bottom (FoFo *fo_fo,
4195 FoProperty *new_padding_bottom)
4196 {
4197 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4198
4199 g_return_if_fail (fo_list_block != NULL);
4200 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4201 g_return_if_fail ((new_padding_bottom == NULL) ||
4202 FO_IS_PROPERTY_PADDING_BOTTOM (new_padding_bottom));
4203
4204 if (new_padding_bottom != NULL)
4205 {
4206 g_object_ref (new_padding_bottom);
4207 }
4208 if (fo_list_block->padding_bottom != NULL)
4209 {
4210 g_object_unref (fo_list_block->padding_bottom);
4211 }
4212 fo_list_block->padding_bottom = new_padding_bottom;
4213 /*g_object_notify (G_OBJECT (fo_list_block), "padding-bottom");*/
4214 }
4215
4216 /**
4217 * fo_list_block_get_padding_end:
4218 * @fo_fo: The @FoFo object.
4219 *
4220 * Gets the "padding-end" property of @fo_fo.
4221 *
4222 * Return value: The "padding-end" property value.
4223 **/
4224 FoProperty *
fo_list_block_get_padding_end(FoFo * fo_fo)4225 fo_list_block_get_padding_end (FoFo *fo_fo)
4226 {
4227 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4228
4229 g_return_val_if_fail (fo_list_block != NULL, NULL);
4230 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4231
4232 return fo_list_block->padding_end;
4233 }
4234
4235 /**
4236 * fo_list_block_set_padding_end:
4237 * @fo_fo: The #FoFo object.
4238 * @new_padding_end: The new "padding-end" property value.
4239 *
4240 * Sets the "padding-end" property of @fo_fo to @new_padding_end.
4241 **/
4242 void
fo_list_block_set_padding_end(FoFo * fo_fo,FoProperty * new_padding_end)4243 fo_list_block_set_padding_end (FoFo *fo_fo,
4244 FoProperty *new_padding_end)
4245 {
4246 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4247
4248 g_return_if_fail (fo_list_block != NULL);
4249 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4250 g_return_if_fail ((new_padding_end == NULL) ||
4251 FO_IS_PROPERTY_PADDING_END (new_padding_end));
4252
4253 if (new_padding_end != NULL)
4254 {
4255 g_object_ref (new_padding_end);
4256 }
4257 if (fo_list_block->padding_end != NULL)
4258 {
4259 g_object_unref (fo_list_block->padding_end);
4260 }
4261 fo_list_block->padding_end = new_padding_end;
4262 /*g_object_notify (G_OBJECT (fo_list_block), "padding-end");*/
4263 }
4264
4265 /**
4266 * fo_list_block_get_padding_left:
4267 * @fo_fo: The @FoFo object.
4268 *
4269 * Gets the "padding-left" property of @fo_fo.
4270 *
4271 * Return value: The "padding-left" property value.
4272 **/
4273 FoProperty *
fo_list_block_get_padding_left(FoFo * fo_fo)4274 fo_list_block_get_padding_left (FoFo *fo_fo)
4275 {
4276 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4277
4278 g_return_val_if_fail (fo_list_block != NULL, NULL);
4279 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4280
4281 return fo_list_block->padding_left;
4282 }
4283
4284 /**
4285 * fo_list_block_set_padding_left:
4286 * @fo_fo: The #FoFo object.
4287 * @new_padding_left: The new "padding-left" property value.
4288 *
4289 * Sets the "padding-left" property of @fo_fo to @new_padding_left.
4290 **/
4291 void
fo_list_block_set_padding_left(FoFo * fo_fo,FoProperty * new_padding_left)4292 fo_list_block_set_padding_left (FoFo *fo_fo,
4293 FoProperty *new_padding_left)
4294 {
4295 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4296
4297 g_return_if_fail (fo_list_block != NULL);
4298 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4299 g_return_if_fail ((new_padding_left == NULL) ||
4300 FO_IS_PROPERTY_PADDING_LEFT (new_padding_left));
4301
4302 if (new_padding_left != NULL)
4303 {
4304 g_object_ref (new_padding_left);
4305 }
4306 if (fo_list_block->padding_left != NULL)
4307 {
4308 g_object_unref (fo_list_block->padding_left);
4309 }
4310 fo_list_block->padding_left = new_padding_left;
4311 /*g_object_notify (G_OBJECT (fo_list_block), "padding-left");*/
4312 }
4313
4314 /**
4315 * fo_list_block_get_padding_right:
4316 * @fo_fo: The @FoFo object.
4317 *
4318 * Gets the "padding-right" property of @fo_fo.
4319 *
4320 * Return value: The "padding-right" property value.
4321 **/
4322 FoProperty *
fo_list_block_get_padding_right(FoFo * fo_fo)4323 fo_list_block_get_padding_right (FoFo *fo_fo)
4324 {
4325 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4326
4327 g_return_val_if_fail (fo_list_block != NULL, NULL);
4328 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4329
4330 return fo_list_block->padding_right;
4331 }
4332
4333 /**
4334 * fo_list_block_set_padding_right:
4335 * @fo_fo: The #FoFo object.
4336 * @new_padding_right: The new "padding-right" property value.
4337 *
4338 * Sets the "padding-right" property of @fo_fo to @new_padding_right.
4339 **/
4340 void
fo_list_block_set_padding_right(FoFo * fo_fo,FoProperty * new_padding_right)4341 fo_list_block_set_padding_right (FoFo *fo_fo,
4342 FoProperty *new_padding_right)
4343 {
4344 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4345
4346 g_return_if_fail (fo_list_block != NULL);
4347 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4348 g_return_if_fail ((new_padding_right == NULL) ||
4349 FO_IS_PROPERTY_PADDING_RIGHT (new_padding_right));
4350
4351 if (new_padding_right != NULL)
4352 {
4353 g_object_ref (new_padding_right);
4354 }
4355 if (fo_list_block->padding_right != NULL)
4356 {
4357 g_object_unref (fo_list_block->padding_right);
4358 }
4359 fo_list_block->padding_right = new_padding_right;
4360 /*g_object_notify (G_OBJECT (fo_list_block), "padding-right");*/
4361 }
4362
4363 /**
4364 * fo_list_block_get_padding_start:
4365 * @fo_fo: The @FoFo object.
4366 *
4367 * Gets the "padding-start" property of @fo_fo.
4368 *
4369 * Return value: The "padding-start" property value.
4370 **/
4371 FoProperty *
fo_list_block_get_padding_start(FoFo * fo_fo)4372 fo_list_block_get_padding_start (FoFo *fo_fo)
4373 {
4374 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4375
4376 g_return_val_if_fail (fo_list_block != NULL, NULL);
4377 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4378
4379 return fo_list_block->padding_start;
4380 }
4381
4382 /**
4383 * fo_list_block_set_padding_start:
4384 * @fo_fo: The #FoFo object.
4385 * @new_padding_start: The new "padding-start" property value.
4386 *
4387 * Sets the "padding-start" property of @fo_fo to @new_padding_start.
4388 **/
4389 void
fo_list_block_set_padding_start(FoFo * fo_fo,FoProperty * new_padding_start)4390 fo_list_block_set_padding_start (FoFo *fo_fo,
4391 FoProperty *new_padding_start)
4392 {
4393 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4394
4395 g_return_if_fail (fo_list_block != NULL);
4396 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4397 g_return_if_fail ((new_padding_start == NULL) ||
4398 FO_IS_PROPERTY_PADDING_START (new_padding_start));
4399
4400 if (new_padding_start != NULL)
4401 {
4402 g_object_ref (new_padding_start);
4403 }
4404 if (fo_list_block->padding_start != NULL)
4405 {
4406 g_object_unref (fo_list_block->padding_start);
4407 }
4408 fo_list_block->padding_start = new_padding_start;
4409 /*g_object_notify (G_OBJECT (fo_list_block), "padding-start");*/
4410 }
4411
4412 /**
4413 * fo_list_block_get_padding_top:
4414 * @fo_fo: The @FoFo object.
4415 *
4416 * Gets the "padding-top" property of @fo_fo.
4417 *
4418 * Return value: The "padding-top" property value.
4419 **/
4420 FoProperty *
fo_list_block_get_padding_top(FoFo * fo_fo)4421 fo_list_block_get_padding_top (FoFo *fo_fo)
4422 {
4423 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4424
4425 g_return_val_if_fail (fo_list_block != NULL, NULL);
4426 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4427
4428 return fo_list_block->padding_top;
4429 }
4430
4431 /**
4432 * fo_list_block_set_padding_top:
4433 * @fo_fo: The #FoFo object.
4434 * @new_padding_top: The new "padding-top" property value.
4435 *
4436 * Sets the "padding-top" property of @fo_fo to @new_padding_top.
4437 **/
4438 void
fo_list_block_set_padding_top(FoFo * fo_fo,FoProperty * new_padding_top)4439 fo_list_block_set_padding_top (FoFo *fo_fo,
4440 FoProperty *new_padding_top)
4441 {
4442 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4443
4444 g_return_if_fail (fo_list_block != NULL);
4445 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4446 g_return_if_fail ((new_padding_top == NULL) ||
4447 FO_IS_PROPERTY_PADDING_TOP (new_padding_top));
4448
4449 if (new_padding_top != NULL)
4450 {
4451 g_object_ref (new_padding_top);
4452 }
4453 if (fo_list_block->padding_top != NULL)
4454 {
4455 g_object_unref (fo_list_block->padding_top);
4456 }
4457 fo_list_block->padding_top = new_padding_top;
4458 /*g_object_notify (G_OBJECT (fo_list_block), "padding-top");*/
4459 }
4460
4461 /**
4462 * fo_list_block_get_provisional_distance_between_starts:
4463 * @fo_fo: The @FoFo object.
4464 *
4465 * Gets the "provisional-distance-between-starts" property of @fo_fo.
4466 *
4467 * Return value: The "provisional-distance-between-starts" property value.
4468 **/
4469 FoProperty *
fo_list_block_get_provisional_distance_between_starts(FoFo * fo_fo)4470 fo_list_block_get_provisional_distance_between_starts (FoFo *fo_fo)
4471 {
4472 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4473
4474 g_return_val_if_fail (fo_list_block != NULL, NULL);
4475 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4476
4477 return fo_list_block->provisional_distance_between_starts;
4478 }
4479
4480 /**
4481 * fo_list_block_set_provisional_distance_between_starts:
4482 * @fo_fo: The #FoFo object.
4483 * @new_provisional_distance_between_starts: The new "provisional-distance-between-starts" property value.
4484 *
4485 * Sets the "provisional-distance-between-starts" property of @fo_fo to @new_provisional_distance_between_starts.
4486 **/
4487 void
fo_list_block_set_provisional_distance_between_starts(FoFo * fo_fo,FoProperty * new_provisional_distance_between_starts)4488 fo_list_block_set_provisional_distance_between_starts (FoFo *fo_fo,
4489 FoProperty *new_provisional_distance_between_starts)
4490 {
4491 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4492
4493 g_return_if_fail (fo_list_block != NULL);
4494 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4495 g_return_if_fail ((new_provisional_distance_between_starts == NULL) ||
4496 FO_IS_PROPERTY_PROVISIONAL_DISTANCE_BETWEEN_STARTS (new_provisional_distance_between_starts));
4497
4498 if (new_provisional_distance_between_starts != NULL)
4499 {
4500 g_object_ref (new_provisional_distance_between_starts);
4501 }
4502 if (fo_list_block->provisional_distance_between_starts != NULL)
4503 {
4504 g_object_unref (fo_list_block->provisional_distance_between_starts);
4505 }
4506 fo_list_block->provisional_distance_between_starts = new_provisional_distance_between_starts;
4507 /*g_object_notify (G_OBJECT (fo_list_block), "provisional-distance-between-starts");*/
4508 }
4509
4510 /**
4511 * fo_list_block_get_provisional_label_separation:
4512 * @fo_fo: The @FoFo object.
4513 *
4514 * Gets the "provisional-label-separation" property of @fo_fo.
4515 *
4516 * Return value: The "provisional-label-separation" property value.
4517 **/
4518 FoProperty *
fo_list_block_get_provisional_label_separation(FoFo * fo_fo)4519 fo_list_block_get_provisional_label_separation (FoFo *fo_fo)
4520 {
4521 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4522
4523 g_return_val_if_fail (fo_list_block != NULL, NULL);
4524 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4525
4526 return fo_list_block->provisional_label_separation;
4527 }
4528
4529 /**
4530 * fo_list_block_set_provisional_label_separation:
4531 * @fo_fo: The #FoFo object.
4532 * @new_provisional_label_separation: The new "provisional-label-separation" property value.
4533 *
4534 * Sets the "provisional-label-separation" property of @fo_fo to @new_provisional_label_separation.
4535 **/
4536 void
fo_list_block_set_provisional_label_separation(FoFo * fo_fo,FoProperty * new_provisional_label_separation)4537 fo_list_block_set_provisional_label_separation (FoFo *fo_fo,
4538 FoProperty *new_provisional_label_separation)
4539 {
4540 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4541
4542 g_return_if_fail (fo_list_block != NULL);
4543 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4544 g_return_if_fail ((new_provisional_label_separation == NULL) ||
4545 FO_IS_PROPERTY_PROVISIONAL_LABEL_SEPARATION (new_provisional_label_separation));
4546
4547 if (new_provisional_label_separation != NULL)
4548 {
4549 g_object_ref (new_provisional_label_separation);
4550 }
4551 if (fo_list_block->provisional_label_separation != NULL)
4552 {
4553 g_object_unref (fo_list_block->provisional_label_separation);
4554 }
4555 fo_list_block->provisional_label_separation = new_provisional_label_separation;
4556 /*g_object_notify (G_OBJECT (fo_list_block), "provisional-label-separation");*/
4557 }
4558
4559 /**
4560 * fo_list_block_get_role:
4561 * @fo_fo: The @FoFo object.
4562 *
4563 * Gets the "role" property of @fo_fo.
4564 *
4565 * Return value: The "role" property value.
4566 **/
4567 FoProperty *
fo_list_block_get_role(FoFo * fo_fo)4568 fo_list_block_get_role (FoFo *fo_fo)
4569 {
4570 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4571
4572 g_return_val_if_fail (fo_list_block != NULL, NULL);
4573 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4574
4575 return fo_list_block->role;
4576 }
4577
4578 /**
4579 * fo_list_block_set_role:
4580 * @fo_fo: The #FoFo object.
4581 * @new_role: The new "role" property value.
4582 *
4583 * Sets the "role" property of @fo_fo to @new_role.
4584 **/
4585 void
fo_list_block_set_role(FoFo * fo_fo,FoProperty * new_role)4586 fo_list_block_set_role (FoFo *fo_fo,
4587 FoProperty *new_role)
4588 {
4589 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4590
4591 g_return_if_fail (fo_list_block != NULL);
4592 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4593 g_return_if_fail ((new_role == NULL) ||
4594 FO_IS_PROPERTY_ROLE (new_role));
4595
4596 if (new_role != NULL)
4597 {
4598 g_object_ref (new_role);
4599 }
4600 if (fo_list_block->role != NULL)
4601 {
4602 g_object_unref (fo_list_block->role);
4603 }
4604 fo_list_block->role = new_role;
4605 /*g_object_notify (G_OBJECT (fo_list_block), "role");*/
4606 }
4607
4608 /**
4609 * fo_list_block_get_source_document:
4610 * @fo_fo: The @FoFo object.
4611 *
4612 * Gets the "source-document" property of @fo_fo.
4613 *
4614 * Return value: The "source-document" property value.
4615 **/
4616 FoProperty *
fo_list_block_get_source_document(FoFo * fo_fo)4617 fo_list_block_get_source_document (FoFo *fo_fo)
4618 {
4619 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4620
4621 g_return_val_if_fail (fo_list_block != NULL, NULL);
4622 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4623
4624 return fo_list_block->source_document;
4625 }
4626
4627 /**
4628 * fo_list_block_set_source_document:
4629 * @fo_fo: The #FoFo object.
4630 * @new_source_document: The new "source-document" property value.
4631 *
4632 * Sets the "source-document" property of @fo_fo to @new_source_document.
4633 **/
4634 void
fo_list_block_set_source_document(FoFo * fo_fo,FoProperty * new_source_document)4635 fo_list_block_set_source_document (FoFo *fo_fo,
4636 FoProperty *new_source_document)
4637 {
4638 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4639
4640 g_return_if_fail (fo_list_block != NULL);
4641 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4642 g_return_if_fail ((new_source_document == NULL) ||
4643 FO_IS_PROPERTY_SOURCE_DOCUMENT (new_source_document));
4644
4645 if (new_source_document != NULL)
4646 {
4647 g_object_ref (new_source_document);
4648 }
4649 if (fo_list_block->source_document != NULL)
4650 {
4651 g_object_unref (fo_list_block->source_document);
4652 }
4653 fo_list_block->source_document = new_source_document;
4654 /*g_object_notify (G_OBJECT (fo_list_block), "source-document");*/
4655 }
4656
4657 /**
4658 * fo_list_block_get_space_after:
4659 * @fo_fo: The @FoFo object.
4660 *
4661 * Gets the "space-after" property of @fo_fo.
4662 *
4663 * Return value: The "space-after" property value.
4664 **/
4665 FoProperty *
fo_list_block_get_space_after(FoFo * fo_fo)4666 fo_list_block_get_space_after (FoFo *fo_fo)
4667 {
4668 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4669
4670 g_return_val_if_fail (fo_list_block != NULL, NULL);
4671 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4672
4673 return fo_list_block->space_after;
4674 }
4675
4676 /**
4677 * fo_list_block_set_space_after:
4678 * @fo_fo: The #FoFo object.
4679 * @new_space_after: The new "space-after" property value.
4680 *
4681 * Sets the "space-after" property of @fo_fo to @new_space_after.
4682 **/
4683 void
fo_list_block_set_space_after(FoFo * fo_fo,FoProperty * new_space_after)4684 fo_list_block_set_space_after (FoFo *fo_fo,
4685 FoProperty *new_space_after)
4686 {
4687 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4688
4689 g_return_if_fail (fo_list_block != NULL);
4690 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4691 g_return_if_fail ((new_space_after == NULL) ||
4692 FO_IS_PROPERTY_SPACE_AFTER (new_space_after));
4693
4694 if (new_space_after != NULL)
4695 {
4696 g_object_ref (new_space_after);
4697 }
4698 if (fo_list_block->space_after != NULL)
4699 {
4700 g_object_unref (fo_list_block->space_after);
4701 }
4702 fo_list_block->space_after = new_space_after;
4703 /*g_object_notify (G_OBJECT (fo_list_block), "space-after");*/
4704 }
4705
4706 /**
4707 * fo_list_block_get_space_before:
4708 * @fo_fo: The @FoFo object.
4709 *
4710 * Gets the "space-before" property of @fo_fo.
4711 *
4712 * Return value: The "space-before" property value.
4713 **/
4714 FoProperty *
fo_list_block_get_space_before(FoFo * fo_fo)4715 fo_list_block_get_space_before (FoFo *fo_fo)
4716 {
4717 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4718
4719 g_return_val_if_fail (fo_list_block != NULL, NULL);
4720 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4721
4722 return fo_list_block->space_before;
4723 }
4724
4725 /**
4726 * fo_list_block_set_space_before:
4727 * @fo_fo: The #FoFo object.
4728 * @new_space_before: The new "space-before" property value.
4729 *
4730 * Sets the "space-before" property of @fo_fo to @new_space_before.
4731 **/
4732 void
fo_list_block_set_space_before(FoFo * fo_fo,FoProperty * new_space_before)4733 fo_list_block_set_space_before (FoFo *fo_fo,
4734 FoProperty *new_space_before)
4735 {
4736 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4737
4738 g_return_if_fail (fo_list_block != NULL);
4739 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4740 g_return_if_fail ((new_space_before == NULL) ||
4741 FO_IS_PROPERTY_SPACE_BEFORE (new_space_before));
4742
4743 if (new_space_before != NULL)
4744 {
4745 g_object_ref (new_space_before);
4746 }
4747 if (fo_list_block->space_before != NULL)
4748 {
4749 g_object_unref (fo_list_block->space_before);
4750 }
4751 fo_list_block->space_before = new_space_before;
4752 /*g_object_notify (G_OBJECT (fo_list_block), "space-before");*/
4753 }
4754
4755 /**
4756 * fo_list_block_get_start_indent:
4757 * @fo_fo: The @FoFo object.
4758 *
4759 * Gets the "start-indent" property of @fo_fo.
4760 *
4761 * Return value: The "start-indent" property value.
4762 **/
4763 FoProperty *
fo_list_block_get_start_indent(FoFo * fo_fo)4764 fo_list_block_get_start_indent (FoFo *fo_fo)
4765 {
4766 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4767
4768 g_return_val_if_fail (fo_list_block != NULL, NULL);
4769 g_return_val_if_fail (FO_IS_LIST_BLOCK (fo_list_block), NULL);
4770
4771 return fo_list_block->start_indent;
4772 }
4773
4774 /**
4775 * fo_list_block_set_start_indent:
4776 * @fo_fo: The #FoFo object.
4777 * @new_start_indent: The new "start-indent" property value.
4778 *
4779 * Sets the "start-indent" property of @fo_fo to @new_start_indent.
4780 **/
4781 void
fo_list_block_set_start_indent(FoFo * fo_fo,FoProperty * new_start_indent)4782 fo_list_block_set_start_indent (FoFo *fo_fo,
4783 FoProperty *new_start_indent)
4784 {
4785 FoListBlock *fo_list_block = (FoListBlock *) fo_fo;
4786
4787 g_return_if_fail (fo_list_block != NULL);
4788 g_return_if_fail (FO_IS_LIST_BLOCK (fo_list_block));
4789 g_return_if_fail ((new_start_indent == NULL) ||
4790 FO_IS_PROPERTY_START_INDENT (new_start_indent));
4791
4792 if (new_start_indent != NULL)
4793 {
4794 g_object_ref (new_start_indent);
4795 }
4796 if (fo_list_block->start_indent != NULL)
4797 {
4798 g_object_unref (fo_list_block->start_indent);
4799 }
4800 fo_list_block->start_indent = new_start_indent;
4801 /*g_object_notify (G_OBJECT (fo_list_block), "start-indent");*/
4802 }
4803