other-licenses/ia2/AccessibleStates.idl

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/other-licenses/ia2/AccessibleStates.idl	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,209 @@
     1.4 +/*************************************************************************
     1.5 + *
     1.6 + *  File Name (AccessibleStates.idl)
     1.7 + * 
     1.8 + *  IAccessible2 IDL Specification 
     1.9 + * 
    1.10 + *  Copyright (c) 2007, 2010 Linux Foundation 
    1.11 + *  Copyright (c) 2006 IBM Corporation 
    1.12 + *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
    1.13 + *  All rights reserved. 
    1.14 + *   
    1.15 + *   
    1.16 + *  Redistribution and use in source and binary forms, with or without 
    1.17 + *  modification, are permitted provided that the following conditions 
    1.18 + *  are met: 
    1.19 + *   
    1.20 + *   1. Redistributions of source code must retain the above copyright 
    1.21 + *      notice, this list of conditions and the following disclaimer. 
    1.22 + *   
    1.23 + *   2. Redistributions in binary form must reproduce the above 
    1.24 + *      copyright notice, this list of conditions and the following 
    1.25 + *      disclaimer in the documentation and/or other materials 
    1.26 + *      provided with the distribution. 
    1.27 + *
    1.28 + *   3. Neither the name of the Linux Foundation nor the names of its 
    1.29 + *      contributors may be used to endorse or promote products 
    1.30 + *      derived from this software without specific prior written 
    1.31 + *      permission. 
    1.32 + *   
    1.33 + *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
    1.34 + *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
    1.35 + *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    1.36 + *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
    1.37 + *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
    1.38 + *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
    1.39 + *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
    1.40 + *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
    1.41 + *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
    1.42 + *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
    1.43 + *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
    1.44 + *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
    1.45 + *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    1.46 + *   
    1.47 + *  This BSD License conforms to the Open Source Initiative "Simplified 
    1.48 + *  BSD License" as published at: 
    1.49 + *  http://www.opensource.org/licenses/bsd-license.php 
    1.50 + *   
    1.51 + *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
    1.52 + *  mark may be used in accordance with the Linux Foundation Trademark 
    1.53 + *  Policy to indicate compliance with the IAccessible2 specification. 
    1.54 + * 
    1.55 + ************************************************************************/ 
    1.56 +
    1.57 +import "objidl.idl";
    1.58 +
    1.59 +typedef long AccessibleStates;
    1.60 +
    1.61 +/** %IAccessible2 specific state bit constants
    1.62 +
    1.63 +  This enum defines the state bits returned by IAccessible2::states.  The 
    1.64 +  %IAccessible2 state bits are in addition to those returned by MSAA.
    1.65 +*/
    1.66 +enum IA2States {
    1.67 +
    1.68 +/** Indicates a window is currently the active window, or is an active subelement 
    1.69 +  within a container or table.
    1.70 +
    1.71 + This state can be used to indicate the current active item in a container, even 
    1.72 +  if the container itself is not currently active. In other words this would indicate
    1.73 +  the item that will get focus if you tab to the container.
    1.74 +
    1.75 + This information is important for knowing what to report for trees and potentially 
    1.76 +  other containers in a virtual buffer.
    1.77 +
    1.78 + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
    1.79 +*/
    1.80 +IA2_STATE_ACTIVE =					0x1,
    1.81 +
    1.82 +/** Indicates that the object is armed.
    1.83 +
    1.84 + Used to indicate that the control is "pressed" and will be invoked when the 
    1.85 +  actuator, e.g. a mouse button, is "released".  An AT which either monitors the 
    1.86 +  mouse or synthesizes mouse events might need to know that, and possibly a talking
    1.87 +  interface would even let the user know about it.  It could also potentially be
    1.88 +  useful to on screen keyboards or test tools since the information does indicate
    1.89 +  something about the state of the interface, for example, code operating asynchronously
    1.90 +  might need to wait for the armed state to change before doing something else.
    1.91 +
    1.92 +*/
    1.93 +IA2_STATE_ARMED =					0x2,
    1.94 +
    1.95 +/** Indicates the user interface object corresponding to this object no longer exists. */
    1.96 +IA2_STATE_DEFUNCT =					0x4,
    1.97 +
    1.98 +/** An object with this state has a caret and implements the IAccessibleText interface.
    1.99 +  
   1.100 + Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
   1.101 +  with IA2_STATE_EDITABLE.
   1.102 +
   1.103 +*/
   1.104 +IA2_STATE_EDITABLE =				0x8,
   1.105 +
   1.106 +/** Indicates the orientation of this object is horizontal. */
   1.107 +IA2_STATE_HORIZONTAL =				0x10,
   1.108 +
   1.109 +/** Indicates this object is minimized and is represented only by an icon. */
   1.110 +IA2_STATE_ICONIFIED =				0x20,
   1.111 +
   1.112 +/** Indicates an input validation failure. */
   1.113 +IA2_STATE_INVALID_ENTRY =			0x40,
   1.114 +
   1.115 +/** Indicates that this object manages its children.
   1.116 +
   1.117 + Note: Due to the fact that MSAA's WinEvents don't allow the active child index
   1.118 +  to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
   1.119 +  descendants	scheme can't be used.  Instead the active child object has to fire
   1.120 +  MSAA's EVENT_OBJECT_FOCUS.  In a future release a new event mechanism may be
   1.121 +  added to provide for event specific data to be passed with the event.  At that
   1.122 +  time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
   1.123 +  IA2_STATE_MANAGES_DESCENDANTS state would be useful.
   1.124 +*/
   1.125 +IA2_STATE_MANAGES_DESCENDANTS =		0x80,
   1.126 +
   1.127 +/** Indicates that an object is modal.
   1.128 +
   1.129 + Modal objects have the behavior that something must be done with the object 
   1.130 +  before the user can interact with an object in a different window.
   1.131 +*/
   1.132 +IA2_STATE_MODAL =					0x100,
   1.133 +
   1.134 +/** Indicates this text object can contain multiple lines of text. */
   1.135 +IA2_STATE_MULTI_LINE =				0x200,
   1.136 +
   1.137 +/** Indicates this object paints every pixel within its rectangular region. */
   1.138 +IA2_STATE_OPAQUE =					0x400,
   1.139 +
   1.140 +/** Indicates that user interaction is required.
   1.141 +
   1.142 + An example of when this state is used is when a field in a form must be filled 
   1.143 +  before a form can be processed.
   1.144 +*/
   1.145 +IA2_STATE_REQUIRED =				0x800,
   1.146 +
   1.147 +/** Indicates an object which supports text selection.
   1.148 +
   1.149 + Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
   1.150 +*/
   1.151 +IA2_STATE_SELECTABLE_TEXT =			0x1000,
   1.152 +
   1.153 +/** Indicates that this text object can contain only a single line of text. */
   1.154 +IA2_STATE_SINGLE_LINE =				0x2000,
   1.155 +
   1.156 +/** Indicates that the accessible object is stale.
   1.157 +
   1.158 + This state is used when the accessible object no longer accurately 
   1.159 +  represents the state of the object which it is representing such as when an
   1.160 +  object is transient or when an object has been or is in the process of being
   1.161 +  destroyed or when the object's index in its parent has changed.
   1.162 +*/
   1.163 +IA2_STATE_STALE =					0x4000,
   1.164 +
   1.165 +/** Indicates that the object implements autocompletion.
   1.166 +
   1.167 + This state indicates that a text control will respond to the input of 
   1.168 + one ore more characters and cause a sub-item to become selected.  The 
   1.169 + selection may also result in events fired on the parent object.
   1.170 +*/
   1.171 +IA2_STATE_SUPPORTS_AUTOCOMPLETION =	0x8000,
   1.172 +
   1.173 +/** Indicates this object is transient.
   1.174 +
   1.175 + An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
   1.176 + For example, a list item object may be managed by its parent list object and may only 
   1.177 + exist as long as the object is actually rendered.  Similarly a table cell's accessible 
   1.178 + object may exist only while the cell has focus.  However, from the perspective of an 
   1.179 + assistive technology a transient object behaves like a non-transient object.  As a 
   1.180 + result it is likely that this state is not of use to an assistive technology, but it 
   1.181 + is provided in case an assistive technology determines that knowledge of the transient 
   1.182 + nature of the object is useful and also for harmony with the Linux accessibility API.
   1.183 +
   1.184 + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
   1.185 + */
   1.186 +IA2_STATE_TRANSIENT =				0x10000,
   1.187 +
   1.188 +/** Indicates the orientation of this object is vertical. */
   1.189 +IA2_STATE_VERTICAL =				0x20000,
   1.190 +
   1.191 +/** Indicates this object is checkable.
   1.192 +
   1.193 + The standard checkable objects are check boxes, radio buttons, check box menu
   1.194 + items, radio menu items, and toggle buttons.  Since assistive technology will
   1.195 + determine that these objects are checkable via the object's role the checkable
   1.196 + state is not required.  However, this state is necessary in those cases where
   1.197 + an object has a role which is not one of the previously mentioned roles.  An
   1.198 + example is a table cell which indicates whether or not an email has an attachment,
   1.199 + whether or not an mail is considered spam, and whether or not an email has been read.
   1.200 + */
   1.201 +IA2_STATE_CHECKABLE =				0x40000,
   1.202 +
   1.203 +/** Indicates this object is pinned.
   1.204 +
   1.205 + This state indicates that an object is fixed at a certain location.  One example
   1.206 + is a browser tab that when pinned cannot be moved until unpinned.  Another example
   1.207 + is a movable or floating object that when pinned remains in its pinned location
   1.208 + until being unpinned.
   1.209 + */
   1.210 +IA2_STATE_PINNED =					0x80000
   1.211 +
   1.212 +};

mercurial