+/*
+ * 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
-#if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
-%{
-#pragma include_defs State.h
-%}
-#pragma inhibit push
-#endif
-
module Accessibility {
enum StateType {
STATE_CHECKED,
/* Indicates this object is collapsed */
STATE_COLLAPSED,
+ /* Indicates that this object no longer contains a backing widget */
+ STATE_DEFUNCT,
/* Indicates the user can change the contents of this object */
STATE_EDITABLE,
+ /* Indicates that this object is enabled */
+ STATE_ENABLED,
/* Indicates this object allows progressive disclosure of its children */
STATE_EXPANDABLE,
/* Indicates this object its expanded */
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_SHOWING,
/* Indicates this (text) object can contain only a single line of text */
STATE_SINGLE_LINE,
+ /* Indicates that this object's index within parent information may be invalid */
+ STATE_STALE,
/* Indicates this object is transient */
STATE_TRANSIENT,
/* Indicates the orientation of this object is vertical */
STATE_VERTICAL,
/* Indicates this object is visible */
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.
+ */
+ STATE_MANAGES_DESCENDANTS,
+
STATE_LAST_DEFINED
};
- interface StateSet {
+ typedef sequence <StateType> StateSeq;
+
+ interface StateSet : Bonobo::Unknown {
boolean contains (in StateType state);
void add (in StateType state);
void remove (in StateType state);
boolean equals (in StateSet stateSet);
- void compare (in StateSet compareState, out StateSet differenceSet);
+ /* returns a 'difference set' */
+ StateSet compare (in StateSet compareState);
boolean isEmpty ();
+
+ /* Private */
+ StateSeq getStates ();
+
+ /**
+ * unImplemented:
+ *
+ * placeholders for future expansion.
+ */
+ void unImplemented ();
+ void unImplemented2 ();
};
};
-#if !defined(__ACCESSIBILITY_STATE_COMPILATION) && defined(__ORBIT_IDL__)
-#pragma inhibit pop
-#endif
+
#endif