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