| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/idl/at-spi-1.0/ |
Upload File : |
/*
* AT-SPI - Assistive Technology Service Provider Interface
* (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
*
* Copyright 2001 Sun Microsystems Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef _ACCESSIBILITY_STATE_IDL
#define _ACCESSIBILITY_STATE_IDL
module Accessibility {
enum StateType {
STATE_INVALID,
/** Indicates a window is currently the active window, or is an active subelement within a container or table **/
STATE_ACTIVE,
/** Indicates that the object is armed */
STATE_ARMED,
/**
* Indicates the current object is busy, i.e. onscreen representation is in the process of changing, or
* the object is temporarily unavailable for interaction due to activity already in progress.
*/
STATE_BUSY,
/** Indicates this object is currently checked */
STATE_CHECKED,
/** Indicates this object is collapsed */
STATE_COLLAPSED,
/** Indicates that this object no longer has a valid backing widget
* (for instance, if its peer object has been destroyed) */
STATE_DEFUNCT,
/** Indicates the user can change the contents of this object */
STATE_EDITABLE,
/** Indicates that this object is enabled, i.e. that it currently reflects some application state.
* Objects that are "greyed out" may lack this state, and may lack the STATE_SENSITIVE if direct user
* interaction cannot cause them to acquire STATE_ENABLED. @see STATE_SENSITIVE.
*/
STATE_ENABLED,
/** Indicates this object allows progressive disclosure of its children */
STATE_EXPANDABLE,
/** Indicates this object its expanded */
STATE_EXPANDED,
/**
* 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
*/
STATE_FOCUSABLE,
/** Indicates this object currently has the keyboard focus */
STATE_FOCUSED,
/** Indicates that the object has an associated tooltip */
STATE_HAS_TOOLTIP,
/** Indicates the orientation of thsi object is horizontal */
STATE_HORIZONTAL,
/** Indicates this object is minimized and is represented only by an icon */
STATE_ICONIFIED,
/**
* Indicates something must be done with this object before the user can
* interact with an object in a different window.
*/
STATE_MODAL,
/** Indicates this (text) object can contain multiple lines of text */
STATE_MULTI_LINE,
/**
* Indicates this object allows more than one of its children to be
* selected at the same time, or in the case of text objects,
* that the object supports non-contiguous text selections.
*/
STATE_MULTISELECTABLE,
/** Indicates this object paints every pixel within its rectangular region.
* It also indicates an alpha value of unity, if it supports alpha blending.
*/
STATE_OPAQUE,
/** Indicates this object is currently pressed */
STATE_PRESSED,
/** Indicates the size of this object's size is not fixed */
STATE_RESIZABLE,
/**
* 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.
*/
STATE_SELECTABLE,
/**
* 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.
*/
STATE_SELECTED,
/** Indicates this object is sensitive, e.g. to user interaction.
* STATE_SENSITIVE usually accompanies STATE_ENABLED for user-actionable controls,
* but may be found in the absence of STATE_ENABLED if the current visible state of the
* control is "disconnected" from the application state. In such cases, direct user interaction
* can often result in the object gaining STATE_SENSITIVE, for instance if a user makes
* an explicit selection using an object whose current state is ambiguous or undefined.
* @see STATE_ENABLED, STATE_INDETERMINATE. */
STATE_SENSITIVE,
/**
* Indicates this object, the object's parent, the object's parent's
* parent, and so on, are all 'shown' to the end-user, i.e.
* subject to "exposure" if blocking or obscuring objects do not interpose
* between this object and the top of the window stack.
*/
STATE_SHOWING,
/** Indicates this (text) object can contain only a single line of text */
STATE_SINGLE_LINE,
/** Indicates that the information returned for this object may no longer be
* synchronized with the application state. This can occur if the object has STATE_TRANSIENT,
* and can also occur towards the end of the object peer's lifecycle. */
STATE_STALE,
/** Indicates this object is transient */
STATE_TRANSIENT,
/** Indicates the orientation of this object is vertical; for example this state may appear on
* such objects as scrollbars, text objects (with vertical text flow), separators, etc.
*/
STATE_VERTICAL,
/** Indicates this object is visible, e.g. has been explicitly marked for exposure to the user.
* @note: STATE_VISIBLE is no guarantee that the object is actually unobscured on the screen, only
* that it is 'potentially' visible, barring obstruction, being scrolled or clipped out of the
* field of view, or having an ancestor container that has not yet made visible.
* A widget is potentially onscreen if it has both STATE_VISIBLE and STATE_SHOWING.
* The absence of STATE_VISIBLE and STATE_SHOWING is semantically equivalent to saying
* that an object is 'hidden'.
*/
STATE_VISIBLE,
/**
* Indicates that "active-descendant-changed" event is sent when children
* become 'active' (i.e. are selected or navigated to onscreen). Used to
* prevent need to enumerate all children in very large containers, like
* tables. The presence of STATE_MANAGES_DESCENDANTS is an indication to the client.
* that the children should not, and need not, be enumerated by the client.
* Objects implementing this state are expected to provide relevant state
* notifications to listening clients, for instance notifications of visibility
* changes and activation of their contained child objects, without the client
* having previously requested references to those children.
*/
STATE_MANAGES_DESCENDANTS,
/**
* Indicates that a check box or other boolean indicator is in a state other than
* checked or not checked. This usually means that the boolean value reflected or
* controlled by the object does not apply consistently to the entire current context.
* For example, a checkbox for the "Bold" attribute of text may have STATE_INDETERMINATE
* if the currently selected text contains a mixture of weight attributes.
* In many cases interacting with a STATE_INDETERMINATE object will cause
* the context's corresponding boolean attribute to be homogenized, whereupon the object
* will lose STATE_INDETERMINATE and a corresponding state-changed event will be fired.
*/
STATE_INDETERMINATE,
/**
* Indicates that user interaction with this object is 'required' from the user,
* for instance before completing the processing of a form.
*/
STATE_REQUIRED,
/**
* Indicates that an object's onscreen content is truncated, e.g. a text value in a spreadsheet cell.
* @since AT-SPI 1.7.0.
*/
STATE_TRUNCATED,
/**
* Indicates this object's visual representation is dynamic, not static.
* This state may be applied to an object during an animated 'effect' and
* be removed from the object once its visual representation becomes static.
* @note some applications, notably content viewers, may not be able to detect
* all kinds of animated content. Therefore the absence of this state should not
* be taken as definitive evidence that the object's visual representation is
* static; this state is advisory.
*
* @since AT-SPI 1.7.0
*/
STATE_ANIMATED,
/**
* This object has indicated an error condition due to failure of input
* validation. For instance, a form control may acquire this state in response
* to invalid or malformed user input.
*
* @since AT-SPI 1.7.0
*/
STATE_INVALID_ENTRY,
/**
* This state indicates that the object in question implements some form of ¨typeahead¨ or
* pre-selection behavior whereby entering the first character of one or more sub-elements
* causes those elements to scroll into view or become selected. Subsequent character input
* may narrow the selection further as long as one or more sub-elements match the string.
* This state is normally only useful and encountered on objects that implement Selection.
* In some cases the typeahead behavior may result in full or partial ¨completion¨ of
* the data in the input field, in which case these input events may trigger text-changed
* events from the source.
*
* @since AT-SPI 1.7.0
*/
STATE_SUPPORTS_AUTOCOMPLETION,
/**
* This state indicates that the object in question supports text selection.
* It should only be exposed on objects which implement the Text interface,
* in order to distinguish this state from STATE_SELECTABLE, which infers that
* the object in question is a selectable child of an object which implements
* Selection. While similar, text selection and subelement selection are
* distinct operations.
*
* @since AT-SPI 1.7.0
*/
STATE_SELECTABLE_TEXT,
/**
* This state indicates that the object in question is the 'default' interaction object
* in a dialog, i.e. the one that gets activated if the user presses "Enter" when the
* dialog is initially posted.
*
* @since AT-SPI 1.7.0
*/
STATE_IS_DEFAULT,
/**
* This state indicates that the object (typically a hyperlink)
* has already been activated or invoked, with the result that some backing data
* has been downloaded or rendered.
*
* @since AT-SPI 1.7.1
*/
STATE_VISITED,
/** This value of the enumeration should not be used as a parameter, it indicates the number of
* items in the StateType enumeration.
*/
STATE_LAST_DEFINED
};
typedef sequence <StateType> StateSeq;
/**
* The StateSet interface encapsulates a collection of state information.
* It allows comparison of state information between object instances, and comparisons
* of an object's state with some hypothetical collection of states.
*/
interface StateSet : Bonobo::Unknown {
/** Query a StateSet for a specific StateType.
* @param state the StateType being queried for.
* @returns \c TRUE if the StateSet contains StateType \a state.
*/
boolean contains (in StateType state);
/** Add a StateType to an existing StateSet, if not already present. */
void add (in StateType state);
/** Remove a StateType to an existing StateSet, if it is present. */
void remove (in StateType state);
/** Compare two statesets for equivalence.
* @param tarStateSet the StateSet to be compared with this one.
* @returns \c TRUE if the two StateSet objects are composed of the same StateTypes.
*/
boolean equals (in StateSet tarStateSet);
/** Compare two StateSet instances and obtain their differences.
* @returns a 'difference set', i.e. a StateSet consisting of those states
* not shared by the two sets being compared. */
StateSet compare (in StateSet compareState);
/** @returns \c TRUE if the StateSet contains no states. */
boolean isEmpty ();
/** \cond */
/* Private */
StateSeq getStates ();
/**
* unImplemented:
*
* placeholders for future expansion.
*/
void unImplemented ();
void unImplemented2 ();
void unImplemented3 ();
void unImplemented4 ();
/** \endcond */
};
};
#endif