source: trunk/third/gail/gail/gailcellparent.h @ 18612

Revision 18612, 4.0 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18611, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
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
29extern "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_
48typedef struct _GailCellParent GailCellParent;
49#endif
50typedef struct _GailCellParentIface GailCellParentIface;
51
52struct _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
69GType  gail_cell_parent_get_type               (void);
70
71void   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);
79void  gail_cell_parent_get_cell_area           (GailCellParent        *parent,
80                                                GailCell              *cell,
81                                                GdkRectangle          *cell_rect);
82gboolean gail_cell_parent_grab_focus           (GailCellParent        *parent,
83                                                GailCell              *cell);
84
85#ifdef __cplusplus
86}
87#endif /* __cplusplus */
88#endif /* __GAIL_CELL_PARENT_H__ */
Note: See TracBrowser for help on using the repository browser.