atk/Makefile.am: Dist atk.rc
[platform/upstream/atk.git] / atk / atktable.h
old mode 100755 (executable)
new mode 100644 (file)
index 87ab435..19b48ab
 #ifndef __ATK_TABLE_H__
 #define __ATK_TABLE_H__
 
-#include <atk/atkobject.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
 
-/*
- * AtkTable describes a user-interface component that presents data in
- * two-dimensional table format.
- */
+#include <atk/atkobject.h>
 
+G_BEGIN_DECLS
 
 #define ATK_TYPE_TABLE                    (atk_table_get_type ())
 #define ATK_IS_TABLE(obj)                 G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TABLE)
@@ -53,119 +49,185 @@ struct _AtkTableIface
   gint              (* get_index_at)             (AtkTable      *table,
                                                   gint          row,
                                                   gint          column);
-  gint              (* get_row_at_index)         (AtkTable      *table,
-                                                  gint          index);
   gint              (* get_column_at_index)      (AtkTable      *table,
-                                                  gint          index);
-  AtkObject*        (* get_caption)              (AtkTable      *table);
+                                                  gint          index_);
+  gint              (* get_row_at_index)         (AtkTable      *table,
+                                                  gint          index_);
   gint              (* get_n_columns)           (AtkTable      *table);
-  AtkObject*        (* get_column_description)   (AtkTable      *table,
-                                                  gint          column);
+  gint              (* get_n_rows)               (AtkTable      *table);
   gint              (* get_column_extent_at)     (AtkTable      *table,
                                                   gint          row,
                                                   gint          column);
-  AtkTable*         (* get_column_header)        (AtkTable      *table);
-  gint              (* get_n_rows)               (AtkTable      *table);
-  AtkObject*        (* get_row_description)      (AtkTable      *table,
-                                                  gint          row);
   gint              (* get_row_extent_at)        (AtkTable      *table,
                                                   gint          row,
                                                   gint          column);
-  AtkTable*         (* get_row_header)           (AtkTable      *table);
-  AtkObject*        (* get_summary)              (AtkTable      *table);
-  gint*             (* get_selected_columns)     (AtkTable      *table);
-  gint*             (* get_selected_rows)        (AtkTable      *table);
-  gboolean          (* is_column_selected)       (AtkTable      *table,
+  AtkObject*
+                    (* get_caption)              (AtkTable      *table);
+  const gchar*      (* get_column_description)   (AtkTable      *table,
                                                   gint          column);
-  gboolean          (* is_row_selected)          (AtkTable      *table,
+  AtkObject*        (* get_column_header)        (AtkTable      *table,
+                                                 gint          column);
+  const gchar*      (* get_row_description)      (AtkTable      *table,
                                                   gint          row);
-  gboolean          (* is_selected)              (AtkTable      *table,
-                                                  gint          row,
-                                                  gint          column);
+  AtkObject*        (* get_row_header)           (AtkTable      *table,
+                                                 gint          row);
+  AtkObject*        (* get_summary)              (AtkTable      *table);
   void              (* set_caption)              (AtkTable      *table,
-                                                  AtkObject     *accessible);
+                                                  AtkObject     *caption);
   void              (* set_column_description)   (AtkTable      *table,
                                                   gint          column,
-                                                  AtkObject     *accessible);
+                                                  const gchar   *description);
   void              (* set_column_header)        (AtkTable      *table,
                                                   gint          column,
-                                                  AtkTable      *header);
+                                                  AtkObject     *header);
   void              (* set_row_description)      (AtkTable      *table,
                                                   gint          row,
-                                                  AtkObject     *accessible);
+                                                  const gchar   *description);
   void              (* set_row_header)           (AtkTable      *table,
                                                   gint          row,
-                                                  AtkTable      *header);
+                                                  AtkObject     *header);
   void              (* set_summary)              (AtkTable      *table,
                                                   AtkObject     *accessible);
+  gint              (* get_selected_columns)     (AtkTable      *table,
+                                                  gint          **selected);
+  gint              (* get_selected_rows)        (AtkTable      *table,
+                                                  gint          **selected);
+  gboolean          (* is_column_selected)       (AtkTable      *table,
+                                                  gint          column);
+  gboolean          (* is_row_selected)          (AtkTable      *table,
+                                                  gint          row);
+  gboolean          (* is_selected)              (AtkTable      *table,
+                                                  gint          row,
+                                                  gint          column);
+  gboolean          (* add_row_selection)        (AtkTable      *table,
+                                                  gint          row);
+  gboolean          (* remove_row_selection)     (AtkTable      *table,
+                                                  gint          row);
+  gboolean          (* add_column_selection)     (AtkTable      *table,
+                                                  gint          column);
+  gboolean          (* remove_column_selection)  (AtkTable      *table,
+                                                  gint          column);
+
   /*
    * signal handlers
    */
-  void              (* model_changed)            (AtkTable      *table,
-                                                  gint          type,
-                                                  gint          first_row,
-                                                  gint          last_row,
-                                                  gint          first_column,
-                                                  gint          last_column);
+  void              (* row_inserted)             (AtkTable      *table,
+                                                  gint          row,
+                                                  gint          num_inserted);
+  void              (* column_inserted)          (AtkTable      *table,
+                                                  gint          column,
+                                                  gint          num_inserted);
+  void              (* row_deleted)              (AtkTable      *table,
+                                                  gint          row,
+                                                  gint          num_deleted);
+  void              (* column_deleted)           (AtkTable      *table,
+                                                  gint          column,
+                                                  gint          num_deleted);
+  void              (* row_reordered)            (AtkTable      *table);
+  void              (* column_reordered)         (AtkTable      *table);
+  void              (* model_changed)            (AtkTable      *table);
 };
 
-GType atk_table_get_type ();
+ATK_AVAILABLE_IN_ALL
+GType atk_table_get_type (void);
 
+ATK_AVAILABLE_IN_ALL
 AtkObject*        atk_table_ref_at               (AtkTable         *table,
                                                   gint             row,
                                                   gint             column);
+ATK_DEPRECATED_IN_2_12_FOR(atk_table_ref_at)
 gint              atk_table_get_index_at         (AtkTable         *table,
                                                   gint             row,
                                                   gint             column);
-gint              atk_table_get_row_at_index     (AtkTable         *table,
-                                                  gint             index);
+ATK_DEPRECATED_IN_2_12
 gint              atk_table_get_column_at_index  (AtkTable         *table,
-                                                  gint             index);
-AtkObject*        atk_table_get_caption          (AtkTable         *table);
+                                                  gint             index_);
+ATK_DEPRECATED_IN_2_12
+gint              atk_table_get_row_at_index     (AtkTable         *table,
+                                                  gint             index_);
+ATK_AVAILABLE_IN_ALL
 gint              atk_table_get_n_columns        (AtkTable         *table);
-AtkObject*        atk_table_get_column_description (AtkTable         *table,
-                                                    gint             column);
+ATK_AVAILABLE_IN_ALL
+gint              atk_table_get_n_rows           (AtkTable         *table);
+ATK_AVAILABLE_IN_ALL
 gint              atk_table_get_column_extent_at (AtkTable         *table,
                                                   gint             row,
                                                   gint             column);
-AtkTable*         atk_table_get_column_header    (AtkTable         *table);
-gint              atk_table_get_n_rows           (AtkTable         *table);
-AtkObject*        atk_table_get_row_description  (AtkTable         *table,
-                                                  gint             r);
+ATK_AVAILABLE_IN_ALL
 gint              atk_table_get_row_extent_at    (AtkTable         *table,
                                                   gint             row,
                                                   gint             column);
-AtkTable*         atk_table_get_row_header       (AtkTable         *table);
-AtkObject*        atk_table_get_summary          (AtkTable         *table);
-gint*             atk_table_get_selected_columns (AtkTable         *table);
-gint*             atk_table_get_selected_rows    (AtkTable         *table);
-gboolean          atk_table_is_column_selected   (AtkTable         *table,
+ATK_AVAILABLE_IN_ALL
+AtkObject*
+                  atk_table_get_caption          (AtkTable         *table);
+ATK_AVAILABLE_IN_ALL
+const gchar*      atk_table_get_column_description
+                                                 (AtkTable         *table,
                                                   gint             column);
-gboolean          atk_table_is_row_selected      (AtkTable         *table,
+ATK_AVAILABLE_IN_ALL
+AtkObject*        atk_table_get_column_header    (AtkTable         *table,
+                                                 gint             column);
+ATK_AVAILABLE_IN_ALL
+const gchar*      atk_table_get_row_description  (AtkTable         *table,
                                                   gint             row);
-gboolean          atk_table_is_selected          (AtkTable         *table,
-                                                  gint             row,
-                                                  gint             column);
+ATK_AVAILABLE_IN_ALL
+AtkObject*        atk_table_get_row_header       (AtkTable         *table,
+                                                 gint             row);
+ATK_AVAILABLE_IN_ALL
+AtkObject*        atk_table_get_summary          (AtkTable         *table);
+ATK_AVAILABLE_IN_ALL
 void              atk_table_set_caption          (AtkTable         *table,
-                                                  AtkObject        *accessible);
-void              atk_table_set_column_description (AtkTable       *table,
-                                                    gint           column,
-                                                    AtkObject      *accessible);
+                                                  AtkObject        *caption);
+ATK_AVAILABLE_IN_ALL
+void              atk_table_set_column_description 
+                                                 (AtkTable         *table,
+                                                  gint             column,
+                                                  const gchar      *description);
+ATK_AVAILABLE_IN_ALL
 void              atk_table_set_column_header    (AtkTable         *table,
                                                   gint             column,
-                                                  AtkTable         *header);
+                                                  AtkObject        *header);
+ATK_AVAILABLE_IN_ALL
 void              atk_table_set_row_description  (AtkTable         *table,
                                                   gint             row,
-                                                  AtkObject        *accessible);
+                                                  const gchar      *description);
+ATK_AVAILABLE_IN_ALL
 void              atk_table_set_row_header       (AtkTable         *table,
                                                   gint             row,
-                                                  AtkTable         *header);
+                                                  AtkObject        *header);
+ATK_AVAILABLE_IN_ALL
 void              atk_table_set_summary          (AtkTable         *table,
                                                   AtkObject        *accessible);
+ATK_AVAILABLE_IN_ALL
+gint              atk_table_get_selected_columns (AtkTable         *table,
+                                                  gint             **selected);
+ATK_AVAILABLE_IN_ALL
+gint              atk_table_get_selected_rows    (AtkTable         *table,
+                                                  gint             **selected);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_is_column_selected   (AtkTable         *table,
+                                                  gint             column);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_is_row_selected      (AtkTable         *table,
+                                                  gint             row);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_is_selected          (AtkTable         *table,
+                                                  gint             row,
+                                                  gint             column);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_add_row_selection    (AtkTable         *table,
+                                                  gint             row);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_remove_row_selection (AtkTable         *table,
+                                                  gint             row);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_add_column_selection (AtkTable         *table,
+                                                  gint             column);
+ATK_AVAILABLE_IN_ALL
+gboolean          atk_table_remove_column_selection  
+                                                 (AtkTable         *table,
+                                                  gint             column);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
 
 #endif /* __ATK_TABLE_H__ */