2002-11-19 Darren Kenny <darren.kenny@sun.com>
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-statetypes.h
index 7d94a57..024ea87 100644 (file)
@@ -1,12 +1,35 @@
-#ifndef _SPI_STATETYPES_H_
-#define _SPI_STATETYPES_H_
-
 /*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001, 2002 Sun Microsystems Inc.,
+ * Copyright 2001, 2002 Ximian, Inc.
  *
- * Enumerated type for accessible state
+ * 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 _SPI_STATETYPES_H_
+#define _SPI_STATETYPES_H_
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+/* Enumerated type for accessible state */
+
 typedef enum
 {
   SPI_STATE_INVALID,
@@ -20,8 +43,12 @@ typedef enum
   SPI_STATE_CHECKED,
   /* Indicates this object is collapsed */
   SPI_STATE_COLLAPSED,
+  /* Indicates the user interface object corresponding to this object no longer exists */
+  SPI_STATE_DEFUNCT,
   /* Indicates the user can change the contents of this object */
   SPI_STATE_EDITABLE,
+  /* Indicates that this object is enabled */
+  SPI_STATE_ENABLED,
   /* Indicates this object allows progressive disclosure of its children */
   SPI_STATE_EXPANDABLE,
   /* Indicates this object its expanded */
@@ -49,7 +76,7 @@ typedef enum
    * Indicates this object allows more than one of its children to be
    * selected at the same time
    */
-  SPI_STATE_MULTISELECSPI_TABLE,
+  SPI_STATE_MULTISELECTABLE,
   /* Indicates this object paints every pixel within its rectangular region. */
   SPI_STATE_OPAQUE,
   /* Indicates this object is currently pressed */
@@ -61,7 +88,7 @@ typedef enum
    * children to be selected and that this child is one of those children
    * that can be selected.
    */
-  SPI_STATE_SELECSPI_TABLE,
+  SPI_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
@@ -77,13 +104,26 @@ typedef enum
   SPI_STATE_SHOWING,
   /* Indicates this (text) object can contain only a single line of text */
   SPI_STATE_SINGLE_LINE,
+  /* Indicates that the index associated with this object has changed since the user accessed the object. */
+  SPI_STATE_STALE,
   /* Indicates this object is transient */
   SPI_STATE_TRANSIENT,
   /* Indicates the orientation of this object is vertical */
   SPI_STATE_VERTICAL,
   /* Indicates this object is visible */
   SPI_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.
+   */
+  SPI_STATE_MANAGES_DESCENDANTS, 
   SPI_STATE_LAST_DEFINED
 } AccessibleState;
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif