1 /* ATK - Accessibility Toolkit
2 * Copyright 2001 Sun Microsystems Inc.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
21 #include "atkmarshal.h"
33 struct _AtkTableIfaceClass
38 typedef struct _AtkTableIfaceClass AtkTableIfaceClass;
40 static void atk_table_base_init (gpointer *g_class);
42 static guint atk_table_signals[LAST_SIGNAL] = { 0 };
47 static GType type = 0;
52 sizeof (AtkTableIface),
53 (GBaseInitFunc) atk_table_base_init,
54 (GBaseFinalizeFunc) NULL,
58 type = g_type_register_static (G_TYPE_INTERFACE, "AtkTable", &tinfo, 0);
66 atk_table_base_init (gpointer *g_class)
68 static gboolean initialized = FALSE;
72 atk_table_signals[ROW_INSERTED] =
73 g_signal_newc ("row_inserted",
76 G_STRUCT_OFFSET (AtkTableIface, row_inserted),
77 (GSignalAccumulator) NULL, NULL,
78 atk_marshal_VOID__INT_INT,
80 2, G_TYPE_INT, G_TYPE_INT);
81 atk_table_signals[COLUMN_INSERTED] =
82 g_signal_newc ("column_inserted",
85 G_STRUCT_OFFSET (AtkTableIface, column_inserted),
86 (GSignalAccumulator) NULL, NULL,
87 atk_marshal_VOID__INT_INT,
89 2, G_TYPE_INT, G_TYPE_INT);
90 atk_table_signals[ROW_DELETED] =
91 g_signal_newc ("row_deleted",
94 G_STRUCT_OFFSET (AtkTableIface, row_deleted),
95 (GSignalAccumulator) NULL, NULL,
96 atk_marshal_VOID__INT_INT,
98 2, G_TYPE_INT, G_TYPE_INT);
99 atk_table_signals[COLUMN_DELETED] =
100 g_signal_newc ("column_deleted",
103 G_STRUCT_OFFSET (AtkTableIface, column_deleted),
104 (GSignalAccumulator) NULL, NULL,
105 atk_marshal_VOID__INT_INT,
107 2, G_TYPE_INT, G_TYPE_INT);
108 atk_table_signals[ROW_REORDERED] =
109 g_signal_newc ("row_reordered",
112 G_STRUCT_OFFSET (AtkTableIface, row_reordered),
113 (GSignalAccumulator) NULL, NULL,
114 g_cclosure_marshal_VOID__VOID,
117 atk_table_signals[COLUMN_REORDERED] =
118 g_signal_newc ("column_reordered",
121 G_STRUCT_OFFSET (AtkTableIface, column_reordered),
122 (GSignalAccumulator) NULL, NULL,
123 g_cclosure_marshal_VOID__VOID,
132 * @table: a GObject instance that implements AtkTableIface
133 * @row: a #gint representing a row in @table
134 * @column: a #gint representing a column in @table
136 * Get a reference to the table cell at @row, @column.
138 * Returns: a AtkObject* representing the referred to accessible
141 atk_table_ref_at (AtkTable *table,
145 AtkTableIface *iface;
147 g_return_val_if_fail (table != NULL, NULL);
148 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
150 iface = ATK_TABLE_GET_IFACE (table);
153 return (iface->ref_at) (table, row, column);
159 * atk_table_get_index_at:
160 * @table: a GObject instance that implements AtkTableIface
161 * @row: a #gint representing a row in @table
162 * @column: a #gint representing a column in @table
164 * Gets a #gint representing the index at the specified @row and @column,
165 * or 0 if value does not implement this interface.
166 * Note: callers should not rely on %NULL or on a zero value for
167 * indication of whether AtkSelectionIface is implemented, they should
168 * use type checking/interface checking macros or the
169 * atk_get_accessible_table() convenience method.
171 * Returns: a #gint representing the index at specified position, or 0
172 * if value does not implement this interface.
175 atk_table_get_index_at (AtkTable *table,
179 AtkTableIface *iface;
181 g_return_val_if_fail (table != NULL, 0);
182 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
184 iface = ATK_TABLE_GET_IFACE (table);
186 if (iface->get_index_at)
187 return (iface->get_index_at) (table, row, column);
193 * atk_table_get_row_at_index:
194 * @table: a GObject instance that implements AtkTableInterface
195 * @index: a #gint representing an index in @table
197 * Gets a #gint representing the row at the specified @index, or 0
198 * if the value does not implement this interface
199 * Note: callers should not rely on %NULL or on a zero value for
200 * indication of whether AtkSelectionIface is implemented, they should
201 * use type checking/interface checking macros or the
202 * atk_get_accessible_table() convenience method.
204 * Returns: a gint representing the row at the specified index, or 0
205 * if value does not implement this interface.
208 atk_table_get_row_at_index (AtkTable *table,
211 AtkTableIface *iface;
213 g_return_val_if_fail (table != NULL, 0);
214 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
216 iface = ATK_TABLE_GET_IFACE (table);
218 if (iface->get_row_at_index)
219 return (iface->get_row_at_index) (table, index);
225 * atk_table_get_column_at_index:
226 * @table: a GObject instance that implements AtkTableInterface
227 * @index: a #gint representing an index in @table
229 * Gets a #gint representing the column at the specified @index, or 0
230 * if the value does not implement this interface
231 * Note: callers should not rely on %NULL or on a zero value for
232 * indication of whether AtkSelectionIface is implemented, they should
233 * use type checking/interface checking macros or the
234 * atk_get_accessible_table() convenience method.
236 * Returns: a gint representing the column at the specified index, or 0
237 * if value does not implement this interface.
240 atk_table_get_column_at_index (AtkTable *table,
243 AtkTableIface *iface;
245 g_return_val_if_fail (table != NULL, 0);
246 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
248 iface = ATK_TABLE_GET_IFACE (table);
250 if (iface->get_column_at_index)
251 return (iface->get_column_at_index) (table, index);
257 * atk_table_get_caption:
258 * @table: a GObject instance that implements AtkTableInterface
260 * Gets the caption for the @table.
261 * Note: callers should not rely on %NULL or on a zero value for
262 * indication of whether AtkSelectionIface is implemented, they should
263 * use type checking/interface checking macros or the
264 * atk_get_accessible_table() convenience method.
266 * Returns: a gchar* representing the table caption, or %NULL
267 * if value does not implement this interface.
270 atk_table_get_caption (AtkTable *table)
272 AtkTableIface *iface;
274 g_return_val_if_fail (table != NULL, NULL);
275 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
277 iface = ATK_TABLE_GET_IFACE (table);
279 if (iface->get_caption)
280 return (iface->get_caption) (table);
286 * atk_table_get_n_columns:
287 * @table: a GObject instance that implements AtkTableIface
289 * Gets the number of columns in the table.
290 * Note: callers should not rely on %NULL or on a zero value for
291 * indication of whether AtkSelectionIface is implemented, they should
292 * use type checking/interface checking macros or the
293 * atk_get_accessible_table() convenience method.
295 * Returns: a gint representing the number of columns, or 0
296 * if value does not implement this interface.
299 atk_table_get_n_columns (AtkTable *table)
301 AtkTableIface *iface;
303 g_return_val_if_fail (table != NULL, 0);
304 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
306 iface = ATK_TABLE_GET_IFACE (table);
308 if (iface->get_n_columns)
309 return (iface->get_n_columns) (table);
315 * atk_table_get_column_description:
316 * @table: a GObject instance that implements AtkTableIface
317 * @column: a #gint representing a column in @table
319 * Gets the description text of the specified @column in the table
320 * Note: callers should not rely on %NULL or on a zero value for
321 * indication of whether AtkSelectionIface is implemented, they should
322 * use type checking/interface checking macros or the
323 * atk_get_accessible_table() convenience method.
325 * Returns: a gchar* representing the column description, or %NULL
326 * if value does not implement this interface.
329 atk_table_get_column_description (AtkTable *table,
332 AtkTableIface *iface;
334 g_return_val_if_fail (table != NULL, NULL);
335 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
337 iface = ATK_TABLE_GET_IFACE (table);
339 if (iface->get_column_description)
340 return (iface->get_column_description) (table, column);
346 * atk_table_get_column_extent_at:
347 * @table: a GObject instance that implements AtkTableIface
348 * @row: a #gint representing a row in @table
349 * @column: a #gint representing a column in @table
351 * Gets the number of columns occupied by the accessible object
352 * at the specified @row and @column in the @table.
353 * Note: callers should not rely on %NULL or on a zero value for
354 * indication of whether AtkSelectionIface is implemented, they should
355 * use type checking/interface checking macros or the
356 * atk_get_accessible_table() convenience method.
358 * Returns: a gint representing the column extent at specified position, or 0
359 * if value does not implement this interface.
362 atk_table_get_column_extent_at (AtkTable *table,
366 AtkTableIface *iface;
368 g_return_val_if_fail (table != NULL, 0);
369 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
371 iface = ATK_TABLE_GET_IFACE (table);
373 if (iface->get_column_extent_at)
374 return (iface->get_column_extent_at) (table, row, column);
380 * atk_table_get_column_header:
381 * @table: a GObject instance that implements AtkTableIface
382 * @column: a #gint representing a column in the table
384 * Gets the column header of a specified column in an accessible table.
385 * Note: callers should not rely on %NULL or on a zero value for
386 * indication of whether AtkSelectionIface is implemented, they should
387 * use type checking/interface checking macros or the
388 * atk_get_accessible_table() convenience method.
390 * Returns: a AtkObject* representing the specified column header, or
391 * %NULL if value does not implement this interface.
394 atk_table_get_column_header (AtkTable *table, gint column)
396 AtkTableIface *iface;
398 g_return_val_if_fail (table != NULL, NULL);
399 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
401 iface = ATK_TABLE_GET_IFACE (table);
403 if (iface->get_column_header)
404 return (iface->get_column_header) (table, column);
410 * atk_table_get_n_rows:
411 * @table: a GObject instance that implements AtkTableIface
413 * Gets the number of rows in the table.
414 * Note: callers should not rely on %NULL or on a zero value for
415 * indication of whether AtkSelectionIface is implemented, they should
416 * use type checking/interface checking macros or the
417 * atk_get_accessible_table() convenience method.
419 * Returns: a gint representing the number of rows, or 0
420 * if value does not implement this interface.
423 atk_table_get_n_rows (AtkTable *table)
425 AtkTableIface *iface;
427 g_return_val_if_fail (table != NULL, 0);
428 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
430 iface = ATK_TABLE_GET_IFACE (table);
432 if (iface->get_n_rows)
433 return (iface->get_n_rows) (table);
439 * atk_table_get_row_description:
440 * @table: a GObject instance that implements AtkTableIface
441 * @r: a #gint representing a row in @table
443 * Gets the description text of the specified row in the table
444 * Note: callers should not rely on %NULL or on a zero value for
445 * indication of whether AtkSelectionIface is implemented, they should
446 * use type checking/interface checking macros or the
447 * atk_get_accessible_table() convenience method.
449 * Returns: a gchar* representing the row description, or %NULL
450 * if value does not implement this interface.
453 atk_table_get_row_description (AtkTable *table,
456 AtkTableIface *iface;
458 g_return_val_if_fail (table != NULL, NULL);
459 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
461 iface = ATK_TABLE_GET_IFACE (table);
463 if (iface->get_row_description)
464 return (iface->get_row_description) (table, row);
470 * atk_table_get_row_extent_at:
471 * @table: a GObject instance that implements AtkTableIface
472 * @row: a #gint representing a row in @table
473 * @column: a #gint representing a column in @table
475 * Gets the number of rows occupied by the accessible object
476 * at a specified @row and @column in the @table.
477 * Note: callers should not rely on %NULL or on a zero value for
478 * indication of whether AtkSelectionIface is implemented, they should
479 * use type checking/interface checking macros or the
480 * atk_get_accessible_table() convenience method.
482 * Returns: a gint representing the row extent at specified position, or 0
483 * if value does not implement this interface.
486 atk_table_get_row_extent_at (AtkTable *table,
490 AtkTableIface *iface;
492 g_return_val_if_fail (table != NULL, 0);
493 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
495 iface = ATK_TABLE_GET_IFACE (table);
497 if (iface->get_row_extent_at)
498 return (iface->get_row_extent_at) (table, row, column);
504 * atk_table_get_row_header:
505 * @table: a GObject instance that implements AtkTableIface
506 * @row: a #gint representing a row in the table
508 * Gets the row header of a specified row in an accessible table.
509 * Note: callers should not rely on %NULL or on a zero value for
510 * indication of whether AtkSelectionIface is implemented, they should
511 * use type checking/interface checking macros or the
512 * atk_get_accessible_table() convenience method.
514 * Returns: a AtkObject* representing the specified row header, or
515 * %NULL if value does not implement this interface.
518 atk_table_get_row_header (AtkTable *table, gint row)
520 AtkTableIface *iface;
522 g_return_val_if_fail (table != NULL, NULL);
523 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
525 iface = ATK_TABLE_GET_IFACE (table);
527 if (iface->get_row_header)
528 return (iface->get_row_header) (table, row);
534 * atk_table_get_summary:
535 * @table: a GObject instance that implements AtkTableIface
537 * Gets the summary description of the table.
538 * Note: callers should not rely on %NULL or on a zero value for
539 * indication of whether AtkSelectionIface is implemented, they should
540 * use type checking/interface checking macros or the
541 * atk_get_accessible_table() convenience method.
543 * Returns: a AtkObject* representing a summary description of the table,
544 * or zero if value does not implement this interface.
547 atk_table_get_summary (AtkTable *table)
549 AtkTableIface *iface;
551 g_return_val_if_fail (table != NULL, NULL);
552 g_return_val_if_fail (ATK_IS_TABLE (table), NULL);
554 iface = ATK_TABLE_GET_IFACE (table);
556 if (iface->get_summary)
557 return (iface->get_summary) (table);
563 * atk_table_get_selected_rows:
564 * @table: a GObject instance that implements AtkTableIface
565 * @selected: a #gint** that is to contain the selected row numbers
567 * Gets the selected rows of the table by initializing **selected with
568 * the selected row numbers. This array should be freed by the caller.
569 * Note: callers should not rely on %NULL or on a zero value for
570 * indication of whether AtkSelectionIface is implemented, they should
571 * use type checking/interface checking macros or the
572 * atk_get_accessible_table() convenience method.
574 * Returns: a gint representing the number of selected rows,
575 * or zero if value does not implement this interface.
578 atk_table_get_selected_rows (AtkTable *table, gint **selected)
580 AtkTableIface *iface;
582 g_return_val_if_fail (table != NULL, 0);
583 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
585 iface = ATK_TABLE_GET_IFACE (table);
587 if (iface->get_selected_rows)
588 return (iface->get_selected_rows) (table, selected);
594 * atk_table_get_selected_columns:
595 * @table: a GObject instance that implements AtkTableIface
596 * @selected: a #gint** that is to contain the selected columns numbers
598 * Gets the selected columns of the table by initializing **selected with
599 * the selected column numbers. This array should be freed by the caller.
600 * Note: callers should not rely on %NULL or on a zero value for
601 * indication of whether AtkSelectionIface is implemented, they should
602 * use type checking/interface checking macros or the
603 * atk_get_accessible_table() convenience method.
605 * Returns: a gint representing the number of selected columns,
606 * or %0 if value does not implement this interface.
609 atk_table_get_selected_columns (AtkTable *table, gint **selected)
611 AtkTableIface *iface;
613 g_return_val_if_fail (table != NULL, 0);
614 g_return_val_if_fail (ATK_IS_TABLE (table), 0);
616 iface = ATK_TABLE_GET_IFACE (table);
618 if (iface->get_selected_columns)
619 return (iface->get_selected_columns) (table, selected);
625 * atk_table_is_column_selected:
626 * @table: a GObject instance that implements AtkTableIface
627 * @column: a #gint representing a column in @table
629 * Gets a boolean value indicating whether the specified @column
631 * Note: callers should not rely on %NULL or on a zero value for
632 * indication of whether AtkSelectionIface is implemented, they should
633 * use type checking/interface checking macros or the
634 * atk_get_accessible_table() convenience method.
636 * Returns: a gboolean representing if the column is selected, or 0
637 * if value does not implement this interface.
640 atk_table_is_column_selected (AtkTable *table,
643 AtkTableIface *iface;
645 g_return_val_if_fail (table != NULL, FALSE);
646 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
648 iface = ATK_TABLE_GET_IFACE (table);
650 if (iface->is_column_selected)
651 return (iface->is_column_selected) (table, column);
657 * atk_table_is_row_selected:
658 * @table: a GObject instance that implements AtkTableIface
659 * @row: a #gint representing a row in @table
661 * Gets a boolean value indicating whether the specified @row
663 * Note: callers should not rely on %NULL or on a zero value for
664 * indication of whether AtkSelectionIface is implemented, they should
665 * use type checking/interface checking macros or the
666 * atk_get_accessible_table() convenience method.
668 * Returns: a gboolean representing if the row is selected, or 0
669 * if value does not implement this interface.
672 atk_table_is_row_selected (AtkTable *table,
675 AtkTableIface *iface;
677 g_return_val_if_fail (table != NULL, FALSE);
678 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
680 iface = ATK_TABLE_GET_IFACE (table);
682 if (iface->is_row_selected)
683 return (iface->is_row_selected) (table, row);
689 * atk_table_is_selected:
690 * @table: a GObject instance that implements AtkTableIface
691 * @row: a #gint representing a row in @table
692 * @column: a #gint representing a column in @table
694 * Gets a boolean value indicating whether the accessible object
695 * at the specified @row and @column is selected
696 * Note: callers should not rely on %NULL or on a zero value for
697 * indication of whether AtkSelectionIface is implemented, they should
698 * use type checking/interface checking macros or the
699 * atk_get_accessible_table() convenience method.
701 * Returns: a gboolean representing if the cell is selected, or 0
702 * if value does not implement this interface.
705 atk_table_is_selected (AtkTable *table,
709 AtkTableIface *iface;
711 g_return_val_if_fail (table != NULL, FALSE);
712 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
714 iface = ATK_TABLE_GET_IFACE (table);
716 if (iface->is_selected)
717 return (iface->is_selected) (table, row, column);
723 * atk_table_add_row_selection:
724 * @table: a GObject instance that implements AtkTableIface
725 * @row: a #gint representing a row in @table
727 * Adds the specified @row to the selection.
728 * Note: callers should not rely on %NULL or on a zero value for
729 * indication of whether AtkSelectionIface is implemented, they should
730 * use type checking/interface checking macros or the
731 * atk_get_accessible_table() convenience method.
733 * Returns: a gboolean representing if row was successfully added to selection,
734 * or 0 if value does not implement this interface.
737 atk_table_add_row_selection (AtkTable *table,
740 AtkTableIface *iface;
742 g_return_val_if_fail (table != NULL, FALSE);
743 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
745 iface = ATK_TABLE_GET_IFACE (table);
747 if (iface->add_row_selection)
748 return (iface->add_row_selection) (table, row);
753 * atk_table_remove_row_selection:
754 * @table: a GObject instance that implements AtkTableIface
755 * @row: a #gint representing a row in @table
757 * Removes the specified @row from the selection.
758 * Note: callers should not rely on %NULL or on a zero value for
759 * indication of whether AtkSelectionIface is implemented, they should
760 * use type checking/interface checking macros or the
761 * atk_get_accessible_table() convenience method.
763 * Returns: a gboolean representing if the row was successfully removed from
764 * the selection, or 0 if value does not implement this interface.
767 atk_table_remove_row_selection (AtkTable *table,
770 AtkTableIface *iface;
772 g_return_val_if_fail (table != NULL, FALSE);
773 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
775 iface = ATK_TABLE_GET_IFACE (table);
777 if (iface->remove_row_selection)
778 return (iface->remove_row_selection) (table, row);
783 * atk_table_add_column_selection:
784 * @table: a GObject instance that implements AtkTableIface
785 * @column: a #gint representing a column in @table
787 * Adds the specified @column to the selection.
788 * Note: callers should not rely on %NULL or on a zero value for
789 * indication of whether AtkSelectionIface is implemented, they should
790 * use type checking/interface checking macros or the
791 * atk_get_accessible_table() convenience method.
793 * Returns: a gboolean representing if the column was successfully added to
794 * the selection, or 0 if value does not implement this interface.
797 atk_table_add_column_selection (AtkTable *table,
800 AtkTableIface *iface;
802 g_return_val_if_fail (table != NULL, FALSE);
803 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
805 iface = ATK_TABLE_GET_IFACE (table);
807 if (iface->add_column_selection)
808 return (iface->add_column_selection) (table, column);
813 * atk_table_remove_column_selection:
814 * @table: a GObject instance that implements AtkTableIface
815 * @column: a #gint representing a column in @table
817 * Adds the specified @column to the selection.
818 * Note: callers should not rely on %NULL or on a zero value for
819 * indication of whether AtkSelectionIface is implemented, they should
820 * use type checking/interface checking macros or the
821 * atk_get_accessible_table() convenience method.
823 * Returns: a gboolean representing if the column was successfully removed from
824 * the selection, or 0 if value does not implement this interface.
827 atk_table_remove_column_selection (AtkTable *table,
830 AtkTableIface *iface;
832 g_return_val_if_fail (table != NULL, FALSE);
833 g_return_val_if_fail (ATK_IS_TABLE (table), FALSE);
835 iface = ATK_TABLE_GET_IFACE (table);
837 if (iface->remove_column_selection)
838 return (iface->remove_column_selection) (table, column);
844 * atk_table_set_caption:
845 * @table: a GObject instance that implements AtkTableIface
846 * @caption: a #gchar representing the caption to set for @table
848 * Sets the caption for the table.
851 atk_table_set_caption (AtkTable *table,
854 AtkTableIface *iface;
856 g_return_if_fail (table != NULL);
857 g_return_if_fail (ATK_IS_TABLE (table));
859 iface = ATK_TABLE_GET_IFACE (table);
861 if (iface->set_caption)
862 (iface->set_caption) (table, caption);
866 * atk_table_set_column_description:
867 * @table: a GObject instance that implements AtkTableIface
868 * @column: a #gint representing a column in @table
869 * @description: a #gchar representing the description text
870 * to set for the specified @column of the @table
872 * Sets the description text for the specified @column of the @table.
875 atk_table_set_column_description (AtkTable *table,
879 AtkTableIface *iface;
881 g_return_if_fail (table != NULL);
882 g_return_if_fail (ATK_IS_TABLE (table));
884 iface = ATK_TABLE_GET_IFACE (table);
886 if (iface->set_column_description)
887 (iface->set_column_description) (table, column, description);
891 * atk_table_set_column_header:
892 * @table: a GObject instance that implements AtkTableIface
893 * @column: a #gint representing a column in @table
894 * @header: an #AtkTable
896 * Sets the specified column header to @header.
899 atk_table_set_column_header (AtkTable *table,
903 AtkTableIface *iface;
905 g_return_if_fail (table != NULL);
906 g_return_if_fail (ATK_IS_TABLE (table));
908 iface = ATK_TABLE_GET_IFACE (table);
910 if (iface->set_column_header)
911 (iface->set_column_header) (table, column, header);
915 * atk_table_set_row_description:
916 * @table: a GObject instance that implements AtkTableIface
917 * @row: a #gint representing a row in @table
918 * @description: a #gchar representing the description text
919 * to set for the specified @row of @table
921 * Sets the description text for the specified @row of @table.
924 atk_table_set_row_description (AtkTable *table,
928 AtkTableIface *iface;
930 g_return_if_fail (table != NULL);
931 g_return_if_fail (ATK_IS_TABLE (table));
933 iface = ATK_TABLE_GET_IFACE (table);
935 if (iface->set_row_description)
936 (iface->set_row_description) (table, row, description);
940 * atk_table_set_row_header:
941 * @table: a GObject instance that implements AtkTableIface
942 * @row: a #gint representing a row in @table
943 * @header: an #AtkTable
945 * Sets the specified row header to @header.
948 atk_table_set_row_header (AtkTable *table,
952 AtkTableIface *iface;
954 g_return_if_fail (table != NULL);
955 g_return_if_fail (ATK_IS_TABLE (table));
957 iface = ATK_TABLE_GET_IFACE (table);
959 if (iface->set_row_header)
960 (iface->set_row_header) (table, row, header);
964 * atk_table_set_summary:
965 * @table: a GObject instance that implements AtkTableIface
966 * @accessible: an #AtkObject representing the summary description
969 * Sets the summary description of the table.
972 atk_table_set_summary (AtkTable *table,
973 AtkObject *accessible)
975 AtkTableIface *iface;
977 g_return_if_fail (table != NULL);
978 g_return_if_fail (ATK_IS_TABLE (table));
980 iface = ATK_TABLE_GET_IFACE (table);
982 if (iface->set_summary)
983 (iface->set_summary) (table, accessible);