2002-09-13 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-statetypes.h
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001, 2002 Sun Microsystems Inc.,
6  * Copyright 2001, 2002 Ximian, Inc.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the
20  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23
24 #ifndef _SPI_STATETYPES_H_
25 #define _SPI_STATETYPES_H_
26
27 #ifdef  __cplusplus
28 extern "C" {
29 #endif
30
31 /* Enumerated type for accessible state */
32
33 typedef enum
34 {
35   SPI_STATE_INVALID,
36   /* Indicates a window is currently the active window */
37   SPI_STATE_ACTIVE,
38   /* Indicates that the object is armed */
39   SPI_STATE_ARMED,
40   /* Indicates the current object is busy */
41   SPI_STATE_BUSY,
42   /* Indicates this object is currently checked */
43   SPI_STATE_CHECKED,
44   /* Indicates this object is collapsed */
45   SPI_STATE_COLLAPSED,
46   /* Indicates the user interface object corresponding to this object no longer exists */
47   SPI_STATE_DEFUNCT,
48   /* Indicates the user can change the contents of this object */
49   SPI_STATE_EDITABLE,
50   /* Indicates that this object is enabled */
51   SPI_STATE_ENABLED,
52   /* Indicates this object allows progressive disclosure of its children */
53   SPI_STATE_EXPANDABLE,
54   /* Indicates this object its expanded */
55   SPI_STATE_EXPANDED,
56   /*
57    * Indicates this object can accept keyboard focus, which means all
58    * events resulting from typing on the keyboard will normally be passed
59    * to it when it has focus
60    */
61   SPI_STATE_FOCUSABLE,
62   /* Indicates this object currently has the keyboard focus */
63   SPI_STATE_FOCUSED,
64   /* Indicates the orientation of thsi object is horizontal */
65   SPI_STATE_HORIZONTAL,
66   /* Indicates this object is minimized and is represented only by an icon */
67   SPI_STATE_ICONIFIED,
68   /*
69    * Indicates something must be done with this object before the user can
70    * interact with an object in a different window.
71    */
72   SPI_STATE_MODAL,
73   /* Indicates this (text) object can contain multiple lines of text */
74   SPI_STATE_MULTI_LINE,
75   /*
76    * Indicates this object allows more than one of its children to be
77    * selected at the same time
78    */
79   SPI_STATE_MULTISELECTABLE,
80   /* Indicates this object paints every pixel within its rectangular region. */
81   SPI_STATE_OPAQUE,
82   /* Indicates this object is currently pressed */
83   SPI_STATE_PRESSED,
84   /* Indicates the size of this object is not fixed */
85   SPI_STATE_RESIZABLE,
86   /*
87    * Indicates this object is the child of an object that allows its
88    * children to be selected and that this child is one of those children
89    * that can be selected.
90    */
91   SPI_STATE_SELECTABLE,
92   /*
93    * Indicates this object is the child of an object that allows its
94    * children to be selected and that this child is one of those children
95    * that has been selected.
96    */
97   SPI_STATE_SELECTED,
98   /* Indicates this object is sensitive */
99   SPI_STATE_SENSITIVE,
100   /*
101    * Indicates this object, the object's parent, the object's parent's
102    * parent, and so on, are all visible
103    */
104   SPI_STATE_SHOWING,
105   /* Indicates this (text) object can contain only a single line of text */
106   SPI_STATE_SINGLE_LINE,
107   /* Indicates that the index associated with this object has changed since the user accessed the object. */
108   SPI_STATE_STALE,
109   /* Indicates this object is transient */
110   SPI_STATE_TRANSIENT,
111   /* Indicates the orientation of this object is vertical */
112   SPI_STATE_VERTICAL,
113   /* Indicates this object is visible */
114   SPI_STATE_VISIBLE,
115   SPI_STATE_LAST_DEFINED
116 } AccessibleState;
117
118 #ifdef  __cplusplus
119 }
120 #endif
121
122 #endif