"fooler",
"paragraph",
"ruler",
- "application"
+ "application",
+ "autocomplete",
+ "editbar",
+ "embedded",
+ "entry",
+ "chart",
+ "caption",
+ "document_frame",
+ "heading",
+ "page",
+ "section",
+ "form",
+ "redundant object",
+ "link",
+ "input method window"
};
#define MAX_ROLES (sizeof (role_names) / sizeof (char *))
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;
+ 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;
}
return cspi_role;
}
-static AccessibleAttributeSet *
-cspi_attribute_set_from_sequence (const Accessibility_AttributeSet *seq)
+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);
+ set->attributes = g_new0 (char *, set->len);
for (i = 0; i < set->len; ++i)
{
set->attributes[i] = g_strdup (seq->_buffer [i]);
CSPI_OBJREF (obj), cspi_ev ());
cspi_return_val_if_ev ("getAttributes", NULL);
- retval = cspi_attribute_set_from_sequence (corba_seq);
+ retval = _cspi_attribute_set_from_sequence (corba_seq);
CORBA_free (corba_seq);
- return NULL;
+ return retval;
}
/**
}
/**
+ * Accessible_isDocument:
+ * @obj: a pointer to the #Accessible instance to query.
+ *
+ * Query whether the specified #Accessible implements #AccessibleDocument.
+ *
+ * Returns: #TRUE if @obj implements the #AccessibleDocument interface,
+ * #FALSE otherwise.
+ **/
+SPIBoolean
+Accessible_isDocument (Accessible *obj)
+{
+ return cspi_accessible_is_a (obj,
+ "IDL:Accessibility/Document:1.0");
+}
+
+/**
* Accessible_isEditableText:
* @obj: a pointer to the #Accessible instance to query.
*
return (AccessibleComponent *) Accessible_queryInterface (
obj, "IDL:Accessibility/Component:1.0");
}
+/**
+ * Accessible_getDocument:
+ * @obj: a pointer to the #Accessible instance to query.
+ *
+ * Get the #AccessibleDocument interface for an #Accessible.
+ *
+ * Returns: a pointer to an #AccessibleDocument interface instance, or
+ * NULL if @obj does not implement #AccessibleDocument.
+ **/
+AccessibleDocument *
+Accessible_getDocument (Accessible *obj)
+{
+ return (AccessibleDocument *) Accessible_queryInterface (
+ obj, "IDL:Accessibility/Document:1.0");
+}
/**
* Accessible_getEditableText:
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;
}