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__ */ |
---|