blob: f0701cb477d7e8c9dd62a373333ea2fa09d2247d [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_accessibility_AccessibleStateType_idl__
#define __com_sun_star_accessibility_AccessibleStateType_idl__
module com { module sun { module star { module accessibility {
/** Collection of state types.
<p>This list of constants defines the available set of states that an
object that implements <type>XAccessibleContext</type> can be in.</p>
<p>The comments describing the states is taken verbatim from the Java
Accessibility API 1.4 documentation.</p>
<p>We are using constants instead of a more typesafe enum. The reason
for this is that IDL enums may not be extended. Therefore, in order to
include future extensions to the set of roles we have to use constants
here.</p>
@since OpenOffice 1.1.2
*/
published constants AccessibleStateType
{
/** Indicates an invalid state.
*/
const short INVALID = 0;
/** Indicates a window is currently the active window.
*/
const short ACTIVE = 1;
/** Indicates that the object is armed.
*/
const short ARMED = 2;
/** Indicates the current object is busy.
*/
const short BUSY = 3;
/** Indicates this object is currently checked.
*/
const short CHECKED = 4;
/** User interface object corresponding to this object no longer exists.
<p>Indicates the user interface object corresponding to this object
no longer exists.</p>
*/
const short DEFUNC = 5;
/** Indicates the user can change the contents of this object.
*/
const short EDITABLE = 6;
/** Indicates this object is enabled.
*/
const short ENABLED = 7;
/** Indicates this object allows progressive disclosure of its children.
*/
const short EXPANDABLE = 8;
/** Indicates this object is expanded.
*/
const short EXPANDED = 9;
/** Object can accept the keyboard focus.
<p>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.</p>
*/
const short FOCUSABLE = 10;
/** Indicates this object currently has the keyboard focus.
*/
const short FOCUSED = 11;
/** Indicates the orientation of this object is horizontal.
*/
const short HORIZONTAL = 12;
/** Indicates this object is minimized and is represented only by an
icon.
*/
const short ICONIFIED = 13;
/** Sometimes UI elements can have a state indeterminate.
This can happen e.g. if a check box reflects the bold state of text in a text processor.
When the current selection contains text which is bold and also text which is not bold, the state is indeterminate.
*/
const short INDETERMINATE = 14;
/** Indicates the most (all) children are transient and it is not
necessary to add listener to the children. Only the active descendant
(given by the event) should be not transient to make it possible
to add listener to this object and recognize changes in this object.
The state is added to make a performance improvment. Now it is no
longer necessary to iterate over all children to find out whether
they are transient or not to decide whether to add listener or not.
If there is a object with this state no one should iterate over the
children to add listener. Only the active descendant should get
listener if it is not transient.
*/
const short MANAGES_DESCENDANTS = 15;
/** Object is modal.
<p>Indicates something must be done with this object before the user
can interact with an object in a different window.</p>
*/
const short MODAL = 16;
/** Indicates this (text) object can contain multiple lines of text
*/
const short MULTI_LINE = 17;
/** More than one child may be selected at the same time.
<p>Indicates this object allows more than one of its children to be
selected at the same time.</p>
*/
const short MULTI_SELECTABLE = 18;
/** Indicates this object paints every pixel within its rectangular
region.
*/
const short OPAQUE = 19;
/** Indicates this object is currently pressed.
*/
const short PRESSED = 20;
/** Indicates the size of this object is not fixed.
*/
const short RESIZABLE = 21;
/** Object is selectable.
<p>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.</p>
*/
const short SELECTABLE = 22;
/** Object is selected.
<p>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.</p>
*/
const short SELECTED = 23;
/** Indicates this object is sensitive.
*/
const short SENSITIVE = 24;
/** Object is displayed on the screen.
<p>An object has set the <const>SHOWING</const> state if itself and
all of its parents have set the <const>VISIBLE</const> state and it
lies at least partly inside the visible area of its parent. It is,
though, not necessarily visible on the screen because it may be
ocluded by other objects.</p>
*/
const short SHOWING = 25;
/** Indicates this (text) object can contain only a single line of text
*/
const short SINGLE_LINE = 26;
/** ???
*/
const short STALE = 27;
/** Indicates this object is transient.
*/
const short TRANSIENT= 28;
/** Indicates the orientation of this object is vertical.
*/
const short VERTICAL = 29;
/** Object wants to be displayed on the screen.
<p>A set <const>VISIBLE</const> state indicates that an object wants
to be displayed on the screen. It is displayed, as indicated by a
set <const>SHOWING</const> state, if all of its parents have also
set the <const>VISIBLE</const> state and the object lies at least
partly in the visible area of its parent.</p>
*/
const short VISIBLE = 30;
// The following constants have been introduced with the IA2 CWS:
// MOVEABLE only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
/** Indicates the position of the object is not fixed.
*/
const short MOVEABLE = 31;
// DEFAULT exists in MSAA/IA2, and now also in ATK and NSAccessibility.
/** Indicates the object is the default button in a window
*/
const short DEFAULT = 32;
// OFFSCREEN only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
// MT: Shouldn't this be the same like !SHOWING in UAA/ATK?
const short OFFSCREEN = 33;
// COLLAPSED exists in MSAA/IA2, and now also in JAA, but not in ATK/NSAccessibility. In NSAccessibility, there is a notification for collapse.
// In opposite to MSAA, UAA has EXPANDABLE, so EXPANDABLE && !EXPANDED should be the same like COLLAPSED.
const short COLLAPSE = 34;
};
}; }; }; };
#endif