source: trunk/third/atk/atk/atktable.h @ 18245

Revision 18245, 12.0 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18244, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1/* ATK -  Accessibility Toolkit
2 * Copyright 2001 Sun Microsystems Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library 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.
8 *
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 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library 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.
18 */
19
20#ifndef __ATK_TABLE_H__
21#define __ATK_TABLE_H__
22
23#include <atk/atkobject.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif /* __cplusplus */
28
29/*
30 * AtkTable describes a user-interface component that presents data in
31 * two-dimensional table format.
32 */
33
34
35#define ATK_TYPE_TABLE                    (atk_table_get_type ())
36#define ATK_IS_TABLE(obj)                 G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TABLE)
37#define ATK_TABLE(obj)                    G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_TABLE, AtkTable)
38#define ATK_TABLE_GET_IFACE(obj)          (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_TABLE, AtkTableIface))
39
40#ifndef _TYPEDEF_ATK_TABLE_
41#define _TYPEDEF_ATK_TABLE_
42typedef struct _AtkTable AtkTable;
43#endif
44typedef struct _AtkTableIface AtkTableIface;
45
46struct _AtkTableIface
47{
48  GTypeInterface parent;
49
50  AtkObject*        (* ref_at)                   (AtkTable      *table,
51                                                  gint          row,
52                                                  gint          column);
53  gint              (* get_index_at)             (AtkTable      *table,
54                                                  gint          row,
55                                                  gint          column);
56  gint              (* get_column_at_index)      (AtkTable      *table,
57                                                  gint          index_);
58  gint              (* get_row_at_index)         (AtkTable      *table,
59                                                  gint          index_);
60  gint              (* get_n_columns)           (AtkTable      *table);
61  gint              (* get_n_rows)               (AtkTable      *table);
62  gint              (* get_column_extent_at)     (AtkTable      *table,
63                                                  gint          row,
64                                                  gint          column);
65  gint              (* get_row_extent_at)        (AtkTable      *table,
66                                                  gint          row,
67                                                  gint          column);
68  AtkObject*
69                    (* get_caption)              (AtkTable      *table);
70  G_CONST_RETURN gchar*
71                    (* get_column_description)   (AtkTable      *table,
72                                                  gint          column);
73  AtkObject*        (* get_column_header)        (AtkTable      *table,
74                                                  gint          column);
75  G_CONST_RETURN gchar*
76                    (* get_row_description)      (AtkTable      *table,
77                                                  gint          row);
78  AtkObject*        (* get_row_header)           (AtkTable      *table,
79                                                  gint          row);
80  AtkObject*        (* get_summary)              (AtkTable      *table);
81  void              (* set_caption)              (AtkTable      *table,
82                                                  AtkObject     *caption);
83  void              (* set_column_description)   (AtkTable      *table,
84                                                  gint          column,
85                                                  const gchar   *description);
86  void              (* set_column_header)        (AtkTable      *table,
87                                                  gint          column,
88                                                  AtkObject     *header);
89  void              (* set_row_description)      (AtkTable      *table,
90                                                  gint          row,
91                                                  const gchar   *description);
92  void              (* set_row_header)           (AtkTable      *table,
93                                                  gint          row,
94                                                  AtkObject     *header);
95  void              (* set_summary)              (AtkTable      *table,
96                                                  AtkObject     *accessible);
97  gint              (* get_selected_columns)     (AtkTable      *table,
98                                                  gint          **selected);
99  gint              (* get_selected_rows)        (AtkTable      *table,
100                                                  gint          **selected);
101  gboolean          (* is_column_selected)       (AtkTable      *table,
102                                                  gint          column);
103  gboolean          (* is_row_selected)          (AtkTable      *table,
104                                                  gint          row);
105  gboolean          (* is_selected)              (AtkTable      *table,
106                                                  gint          row,
107                                                  gint          column);
108  gboolean          (* add_row_selection)        (AtkTable      *table,
109                                                  gint          row);
110  gboolean          (* remove_row_selection)     (AtkTable      *table,
111                                                  gint          row);
112  gboolean          (* add_column_selection)     (AtkTable      *table,
113                                                  gint          column);
114  gboolean          (* remove_column_selection)  (AtkTable      *table,
115                                                  gint          column);
116
117  /*
118   * signal handlers
119   */
120  void              (* row_inserted)             (AtkTable      *table,
121                                                  gint          row,
122                                                  gint          num_inserted);
123  void              (* column_inserted)          (AtkTable      *table,
124                                                  gint          column,
125                                                  gint          num_inserted);
126  void              (* row_deleted)              (AtkTable      *table,
127                                                  gint          row,
128                                                  gint          num_deleted);
129  void              (* column_deleted)           (AtkTable      *table,
130                                                  gint          column,
131                                                  gint          num_deleted);
132  void              (* row_reordered)            (AtkTable      *table);
133  void              (* column_reordered)         (AtkTable      *table);
134  void              (* model_changed)            (AtkTable      *table);
135
136  AtkFunction       pad1;
137  AtkFunction       pad2;
138  AtkFunction       pad3;
139  AtkFunction       pad4;
140};
141
142GType atk_table_get_type (void);
143
144AtkObject*        atk_table_ref_at               (AtkTable         *table,
145                                                  gint             row,
146                                                  gint             column);
147gint              atk_table_get_index_at         (AtkTable         *table,
148                                                  gint             row,
149                                                  gint             column);
150gint              atk_table_get_column_at_index  (AtkTable         *table,
151                                                  gint             index_);
152gint              atk_table_get_row_at_index     (AtkTable         *table,
153                                                  gint             index_);
154gint              atk_table_get_n_columns        (AtkTable         *table);
155gint              atk_table_get_n_rows           (AtkTable         *table);
156gint              atk_table_get_column_extent_at (AtkTable         *table,
157                                                  gint             row,
158                                                  gint             column);
159gint              atk_table_get_row_extent_at    (AtkTable         *table,
160                                                  gint             row,
161                                                  gint             column);
162AtkObject*
163                  atk_table_get_caption          (AtkTable         *table);
164G_CONST_RETURN gchar*
165                  atk_table_get_column_description (AtkTable         *table,
166                                                  gint             column);
167AtkObject*        atk_table_get_column_header    (AtkTable         *table,
168                                                  gint             column);
169G_CONST_RETURN gchar*
170                  atk_table_get_row_description  (AtkTable         *table,
171                                                  gint             row);
172AtkObject*        atk_table_get_row_header       (AtkTable         *table,
173                                                  gint             row);
174AtkObject*        atk_table_get_summary          (AtkTable         *table);
175void              atk_table_set_caption          (AtkTable         *table,
176                                                  AtkObject        *caption);
177void              atk_table_set_column_description
178                                                 (AtkTable         *table,
179                                                  gint             column,
180                                                  const gchar      *description);
181void              atk_table_set_column_header    (AtkTable         *table,
182                                                  gint             column,
183                                                  AtkObject        *header);
184void              atk_table_set_row_description  (AtkTable         *table,
185                                                  gint             row,
186                                                  const gchar      *description);
187void              atk_table_set_row_header       (AtkTable         *table,
188                                                  gint             row,
189                                                  AtkObject        *header);
190void              atk_table_set_summary          (AtkTable         *table,
191                                                  AtkObject        *accessible);
192gint              atk_table_get_selected_columns (AtkTable         *table,
193                                                  gint             **selected);
194gint              atk_table_get_selected_rows    (AtkTable         *table,
195                                                  gint             **selected);
196gboolean          atk_table_is_column_selected   (AtkTable         *table,
197                                                  gint             column);
198gboolean          atk_table_is_row_selected      (AtkTable         *table,
199                                                  gint             row);
200gboolean          atk_table_is_selected          (AtkTable         *table,
201                                                  gint             row,
202                                                  gint             column);
203gboolean          atk_table_add_row_selection    (AtkTable         *table,
204                                                  gint             row);
205gboolean          atk_table_remove_row_selection (AtkTable         *table,
206                                                  gint             row);
207gboolean          atk_table_add_column_selection (AtkTable         *table,
208                                                  gint             column);
209gboolean          atk_table_remove_column_selection 
210                                                 (AtkTable         *table,
211                                                  gint             column);
212
213#ifdef __cplusplus
214}
215#endif /* __cplusplus */
216
217
218#endif /* __ATK_TABLE_H__ */
Note: See TracBrowser for help on using the repository browser.