Revved to 1.10.3, to fix previous bad dist due to libtool bug.
[atk.git] / atk / atkstate.h
blob68179c9800daefcc4cbef2ada7075c695dbec424
1 /* ATK - Accessibility Toolkit
2 * Copyright 2001 Sun Microsystems Inc.
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.
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.
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.
20 #ifndef __ATK_STATE_H__
21 #define __ATK_STATE_H__
23 #ifdef __cplusplus
24 extern "C" {
25 #endif /* __cplusplus */
27 #include <glib-object.h>
29 /**
30 *AtkStateType:
31 *@ATK_STATE_INVALID: Indicates an invalid state
32 *@ATK_STATE_ACTIVE: Indicates a window is currently the active window
33 *@ATK_STATE_ARMED: Indicates that the object is armed
34 *@ATK_STATE_BUSY: Indicates the current object is busy
35 *@ATK_STATE_CHECKED: Indicates this object is currently checked
36 *@ATK_STATE_DEFUNCT: Indicates the user interface object corresponding to this object no longer exists
37 *@ATK_STATE_EDITABLE: Indicates the user can change the contents of this object
38 *@ATK_STATE_ENABLED: Indicates that this object is enabled. An inconsistent GtkToggleButton is an example of an object which is sensitive but not enabled.
39 *@ATK_STATE_EXPANDABLE: Indicates this object allows progressive disclosure of its children
40 *@ATK_STATE_EXPANDED: Indicates this object its expanded
41 *@ATK_STATE_FOCUSABLE: Indicates this object can accept keyboard focus, which means all events resulting from typing on the keyboard will normally be passed to it when it has focus
42 *@ATK_STATE_FOCUSED: Indicates this object currently has the keyboard focus
43 *@ATK_STATE_HORIZONTAL: Indicates the orientation of this object is horizontal
44 *@ATK_STATE_ICONIFIED: Indicates this object is minimized and is represented only by an icon
45 *@ATK_STATE_MODAL: Indicates something must be done with this object before the user can interact with an object in a different window
46 *@ATK_STATE_MULTI_LINE: Indicates this (text) object can contain multiple lines of text
47 *@ATK_STATE_MULTISELECTABLE: Indicates this object allows more than one of its children to be selected at the same time
48 *@ATK_STATE_OPAQUE: Indicates this object paints every pixel within its rectangular region
49 *@ATK_STATE_PRESSED: Indicates this object is currently pressed
50 *@ATK_STATE_RESIZABLE: Indicates the size of this object is not fixed
51 *@ATK_STATE_SELECTABLE: Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that can be selected
52 *@ATK_STATE_SELECTED: Indicates this object is the child of an object that allows its children to be selected and that this child is one of those children that has been selected
53 *@ATK_STATE_SENSITIVE: Indicates this object is sensitive
54 *@ATK_STATE_SHOWING: Indicates this object, the object's parent, the object's parent's parent, and so on, are all visible
55 *@ATK_STATE_SINGLE_LINE: Indicates this (text) object can contain only a single line of text
56 *@ATK_STATE_STALE: Indicates that the index associated with this object has changed since the user accessed the object.
57 *@ATK_STATE_TRANSIENT: Indicates this object is transient
58 *@ATK_STATE_VERTICAL: Indicates the orientation of this object is vertical
59 *@ATK_STATE_VISIBLE: Indicates this object is visible
60 *@ATK_STATE_MANAGES_DESCENDANTS: Indicates that "active-descendant-changed" event
61 * is sent when children become 'active' (i.e. are selected or navigated to onscreen).
62 * Used to prevent need to enumerate all children in very large containers, like tables.
63 *@ATK_STATE_INDETERMINATE: Indicates that a check box is in a state other than checked or not checked.
64 *@ATK_STATE_TRUNCATED: Indicates that an object is truncated, e.g. a text value in a speradsheet cell.
65 *@ATK_STATE_REQUIRED: Indicates that explicit user interaction with an object is required by the user interface, e.g. a required field in a "web-form" interface.
66 *@ATK_STATE_LAST_DEFINED: Not a valid state, used for finding end of enumeration
68 *The possible types of states of an object
69 **/
70 typedef enum
72 ATK_STATE_INVALID,
73 ATK_STATE_ACTIVE,
74 ATK_STATE_ARMED,
75 ATK_STATE_BUSY,
76 ATK_STATE_CHECKED,
77 ATK_STATE_DEFUNCT,
78 ATK_STATE_EDITABLE,
79 ATK_STATE_ENABLED,
80 ATK_STATE_EXPANDABLE,
81 ATK_STATE_EXPANDED,
82 ATK_STATE_FOCUSABLE,
83 ATK_STATE_FOCUSED,
84 ATK_STATE_HORIZONTAL,
85 ATK_STATE_ICONIFIED,
86 ATK_STATE_MODAL,
87 ATK_STATE_MULTI_LINE,
88 ATK_STATE_MULTISELECTABLE,
89 ATK_STATE_OPAQUE,
90 ATK_STATE_PRESSED,
91 ATK_STATE_RESIZABLE,
92 ATK_STATE_SELECTABLE,
93 ATK_STATE_SELECTED,
94 ATK_STATE_SENSITIVE,
95 ATK_STATE_SHOWING,
96 ATK_STATE_SINGLE_LINE,
97 ATK_STATE_STALE,
98 ATK_STATE_TRANSIENT,
99 ATK_STATE_VERTICAL,
100 ATK_STATE_VISIBLE,
101 ATK_STATE_MANAGES_DESCENDANTS,
102 ATK_STATE_INDETERMINATE,
103 ATK_STATE_TRUNCATED,
104 ATK_STATE_REQUIRED,
105 ATK_STATE_LAST_DEFINED
106 } AtkStateType;
108 typedef guint64 AtkState;
110 AtkStateType atk_state_type_register (const gchar *name);
112 G_CONST_RETURN gchar* atk_state_type_get_name (AtkStateType type);
113 AtkStateType atk_state_type_for_name (const gchar *name);
115 #ifdef __cplusplus
117 #endif /* __cplusplus */
119 #endif /* __ATK_STATE_H__ */