1 | /* GAIL - The GNOME Accessibility Implementation Library |
---|
2 | * |
---|
3 | * Copyright 2001 Sun Microsystems Inc. |
---|
4 | * |
---|
5 | * This library is free software; you can redistribute it and/or |
---|
6 | * modify it under the terms of the GNU Library General Public |
---|
7 | * License as published by the Free Software Foundation; either |
---|
8 | * version 2 of the License, or (at your option) any later version. |
---|
9 | * |
---|
10 | * This library is distributed in the hope that it will be useful, |
---|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
13 | * Library General Public License for more details. |
---|
14 | * |
---|
15 | * You should have received a copy of the GNU Library General Public |
---|
16 | * License along with this library; if not, write to the |
---|
17 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
---|
18 | * Boston, MA 02111-1307, USA. |
---|
19 | */ |
---|
20 | |
---|
21 | #ifndef __GAIL_CELL_PARENT_H__ |
---|
22 | #define __GAIL_CELL_PARENT_H__ |
---|
23 | |
---|
24 | #include <atk/atkobject.h> |
---|
25 | #include <atk/atkutil.h> |
---|
26 | #include <gail/gailcell.h> |
---|
27 | |
---|
28 | #ifdef __cplusplus |
---|
29 | extern "C" { |
---|
30 | #endif /* __cplusplus */ |
---|
31 | |
---|
32 | /* |
---|
33 | * The GailCellParent interface should be supported by any object which |
---|
34 | * contains children which are flyweights, i.e. do not have corresponding |
---|
35 | * widgets and the children need help from their parent to provide |
---|
36 | * functionality. One example is GailTreeView where the children GailCell |
---|
37 | * need help from the GailTreeView in order to implement |
---|
38 | * atk_component_get_extents |
---|
39 | */ |
---|
40 | |
---|
41 | #define GAIL_TYPE_CELL_PARENT (gail_cell_parent_get_type ()) |
---|
42 | #define GAIL_IS_CELL_PARENT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_CELL_PARENT) |
---|
43 | #define GAIL_CELL_PARENT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_CELL_PARENT, GailCellParent) |
---|
44 | #define GAIL_CELL_PARENT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAIL_TYPE_CELL_PARENT, GailCellParentIface)) |
---|
45 | |
---|
46 | #ifndef _TYPEDEF_GAIL_CELL_PARENT_ |
---|
47 | #define _TYPEDEF_GAIL_CELL_PARENT_ |
---|
48 | typedef struct _GailCellParent GailCellParent; |
---|
49 | #endif |
---|
50 | typedef struct _GailCellParentIface GailCellParentIface; |
---|
51 | |
---|
52 | struct _GailCellParentIface |
---|
53 | { |
---|
54 | GTypeInterface parent; |
---|
55 | void ( *get_cell_extents) (GailCellParent *parent, |
---|
56 | GailCell *cell, |
---|
57 | gint *x, |
---|
58 | gint *y, |
---|
59 | gint *width, |
---|
60 | gint *height, |
---|
61 | AtkCoordType coord_type); |
---|
62 | void ( *get_cell_area) (GailCellParent *parent, |
---|
63 | GailCell *cell, |
---|
64 | GdkRectangle *cell_rect); |
---|
65 | gboolean ( *grab_focus) (GailCellParent *parent, |
---|
66 | GailCell *cell); |
---|
67 | }; |
---|
68 | |
---|
69 | GType gail_cell_parent_get_type (void); |
---|
70 | |
---|
71 | void gail_cell_parent_get_cell_extents (GailCellParent *parent, |
---|
72 | GailCell *cell, |
---|
73 | gint *x, |
---|
74 | gint *y, |
---|
75 | gint *width, |
---|
76 | gint *height, |
---|
77 | AtkCoordType coord_type |
---|
78 | ); |
---|
79 | void gail_cell_parent_get_cell_area (GailCellParent *parent, |
---|
80 | GailCell *cell, |
---|
81 | GdkRectangle *cell_rect); |
---|
82 | gboolean gail_cell_parent_grab_focus (GailCellParent *parent, |
---|
83 | GailCell *cell); |
---|
84 | |
---|
85 | #ifdef __cplusplus |
---|
86 | } |
---|
87 | #endif /* __cplusplus */ |
---|
88 | #endif /* __GAIL_CELL_PARENT_H__ */ |
---|