return attribute;
}
-char* reading_composer_name_get(AtspiAccessible *obj)
+TIZEN_PROD_STATIC void add_name_from_rm(Eina_Strbuf *buf, AtspiAccessibleReadingMaterial *rm)
{
- DEBUG("START");
- AtspiAccessibleReadingMaterial *rm;
char *name = NULL;
char *name_from_relation = NULL;
- char *text = NULL;
-
- if (!obj)
- return NULL;
- rm = atspi_accessible_get_reading_material(obj, NULL);
- if (!rm)
- return NULL;
+ char *name_from_text_iface = NULL;
unsigned short reading_attribute = reading_composer_reading_attribute_get(rm);
- Eina_Strbuf *buf = eina_strbuf_new();
if (reading_attribute & ACCESSIBLE_READING_INFO_TYPE_NAME) {
DEBUG("START : ACCESSIBLE_READING_INFO_TYPE_NAME");
name = rm->name;
name_from_relation = rm->labeled_by_name;
- text = rm->text_interface_name;
+ name_from_text_iface = rm->text_interface_name;
- if (text && strlen(text))
- ESAL(buf, text);
- if (name && strlen(name) > 0) {
- if (eina_strbuf_length_get(buf))
- ESAL(buf, ",");
- ESAL(buf, name);
- }
if (name_from_relation && strlen(name_from_relation) > 0) {
if (eina_strbuf_length_get(buf))
- ESAL(buf, ",");
+ ESAL(buf, " , ");
ESAL(buf, name_from_relation);
+ } else if (name && strlen(name) > 0) {
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAL(buf, name);
+ } else if (name_from_text_iface) {
+ /* For text object on WEB page which does not have accessible name nor labelled_by relation */
+ /* And for password entry which does not have accessible name nor labelled_by relation */
+ unsigned int text_len = strlen(name_from_text_iface);
+ if (text_len > 0) {
+ DEBUG("Object has text interface value only");
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ if (rm->role == ATSPI_ROLE_PASSWORD_TEXT) {
+ ESAF(buf,
+ ngettext("PLURAL_ZERO_ACCS_TBOPT_PD_CHARACTERS",
+ "PLURAL_ZERO_ACCS_TBOPT_PD_CHARACTERS", text_len),
+ text_len);
+ } else {
+ ESAL(buf, name_from_text_iface);
+ }
+ }
}
DEBUG("END : ACCESSIBLE_READING_INFO_TYPE_NAME");
}
+}
+
+char* reading_composer_name_get(AtspiAccessible *obj)
+{
+ DEBUG("START");
+ AtspiAccessibleReadingMaterial *rm;
+
+ if (!obj)
+ return NULL;
+
+ rm = atspi_accessible_get_reading_material(obj, NULL);
+ if (!rm)
+ return NULL;
+
+ Eina_Strbuf *buf = eina_strbuf_new();
+
+ add_name_from_rm(buf, rm);
atspi_accessible_free_reading_material(rm);
DEBUG("RESULT: %s", eina_strbuf_string_get(buf));
char* reading_composer_description_get(ReadingComposerData *data)
{
DEBUG("START");
- char *name = NULL;
char *role_name = NULL;
- char *name_from_relation = NULL;
- char *name_from_text_iface = NULL;
char *state_from_role = NULL;
AtspiAccessibleReadingMaterial *rm;
bool add_disabled_trait = false; /* set to true when states are requested to be read, but the object hasn't got ATSPI "enabled" state */
DEBUG("END : ACCESSIBLE_READING_INFO_TYPE_STATE");
}
- if (reading_attribute & ACCESSIBLE_READING_INFO_TYPE_NAME) {
- DEBUG("START : ACCESSIBLE_READING_INFO_TYPE_NAME");
- name = rm->name;
- name_from_relation = rm->labeled_by_name;
- name_from_text_iface = rm->text_interface_name;
+ add_name_from_rm(buf, rm);
- if (name && strlen(name) > 0) {
- if (eina_strbuf_length_get(buf))
- ESAL(buf, ", ");
- ESAL(buf, name);
- }
- if (name_from_relation && strlen(name_from_relation) > 0) {
- if (eina_strbuf_length_get(buf))
- ESAL(buf, " , ");
- ESAL(buf, name_from_relation);
- }
- /* For text object on WEB page which does not have accessible name */
- /* And for password entry which does not have accessible name */
- if (eina_strbuf_length_get(buf) == 0 && name_from_text_iface) {
- unsigned int text_len = strlen(name_from_text_iface);
- if (text_len > 0) {
- DEBUG("Object has text interface value only");
- if (rm->role == ATSPI_ROLE_PASSWORD_TEXT) {
- ESAF(buf,
- ngettext("PLURAL_ZERO_ACCS_TBOPT_PD_CHARACTERS",
- "PLURAL_ZERO_ACCS_TBOPT_PD_CHARACTERS", text_len),
- text_len);
- } else {
- ESAL(buf, name_from_text_iface);
- }
- }
- }
- DEBUG("END : ACCESSIBLE_READING_INFO_TYPE_NAME");
- }
int row;
int column;
gchar *table_unique_id = NULL;