|
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 |
|
26 extern "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_ |
|
42 typedef struct _AtkTable AtkTable; |
|
43 #endif |
|
44 typedef struct _AtkTableIface AtkTableIface; |
|
45 |
|
46 struct _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 |
|
142 GType atk_table_get_type (void); |
|
143 |
|
144 AtkObject* atk_table_ref_at (AtkTable *table, |
|
145 gint row, |
|
146 gint column); |
|
147 gint atk_table_get_index_at (AtkTable *table, |
|
148 gint row, |
|
149 gint column); |
|
150 gint atk_table_get_column_at_index (AtkTable *table, |
|
151 gint index_); |
|
152 gint atk_table_get_row_at_index (AtkTable *table, |
|
153 gint index_); |
|
154 gint atk_table_get_n_columns (AtkTable *table); |
|
155 gint atk_table_get_n_rows (AtkTable *table); |
|
156 gint atk_table_get_column_extent_at (AtkTable *table, |
|
157 gint row, |
|
158 gint column); |
|
159 gint atk_table_get_row_extent_at (AtkTable *table, |
|
160 gint row, |
|
161 gint column); |
|
162 AtkObject* |
|
163 atk_table_get_caption (AtkTable *table); |
|
164 G_CONST_RETURN gchar* |
|
165 atk_table_get_column_description (AtkTable *table, |
|
166 gint column); |
|
167 AtkObject* atk_table_get_column_header (AtkTable *table, |
|
168 gint column); |
|
169 G_CONST_RETURN gchar* |
|
170 atk_table_get_row_description (AtkTable *table, |
|
171 gint row); |
|
172 AtkObject* atk_table_get_row_header (AtkTable *table, |
|
173 gint row); |
|
174 AtkObject* atk_table_get_summary (AtkTable *table); |
|
175 void atk_table_set_caption (AtkTable *table, |
|
176 AtkObject *caption); |
|
177 void atk_table_set_column_description |
|
178 (AtkTable *table, |
|
179 gint column, |
|
180 const gchar *description); |
|
181 void atk_table_set_column_header (AtkTable *table, |
|
182 gint column, |
|
183 AtkObject *header); |
|
184 void atk_table_set_row_description (AtkTable *table, |
|
185 gint row, |
|
186 const gchar *description); |
|
187 void atk_table_set_row_header (AtkTable *table, |
|
188 gint row, |
|
189 AtkObject *header); |
|
190 void atk_table_set_summary (AtkTable *table, |
|
191 AtkObject *accessible); |
|
192 gint atk_table_get_selected_columns (AtkTable *table, |
|
193 gint **selected); |
|
194 gint atk_table_get_selected_rows (AtkTable *table, |
|
195 gint **selected); |
|
196 gboolean atk_table_is_column_selected (AtkTable *table, |
|
197 gint column); |
|
198 gboolean atk_table_is_row_selected (AtkTable *table, |
|
199 gint row); |
|
200 gboolean atk_table_is_selected (AtkTable *table, |
|
201 gint row, |
|
202 gint column); |
|
203 gboolean atk_table_add_row_selection (AtkTable *table, |
|
204 gint row); |
|
205 gboolean atk_table_remove_row_selection (AtkTable *table, |
|
206 gint row); |
|
207 gboolean atk_table_add_column_selection (AtkTable *table, |
|
208 gint column); |
|
209 gboolean 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__ */ |