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