idl/Registry.idl : temporarily changed register_Application
[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 module Accessibility {
27
28   enum StateType {
29   STATE_INVALID,
30   /* Indicates a window is currently the active window */
31   STATE_ACTIVE,
32   /* Indicates that the object is armed */
33   STATE_ARMED,
34   /* Indicates the current object is busy */
35   STATE_BUSY,
36   /* Indicates this object is currently checked */
37   STATE_CHECKED,
38   /* Indicates this object is collapsed */
39   STATE_COLLAPSED,
40   /* Indicates the user can change the contents of this object */
41   STATE_EDITABLE,
42   /* Indicates this object allows progressive disclosure of its children */
43   STATE_EXPANDABLE,
44   /* Indicates this object its expanded */
45   STATE_EXPANDED,
46   /*
47    * Indicates this object can accept keyboard focus, which means all
48    * events resulting from typing on the keyboard will normally be passed
49    * to it when it has focus
50    */
51   STATE_FOCUSABLE,
52   /* Indicates this object currently has the keyboard focus */
53   STATE_FOCUSED,
54   /* Indicates the orientation of thsi object is horizontal */
55   STATE_HORIZONTAL,
56   /* Indicates this object is minimized and is represented only by an icon */
57   STATE_ICONIFIED,
58   /*
59    * Indicates something must be done with this object before the user can
60    * interact with an object in a different window.
61    */
62   STATE_MODAL,
63   /* Indicates this (text) object can contain multiple lines of text */
64   STATE_MULTI_LINE,
65   /*
66    * Indicates this object allows more than one of its children to be
67    * selected at the same time
68    */
69   STATE_MULTISELECTABLE,
70   /* Indicates this object paints every pixel within its rectangular region. */
71   STATE_OPAQUE,
72   /* Indicates this object is currently pressed */
73   STATE_PRESSED,
74   /* Indicates the size of this object is not fixed */
75   STATE_RESIZABLE,
76   /*
77    * Indicates this object is the child of an object that allows its
78    * children to be selected and that this child is one of those children
79    * that can be selected.
80    */
81   STATE_SELECTABLE,
82   /*
83    * Indicates this object is the child of an object that allows its
84    * children to be selected and that this child is one of those children
85    * that has been selected.
86    */
87   STATE_SELECTED,
88   /* Indicates this object is sensitive */
89   STATE_SENSITIVE,
90   /*
91    * Indicates this object, the object's parent, the object's parent's
92    * parent, and so on, are all visible
93    */
94   STATE_SHOWING,
95   /* Indicates this (text) object can contain only a single line of text */
96   STATE_SINGLE_LINE,
97   /* Indicates this object is transient */
98   STATE_TRANSIENT,
99   /* Indicates the orientation of this object is vertical */
100   STATE_VERTICAL,
101   /* Indicates this object is visible */
102   STATE_VISIBLE,
103   STATE_LAST_DEFINED
104   };
105
106   interface StateSet {
107     boolean             contains (in StateType state);
108     void                add (in StateType state);
109     void                remove (in StateType state);
110     boolean             equals (in StateSet stateSet);
111     void                compare (in StateSet compareState, out StateSet differenceSet);
112     boolean             isEmpty ();
113   };
114 };
115
116 #endif