Minor cleanup of initial checkin.
[platform/core/uifw/at-spi2-atk.git] / idl / State.idl
1 /* 
2  * AT-SPI - Assistive Technology Service Provider Interface 
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 #ifndef _ACCESSIBILITY_STATE_IDL
24 #define _ACCESSIBILITY_STATE_IDL
25
26 #if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
27 %{
28 #pragma include_defs State.h
29 %}
30 #pragma inhibit push
31 #endif
32
33 module Accessibility {
34
35   enum StateType {
36   STATE_INVALID,
37   /* Indicates a window is currently the active window */
38   STATE_ACTIVE,
39   /* Indicates that the object is armed */
40   STATE_ARMED,
41   /* Indicates the current object is busy */
42   STATE_BUSY,
43   /* Indicates this object is currently checked */
44   STATE_CHECKED,
45   /* Indicates this object is collapsed */
46   STATE_COLLAPSED,
47   /* Indicates the user can change the contents of this object */
48   STATE_EDITABLE,
49   /* Indicates this object allows progressive disclosure of its children */
50   STATE_EXPANDABLE,
51   /* Indicates this object its expanded */
52   STATE_EXPANDED,
53   /*
54    * Indicates this object can accept keyboard focus, which means all
55    * events resulting from typing on the keyboard will normally be passed
56    * to it when it has focus
57    */
58   STATE_FOCUSABLE,
59   /* Indicates this object currently has the keyboard focus */
60   STATE_FOCUSED,
61   /* Indicates the orientation of thsi object is horizontal */
62   STATE_HORIZONTAL,
63   /* Indicates this object is minimized and is represented only by an icon */
64   STATE_ICONIFIED,
65   /*
66    * Indicates something must be done with this object before the user can
67    * interact with an object in a different window.
68    */
69   STATE_MODAL,
70   /* Indicates this (text) object can contain multiple lines of text */
71   STATE_MULTI_LINE,
72   /*
73    * Indicates this object allows more than one of its children to be
74    * selected at the same time
75    */
76   STATE_MULTISELECTABLE,
77   /* Indicates this object paints every pixel within its rectangular region. */
78   STATE_OPAQUE,
79   /* Indicates this object is currently pressed */
80   STATE_PRESSED,
81   /* Indicates the size of this object is not fixed */
82   STATE_RESIZABLE,
83   /*
84    * Indicates this object is the child of an object that allows its
85    * children to be selected and that this child is one of those children
86    * that can be selected.
87    */
88   STATE_SELECTABLE,
89   /*
90    * Indicates this object is the child of an object that allows its
91    * children to be selected and that this child is one of those children
92    * that has been selected.
93    */
94   STATE_SELECTED,
95   /* Indicates this object is sensitive */
96   STATE_SENSITIVE,
97   /*
98    * Indicates this object, the object's parent, the object's parent's
99    * parent, and so on, are all visible
100    */
101   STATE_SHOWING,
102   /* Indicates this (text) object can contain only a single line of text */
103   STATE_SINGLE_LINE,
104   /* Indicates this object is transient */
105   STATE_TRANSIENT,
106   /* Indicates the orientation of this object is vertical */
107   STATE_VERTICAL,
108   /* Indicates this object is visible */
109   STATE_VISIBLE,
110   STATE_LAST_DEFINED
111   };
112
113   interface StateSet {
114     boolean             contains (in StateType state);
115     void                add (in StateType state);
116     void                remove (in StateType state);
117     boolean             equals (in StateSet stateSet);
118     void                compare (in StateSet compareState, out StateSet differenceSet);
119     boolean             isEmpty ();
120   };
121 };
122 #if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
123 #pragma inhibit pop
124 #endif
125 #endif