2007-03-01 20:24:38 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
|
|
|
* File Name (AccessibleStates.idl)
|
|
|
|
*
|
|
|
|
* IAccessible2 IDL Specification
|
|
|
|
*
|
2009-09-11 01:07:56 +00:00
|
|
|
* Copyright (c) Linux Foundation 2007, 2008
|
|
|
|
* Copyright (c) IBM Corp. 2006
|
2007-03-01 20:24:38 +00:00
|
|
|
* Copyright (c) Sun Microsystems, Inc. 2000, 2006
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
|
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
import "objidl.idl";
|
|
|
|
|
|
|
|
typedef long AccessibleStates;
|
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
/** %IAccessible2 specific state bit constants
|
|
|
|
|
|
|
|
This enum defines the state bits returned by IAccessible2::states. The
|
|
|
|
%IAccessible2 state bits are in addition to those returned by MSAA.
|
|
|
|
*/
|
|
|
|
enum IA2States {
|
|
|
|
|
|
|
|
/** Indicates a window is currently the active window, or is an active subelement
|
|
|
|
within a container or table.
|
|
|
|
|
|
|
|
This state can be used to indicate the current active item in a container, even
|
|
|
|
if the container itself is not currently active. In other words this would indicate
|
|
|
|
the item that will get focus if you tab to the container.
|
|
|
|
|
|
|
|
This information is important for knowing what to report for trees and potentially
|
|
|
|
other containers in a virtual buffer.
|
|
|
|
|
|
|
|
Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
|
2007-03-01 20:24:38 +00:00
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_ACTIVE = 0x1,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
/** Indicates that the object is armed.
|
2007-03-01 20:24:38 +00:00
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
Used to indicate that the control is "pressed" and will be invoked when the
|
|
|
|
actuator, e.g. a mouse button, is "released". An AT which either monitors the
|
|
|
|
mouse or synthesizes mouse events might need to know that, and possibly a talking
|
|
|
|
interface would even let the user know about it. It could also potentially be
|
|
|
|
useful to on screen keyboards or test tools since the information does indicate
|
|
|
|
something about the state of the interface, for example, code operating asynchronously
|
|
|
|
might need to wait for the armed state to change before doing something else.
|
|
|
|
|
|
|
|
*/
|
|
|
|
IA2_STATE_ARMED = 0x2,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates the user interface object corresponding to this object no longer exists. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_DEFUNCT = 0x4,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates the user can change the contents of this object. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_EDITABLE = 0x8,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates the orientation of this object is horizontal. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_HORIZONTAL = 0x10,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates this object is minimized and is represented only by an icon. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_ICONIFIED = 0x20,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates an input validation failure. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_INVALID_ENTRY = 0x40,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that this object manages its children.
|
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
Note: Due to the fact that MSAA's WinEvents don't allow the active child index
|
|
|
|
to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
|
|
|
|
descendants scheme can't be used. Instead the active child object has to fire
|
|
|
|
MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
|
|
|
|
added to provide for event specific data to be passed with the event. At that
|
|
|
|
time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
|
|
|
|
IA2_STATE_MANAGES_DESCENDANTS state would be useful.
|
2007-03-01 20:24:38 +00:00
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_MANAGES_DESCENDANTS = 0x80,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that an object is modal.
|
|
|
|
|
|
|
|
Modal objects have the behavior that something must be done with the object
|
|
|
|
before the user can interact with an object in a different window.
|
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_MODAL = 0x100,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates this text object can contain multiple lines of text. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_MULTI_LINE = 0x200,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates this object paints every pixel within its rectangular region. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_OPAQUE = 0x400,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that user interaction is required.
|
|
|
|
|
|
|
|
An example of when this state is used is when a field in a form must be filled
|
|
|
|
before a form can be processed.
|
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_REQUIRED = 0x800,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates an object which supports text selection.
|
|
|
|
|
|
|
|
Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
|
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_SELECTABLE_TEXT = 0x1000,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that this text object can contain only a single line of text. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_SINGLE_LINE = 0x2000,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that the accessible object is stale.
|
|
|
|
|
|
|
|
This state is used when the accessible object no longer accurately
|
|
|
|
represents the state of the object which it is representing such as when an
|
|
|
|
object is transient or when an object has been or is in the process of being
|
2009-09-11 01:07:56 +00:00
|
|
|
destroyed or when the object's index in its parent has changed.
|
2007-03-01 20:24:38 +00:00
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_STALE = 0x4000,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates that the object implements autocompletion.
|
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
This state indicates that a text control will respond to the input of
|
2007-03-01 20:24:38 +00:00
|
|
|
one ore more characters and cause a sub-item to become selected. The
|
|
|
|
selection may also result in events fired on the parent object.
|
|
|
|
*/
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
|
|
|
|
|
|
|
|
/** Indicates this object is transient.
|
|
|
|
|
|
|
|
An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
|
|
|
|
For example, a list item object may be managed by its parent list object and may only
|
|
|
|
exist as long as the object is actually rendered. Similarly a table cell's accessible
|
|
|
|
object may exist only while the cell has focus. However, from the perspective of an
|
|
|
|
assistive technology a transient object behaves like a non-transient object. As a
|
|
|
|
result it is likely that this state is not of use to an assistive technology, but it
|
|
|
|
is provided in case an assistive technology determines that knowledge of the transient
|
|
|
|
nature of the object is useful and also for harmony with the Linux accessibility API.
|
2007-03-01 20:24:38 +00:00
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
|
|
|
|
*/
|
|
|
|
IA2_STATE_TRANSIENT = 0x10000,
|
2007-03-01 20:24:38 +00:00
|
|
|
|
|
|
|
/** Indicates the orientation of this object is vertical. */
|
2009-09-11 01:07:56 +00:00
|
|
|
IA2_STATE_VERTICAL = 0x20000
|
2007-03-01 20:24:38 +00:00
|
|
|
|
2009-09-11 01:07:56 +00:00
|
|
|
};
|