Added ROLE_LINK, ROLE_REDUNDANT_OBJECT, ROLE_INPUT_METHOD_WINDOW.
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 23 Jun 2006 16:46:28 +0000 (16:46 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Fri, 23 Jun 2006 16:46:28 +0000 (16:46 +0000)
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@825 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
cspi/spi-roletypes.h
cspi/spi_accessible.c
idl/Accessibility_Role.idl
libspi/accessible.c

index 5e236ee..1bec69a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-06-23  Bill Haneman <bill.haneman@sun.com>
+
+       * idl/Accessibility_Role.idl: 
+       * libspi/accessiblerole.c:
+       * cspi/spi_accessible.c: Added ROLE_LINK,
+       ROLE_REDUNDANT_OBJECT, and ROLE_INPUT_METHOD_WINDOW.
+       Bug #345758 and bug #140635.
+
+       
 2006-06-22  Bill Haneman <bill.haneman@sun.com>
 
        Bug #345701.
index 916c25a..15b8bc0 100644 (file)
@@ -159,6 +159,9 @@ extern "C" {
  * web form or user-input form within a document.  This role is primarily a tag/convenience for 
  * clients when navigating complex documents, it is not expected that ordinary GUI containers will 
  * always have ATK_ROLE_FORM.
+ * @SPI_ROLE_LINK: The object is a hypertext anchor.
+ * @SPI_ROLE_INPUT_METHOD_WINDOW: The object is an input method window used
+ * to input or compose a text character (typically a "complex text" character).
  * @SPI_ROLE_LAST_DEFINED: Used to determine the end of the role enumeration.
  *
  * Describes the role of an object
@@ -255,6 +258,9 @@ typedef enum
   SPI_ROLE_PAGE,
   SPI_ROLE_SECTION,
   SPI_ROLE_FORM,
+  SPI_ROLE_REDUNDANT_OBJECT,
+  SPI_ROLE_LINK,
+  SPI_ROLE_INPUT_METHOD_WINDOW,
   SPI_ROLE_LAST_DEFINED
 } AccessibleRole;
 
index ab80b9e..ee08012 100644 (file)
@@ -112,7 +112,10 @@ static const char *role_names [] =
   "heading",
   "page",
   "section",
-  "form"
+  "form",
+  "redundant object",
+  "link",
+  "input method window"
 };
 
 #define MAX_ROLES (sizeof (role_names) / sizeof (char *))
@@ -210,6 +213,9 @@ cspi_init_role_table (AccessibleRole *role_table)
   role_table [Accessibility_ROLE_PAGE] = SPI_ROLE_PAGE;
   role_table [Accessibility_ROLE_SECTION] = SPI_ROLE_SECTION;
   role_table [Accessibility_ROLE_FORM] = SPI_ROLE_FORM;
+  role_table [Accessibility_ROLE_REDUNDANT_OBJECT] = SPI_ROLE_REDUNDANT_OBJECT;
+  role_table [Accessibility_ROLE_LINK] = SPI_ROLE_LINK;
+  role_table [Accessibility_ROLE_INPUT_METHOD_WINDOW] = SPI_ROLE_INPUT_METHOD_WINDOW;
 
   return TRUE;
 }
index 3095b66..38b7160 100644 (file)
@@ -358,14 +358,40 @@ module Accessibility {
    */
   ROLE_SECTION,
   /**
+   * The object is redundant with another object in the hierarchy, 
+   * and is exposed for purely technical reasons.  Objects of this role 
+   * should be ignored by clients, if they are encountered at all. 
+   *
+   * @since AT-SPI 1.7.6
+   */
+  ROLE_REDUNDANT_OBJECT,
+  /**
    * The object is a containing instance of document content which constitutes
    * a particular 'logical' section of the document.  The type of content within
    * a section, and the nature of the section division itself, may be obtained
    * by querying the object's attributes.  Sections may be nested.
    *
-   * @since AT-SPI 1.7.1
+   * @since AT-SPI 1.7.6
    */
   ROLE_FORM,
+  /**
+   * The object is a hypertext anchor, i.e. a "link" in a
+   * hypertext document.  Such objects are distinct from 'inline'
+   * content which may also use the Hypertext/Hyperlink interfaces
+   * to indicate the range/location within a text object where
+   * an inline or embedded object lies.
+   *
+   * @since AT-SPI 1.7.6
+   */
+  ROLE_LINK,
+  /**
+   * The object is a window or similar viewport which is used
+   * to allow composition or input of a 'complex character',
+   * in other words it is an "input method window."
+   *
+   * @since AT-SPI 1.7.6
+   */
+  ROLE_INPUT_METHOD_WINDOW,
 
   /** not a valid role, used for finding end of enumeration. */
   ROLE_LAST_DEFINED
index 43f701b..db9ab01 100644 (file)
@@ -131,6 +131,9 @@ spi_init_role_lookup_table (Accessibility_Role *role_table)
   role_table [ATK_ROLE_PAGE] =                Accessibility_ROLE_PAGE;
   role_table [ATK_ROLE_SECTION] =             Accessibility_ROLE_SECTION;
   role_table [ATK_ROLE_FORM] =                Accessibility_ROLE_FORM;
+  role_table [ATK_ROLE_REDUNDANT_OBJECT] =    Accessibility_ROLE_REDUNDANT_OBJECT;
+  role_table [ATK_ROLE_LINK] =                Accessibility_ROLE_LINK;
+  role_table [ATK_ROLE_INPUT_METHOD_WINDOW] = Accessibility_ROLE_INPUT_METHOD_WINDOW;
   return TRUE;
 }