"fooler",
"paragraph",
"ruler",
- "application"
+ "application",
+ "autocomplete",
+ "editbar",
+ "embedded",
+ "entry",
+ "chart",
+ "caption",
+ "document_frame",
+ "heading",
+ "page",
+ "section",
+ "form"
};
#define MAX_ROLES (sizeof (role_names) / sizeof (char *))
role_table [Accessibility_ROLE_APPLICATION] = SPI_ROLE_APPLICATION;
role_table [Accessibility_ROLE_AUTOCOMPLETE] = SPI_ROLE_AUTOCOMPLETE;
role_table [Accessibility_ROLE_EDITBAR] = SPI_ROLE_EDITBAR;
+ role_table [Accessibility_ROLE_EMBEDDED] = SPI_ROLE_EMBEDDED;
+ role_table [Accessibility_ROLE_ENTRY] = SPI_ROLE_ENTRY;
+ role_table [Accessibility_ROLE_CHART] = SPI_ROLE_CHART;
+ role_table [Accessibility_ROLE_CAPTION] = SPI_ROLE_CAPTION;
+ role_table [Accessibility_ROLE_DOCUMENT_FRAME] = SPI_ROLE_DOCUMENT_FRAME;
+ role_table [Accessibility_ROLE_HEADING] = SPI_ROLE_HEADING;
+ role_table [Accessibility_ROLE_PAGE] = SPI_ROLE_PAGE;
+ role_table [Accessibility_ROLE_SECTION] = SPI_ROLE_SECTION;
+ role_table [Accessibility_ROLE_FORM] = SPI_ROLE_FORM;
return TRUE;
}
-static AccessibleRole
+AccessibleRole
cspi_role_from_spi_role (Accessibility_Role role)
{
/* array is sized according to IDL roles because IDL roles are the index */
return cspi_role;
}
+static AccessibleAttributeSet *
+cspi_attribute_set_from_sequence (const Accessibility_AttributeSet *seq)
+{
+ AccessibleAttributeSet *set = g_new0 (AccessibleAttributeSet, 1);
+ int i;
+
+ set->len = seq->_length;
+ set->attributes = g_newa (char *, set->len);
+ for (i = 0; i < set->len; ++i)
+ {
+ set->attributes[i] = g_strdup (seq->_buffer [i]);
+ }
+ return set;
+}
+
/**
* AccessibleRole_getName:
* @role: an #AccessibleRole object to query.
cspi_return_val_if_fail (obj != NULL, NULL);
+ g_assert (!cspi_exception ());
+
relation_set =
Accessibility_Accessible_getRelationSet (CSPI_OBJREF (obj), cspi_ev ());
* This method will return useful values for roles that fall outside the
* enumeration used in Accessible_getRole ().
*
+ * @Since: AT-SPI 1.4
+ *
* Returns: a UTF-8 string specifying the role of this #Accessible object.
*
**/
* Accessible_getStateSet:
* @obj: a pointer to the #Accessible object on which to operate.
*
+ * Gets the current state of an object.
+ *
* Returns: a pointer to an #AccessibleStateSet representing the object's current state.
**/
AccessibleStateSet *
return retval;
}
+/**
+ * Accessible_getAttributes:
+ * @obj: The #Accessible being queried.
+ *
+ * Get the #AttributeSet representing any assigned
+ * name-value pair attributes or annotations for this object.
+ * For typographic, textual, or textually-semantic attributes, see
+ * AccessibleText_getAttributes instead.
+ *
+ * Returns: The name-value-pair attributes assigned to this object.
+ */
+AccessibleAttributeSet *
+Accessible_getAttributes (Accessible *obj)
+{
+ AccessibleAttributeSet *retval;
+ Accessibility_AttributeSet *corba_seq;
+
+ cspi_return_val_if_fail (obj != NULL, NULL);
+
+ corba_seq = Accessibility_Accessible_getAttributes (
+ CSPI_OBJREF (obj), cspi_ev ());
+ cspi_return_val_if_ev ("getAttributes", NULL);
+
+ retval = cspi_attribute_set_from_sequence (corba_seq);
+ CORBA_free (corba_seq);
+
+ return NULL;
+}
+
+/**
+ * Accessible_getHostApplication:
+ * @obj: The #Accessible being queried.
+ *
+ * Get the containing #AccessibleApplication for an object.
+ *
+ * Returns: the containing AccessibleApplication instance for this object.
+ */
+AccessibleApplication *
+Accessible_getHostApplication (Accessible *obj)
+{
+ AccessibleApplication *retval;
+
+ cspi_return_val_if_fail (obj != NULL, NULL);
+
+ retval = Accessible_getApplication (cspi_object_add (
+ Accessibility_Accessible_getApplication (CSPI_OBJREF (obj),
+ cspi_ev ())));
+ cspi_return_val_if_ev ("getApplication", NULL);
+
+ return retval;
+}
+
/* Interface query methods */
/**
relation_type_table [Accessibility_RELATION_EMBEDS] = SPI_RELATION_EMBEDS;
relation_type_table [Accessibility_RELATION_EMBEDDED_BY] = SPI_RELATION_EMBEDDED_BY;
relation_type_table [Accessibility_RELATION_POPUP_FOR] = SPI_RELATION_POPUP_FOR;
+ relation_type_table [Accessibility_RELATION_PARENT_WINDOW_OF] = SPI_RELATION_PARENT_WINDOW_OF;
+ relation_type_table [Accessibility_RELATION_DESCRIBED_BY] = SPI_RELATION_DESCRIBED_BY;
+ relation_type_table [Accessibility_RELATION_DESCRIPTION_FOR] = SPI_RELATION_DESCRIPTION_FOR;
return TRUE;
}
MAP_STATE (VISIBLE);
MAP_STATE (MANAGES_DESCENDANTS);
MAP_STATE (INDETERMINATE);
+ MAP_STATE (TRUNCATED);
+ MAP_STATE (REQUIRED);
+ MAP_STATE (INVALID_ENTRY);
+ MAP_STATE (SUPPORTS_AUTOCOMPLETION);
+ MAP_STATE (SELECTABLE_TEXT);
+ MAP_STATE (IS_DEFAULT);
+ MAP_STATE (VISITED);
default:
return Accessibility_STATE_INVALID;
}