Eina_Bool navigator_get_is_text_selection_mode(NavigatorData *nd);
+Eina_Bool navigator_table_has_changed(NavigatorData *nd, gchar *table_unique_id);
+Eina_Bool navigator_table_row_has_changed(NavigatorData *nd, int row);
+Eina_Bool navigator_table_column_has_changed(NavigatorData *nd, int column);
+Eina_Bool navigator_table_cell_has_changed(NavigatorData *nd, int row, int column);
+void navigator_set_last_position_in_table(NavigatorData *nd, int row, int column);
+void navigator_set_last_table_unique_id(NavigatorData *nd, gchar *table_unique_id);
+
#endif //NAVIGATOR_H_
*/
int vc_get_read_description(void);
+int vc_get_read_list_grid_information(void);
int vc_get_haptic(void);
int vc_get_keyboard_feedback(void);
int vc_get_sound_feedback(void);
Eina_Bool object_has_focused_state(AtspiAccessible *obj);
Eina_Bool object_has_defunct_state(AtspiAccessible *obj);
Eina_Bool object_has_highlighted_state(AtspiAccessible *obj);
+Eina_Bool object_get_extents(AtspiAccessible *object, AtspiRect *extents);
+Eina_Bool object_get_position_in_table(AtspiAccessible *object, int *row, int *column, gchar **table_unique_id, int *table_row_count, int *table_column_count, gchar **table_caption);
int get_percent_value(double value, double lower, double upper);
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
msgid "IDS_ACCS_TBOPT_SWIPE_UP_OR_DOWN_TO_CHANGE_T_TTS"
msgstr "Swipe up or down to change."
+
+msgid "IDS_ACCS_BODY_ROW_P1SD"
+msgstr "Row %1$d"
+
+msgid "IDS_ACCS_BODY_COLUMN_P1SD"
+msgstr "Column %1$d"
+
+msgid "IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"
+msgstr "In grid %1$s"
+
+msgid "IDS_ACCS_BODY_P1SD_ROWS"
+msgstr "%1$d rows"
+
+msgid "IDS_ACCS_BODY_P1SD_COLUMNS"
+msgstr "%1$d columns"
AtspiMoveOutedType move_outed_type;
NavigatorContextSwitchCb context_switch_cb;
void *context_switch_data;
+ point_t last_position_in_table;
+ char *last_table_unique_id;
};
char *state_to_char(AtspiStateType state)
nd->last_pos = (point_t) { .x = -1, .y = -1};
nd->last_hover_event_time = -1;
nd->last_slider_hover_event_time = -1;
+ nd->last_position_in_table = (point_t) { .x = -1, .y = -1};
+ nd->last_table_unique_id = NULL;
tw_set_utterance_cb(_on_utterance, nd, NULL);
g_free(nd->supported_gestures);
nd->supported_gestures = NULL;
+ g_free(nd->last_table_unique_id);
+ nd->last_table_unique_id = NULL;
+
navigator_gestures_tracker_unregister(nd);
tw_set_utterance_cb(NULL, NULL, NULL);
return nd ? nd->is_text_selection_mode : EINA_FALSE;
}
+Eina_Bool navigator_table_has_changed(NavigatorData *nd, gchar *table_unique_id) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ return nd && !g_strcmp0(nd->last_table_unique_id, table_unique_id) ? EINA_FALSE : EINA_TRUE;
+}
+
+Eina_Bool navigator_table_row_has_changed(NavigatorData *nd, int row) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ return nd && nd->last_position_in_table.y == row ? EINA_FALSE : EINA_TRUE;
+}
+
+Eina_Bool navigator_table_column_has_changed(NavigatorData *nd, int column) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ return nd && nd->last_position_in_table.x == column ? EINA_FALSE : EINA_TRUE;
+}
+
+Eina_Bool navigator_table_cell_has_changed(NavigatorData *nd, int row, int column) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ return navigator_table_row_has_changed(nd, row) || navigator_table_column_has_changed(nd, column);
+}
+
+void navigator_set_last_position_in_table(NavigatorData *nd, int row, int column) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ if (nd) {
+ nd->last_position_in_table.x = column;
+ nd->last_position_in_table.y = row;
+ }
+}
+
+void navigator_set_last_table_unique_id(NavigatorData *nd, gchar *table_unique_id) {
+ if (!nd) { ERROR("NavigatorData is NULL!"); }
+ if (nd) {
+ g_free(nd->last_table_unique_id);
+ nd->last_table_unique_id = g_strdup(table_unique_id);
+ }
+}
#include <logger.h>
#include <screen_reader_vconf.h>
#include <utils.h>
+#include <screen_reader.h>
#define STATE_SET_CONTAINS(states, state)\
((states & ((gint64)1 << state)) ? (EINA_TRUE) : (EINA_FALSE))
}
}
-TIZEN_PROD_STATIC
-void reading_composer_reading_material_free(AtspiAccessibleReadingMaterial *rm)
+TIZEN_PROD_STATIC Eina_Bool should_add_row_info(int row, int column, gchar *table_unique_id) {
+ return navigator_table_has_changed(get_pointer_to_service_data_struct()->navigator_data, table_unique_id) ||
+ navigator_table_row_has_changed(get_pointer_to_service_data_struct()->navigator_data, row) ||
+ !navigator_table_cell_has_changed(get_pointer_to_service_data_struct()->navigator_data, row, column);
+}
+
+TIZEN_PROD_STATIC Eina_Bool should_add_column_info(int row, int column, gchar *table_unique_id) {
+ return navigator_table_has_changed(get_pointer_to_service_data_struct()->navigator_data, table_unique_id) ||
+ navigator_table_column_has_changed(get_pointer_to_service_data_struct()->navigator_data, column) ||
+ !navigator_table_cell_has_changed(get_pointer_to_service_data_struct()->navigator_data, row, column);
+}
+
+TIZEN_PROD_STATIC void update_position_in_table(int row, int column, gchar *table_unique_id)
+{
+ navigator_set_last_position_in_table(get_pointer_to_service_data_struct()->navigator_data, row, column);
+ navigator_set_last_table_unique_id(get_pointer_to_service_data_struct()->navigator_data, table_unique_id);
+}
+
+TIZEN_PROD_STATIC void add_position_in_table_text(Eina_Strbuf *buf, int row, int column, Eina_Bool add_row_info, Eina_Bool add_column_info)
+{
+ if (add_row_info) {
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAF(buf, _("IDS_ACCS_BODY_ROW_P1SD"), row + 1);
+ }
+ if (add_column_info) {
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAF(buf, _("IDS_ACCS_BODY_COLUMN_P1SD"), column + 1);
+ }
+}
+
+TIZEN_PROD_STATIC void add_info_about_table_text(Eina_Strbuf *buf, int row_count, int column_count, gchar *table_caption, Eina_Bool add_rows_info, Eina_Bool add_columns_info)
{
- if (rm->parent)
- g_object_unref(rm->parent);
-
- if (rm->described_by_accessible)
- g_object_unref(rm->described_by_accessible);
-
- g_hash_table_unref(rm->attributes);
- g_free(rm->name);
- g_free(rm->labeled_by_name);
- g_free(rm->text_interface_name);
- g_free(rm->localized_role_name);
- g_free(rm->description);
- g_free(rm->value_text);
- g_free(rm);
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAF(buf, _("IDS_ACCS_BODY_IN_GRID_CAPTION_P1SS"), table_caption);
+ if (add_rows_info) {
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAF(buf, _("IDS_ACCS_BODY_P1SD_ROWS"), row_count);
+ }
+ if (add_columns_info) {
+ if (eina_strbuf_length_get(buf))
+ ESAL(buf, " , ");
+ ESAF(buf, _("IDS_ACCS_BODY_P1SD_COLUMNS"), column_count);
+ }
}
TIZEN_PROD_STATIC char *generate_role_trait_from_role(AtspiAccessibleReadingMaterial *rm)
AtspiAccessibleReadingMaterial *_rm = atspi_accessible_get_reading_material(rm->described_by_accessible, NULL);
if (_rm) {
role_trait_from_relation = generate_role_trait_recursive(_rm, ++nest_level, max_nest_level);
- reading_composer_reading_material_free(_rm);
+ atspi_accessible_free_reading_material(_rm);
}
}
AtspiAccessibleReadingMaterial *_rm = atspi_accessible_get_reading_material(rm->described_by_accessible, NULL);
if (_rm) {
state_trait_from_relation = generate_state_trait_recursive(_rm, ++nest_level, max_nest_level);
- reading_composer_reading_material_free(_rm);
+ atspi_accessible_free_reading_material(_rm);
}
}
DEBUG("END : ACCESSIBLE_READING_INFO_TYPE_NAME");
}
- reading_composer_reading_material_free(rm);
+ atspi_accessible_free_reading_material(rm);
DEBUG("RESULT: %s", eina_strbuf_string_get(buf));
DEBUG("END");
}
DEBUG("END : ACCESSIBLE_READING_INFO_TYPE_NAME");
}
+ int row;
+ int column;
+ gchar *table_unique_id = NULL;
+ if (vc_get_read_list_grid_information()) {
+ int row_count;
+ int column_count;
+ gchar *table_caption = NULL;
+ if (object_get_position_in_table(rm->self, &row, &column, &table_unique_id, &row_count, &column_count, &table_caption)) {
+ Eina_Bool add_row_info = should_add_row_info(row, column, table_unique_id);
+ Eina_Bool add_column_info = should_add_column_info(row, column, table_unique_id);
+
+ add_position_in_table_text(buf, row, column, add_row_info, add_column_info);
+ add_info_about_table_text(buf, row_count, column_count, table_caption, add_row_info, add_column_info);
+ update_position_in_table(row, column, table_unique_id);
+ }
+ g_free(table_caption);
+ } else {
+ if (object_get_position_in_table(rm->self, &row, &column, &table_unique_id, NULL, NULL, NULL)) {
+ add_position_in_table_text(buf, row, column, should_add_row_info(row, column, table_unique_id), should_add_column_info(row, column, table_unique_id));
+ update_position_in_table(row, column, table_unique_id);
+ }
+ }
+ g_free(table_unique_id);
+
if (reading_attribute & ACCESSIBLE_READING_INFO_TYPE_ROLE) {
DEBUG("START : ACCESSIBLE_READING_INFO_TYPE_ROLE");
role_name = generate_role_trait(rm);
AtspiAccessibleReadingMaterial *_rm = atspi_accessible_get_reading_material(rm->described_by_accessible, NULL);
if (_rm) {
description_from_relation = reading_composer_extended_description_get_recursive(_rm, ++nest_level, max_nest_level);
- reading_composer_reading_material_free(_rm);
+ atspi_accessible_free_reading_material(_rm);
}
}
void reading_composer_data_free(ReadingComposerData *data) {
if (data)
- reading_composer_reading_material_free(data);
+ atspi_accessible_free_reading_material(data);
}
#include <test_suite/test_suite.h>
#endif
-#define VCKEY_DESCRIPTION "db/setting/accessibility/screen_reader/description"
-#define VCKEY_HAPTIC "db/setting/accessibility/screen_reader/haptic"
-#define VCKEY_KEYBOARD_FEEDBACK "db/setting/accessibility/screen_reader/keyboard_feedback"
-#define VCKEY_SOUND_FEEDBACK "db/setting/accessibility/screen_reader/sound_feedback"
-#define VCKEY_TTS_VOICE "db/setting/accessibility/screen_reader/tts_voice"
-#define VCKEY_TTS_SPEED "db/setting/accessibility/screen_reader/tts_speed"
-#define VCKEY_LCD_BACKLIGHT_NORMAL "db/setting/lcd_backlight_normal"
+#define VCKEY_DESCRIPTION "db/setting/accessibility/screen_reader/description"
+#define VCKEY_LIST_GRID_INFORMATION "db/setting/accessibility/screen_reader/list_grid_information"
+#define VCKEY_HAPTIC "db/setting/accessibility/screen_reader/haptic"
+#define VCKEY_KEYBOARD_FEEDBACK "db/setting/accessibility/screen_reader/keyboard_feedback"
+#define VCKEY_SOUND_FEEDBACK "db/setting/accessibility/screen_reader/sound_feedback"
+#define VCKEY_TTS_VOICE "db/setting/accessibility/screen_reader/tts_voice"
+#define VCKEY_TTS_SPEED "db/setting/accessibility/screen_reader/tts_speed"
+#define VCKEY_LCD_BACKLIGHT_NORMAL "db/setting/lcd_backlight_normal"
typedef struct {
int init;
int read_description;
+ int read_list_grid_information;
int haptic;
int keyboard_feedback;
int sound_feedback;
vconf_data.init = 1;
vconf_data.read_description = vcwrap_get_key_int(VCKEY_DESCRIPTION, true);
+ vconf_data.read_list_grid_information = vcwrap_get_key_int(VCKEY_LIST_GRID_INFORMATION, true);
vconf_data.haptic = vcwrap_get_key_int(VCKEY_HAPTIC, true);
vconf_data.keyboard_feedback = vcwrap_get_key_int(VCKEY_KEYBOARD_FEEDBACK, true);
vconf_data.sound_feedback = vcwrap_get_key_int(VCKEY_SOUND_FEEDBACK, true);
appcore_set_event_callback(APPCORE_EVENT_LANG_CHANGE, display_language_changed_cb, NULL);
vcwrap_set_field_updater_int(VCKEY_DESCRIPTION, &(vconf_data.read_description));
+ vcwrap_set_field_updater_int(VCKEY_LIST_GRID_INFORMATION, &(vconf_data.read_list_grid_information));
vcwrap_set_field_updater_int(VCKEY_HAPTIC, &(vconf_data.haptic));
vcwrap_set_field_updater_int(VCKEY_KEYBOARD_FEEDBACK, &(vconf_data.keyboard_feedback));
vcwrap_set_field_updater_int(VCKEY_SOUND_FEEDBACK, &(vconf_data.sound_feedback));
vcwrap_unset_field_updater_int(VCKEY_KEYBOARD_FEEDBACK);
vcwrap_unset_field_updater_int(VCKEY_HAPTIC);
vcwrap_unset_field_updater_int(VCKEY_DESCRIPTION);
+ vcwrap_unset_field_updater_int(VCKEY_LIST_GRID_INFORMATION);
vcwrap_unset_field_updater_int(VCKEY_SOUND_FEEDBACK);
vcwrap_unset_field_updater_int(VCKEY_LCD_BACKLIGHT_NORMAL);
vcwrap_unset_field_updater_int(VCKEY_TTS_SPEED);
return vc_get_instance()->read_description;
}
+int vc_get_read_list_grid_information(void)
+{
+ return vc_get_instance()->read_list_grid_information;
+}
+
int vc_get_haptic(void)
{
return vc_get_instance()->haptic;
DEBUG("speaking politeness mode is %d", mode);
return mode;
}
+
+Eina_Bool object_get_position_in_table(AtspiAccessible *object, int *row, int *column, gchar **table_unique_id, int *table_row_count, int *table_column_count, gchar **table_caption)
+{
+ if (!object || !row || !column || !table_unique_id)
+ return EINA_FALSE;
+
+ AtspiTableCell *table_cell = atspi_accessible_get_table_cell(object);
+ if (!table_cell) {
+ DEBUG("object is not a table cell");
+ return EINA_FALSE;
+ }
+
+ int row_span, column_span;
+ GError *err = NULL;
+ atspi_table_cell_get_row_column_span(table_cell, row, column, &row_span, &column_span, &err);
+
+ if (err) {
+ ERROR("failed to get cell position in table");
+ GERROR_CHECK(err);
+ g_object_unref(table_cell);
+ return EINA_FALSE;
+ }
+
+ if (row < 0 || column < 0) {
+ ERROR("invalid cell position in table");
+ g_object_unref(table_cell);
+ return EINA_FALSE;
+ }
+
+ AtspiTable *table = atspi_table_cell_get_table(table_cell, NULL);
+ if (!table) {
+ ERROR("table cell object is not in table");
+ g_object_unref(table_cell);
+ return EINA_FALSE;
+ }
+
+ if (table_row_count && table_column_count && table_caption) {
+ *table_row_count = atspi_table_get_n_rows(table, NULL);
+
+ if (table_row_count < 0) {
+ ERROR("invalid row count in table");
+ g_object_unref(table_cell);
+ g_object_unref(table);
+ return EINA_FALSE;
+ }
+
+ *table_column_count = atspi_table_get_n_columns(table, NULL);
+
+ if (table_column_count < 0) {
+ ERROR("invalid column count in table");
+ g_object_unref(table_cell);
+ g_object_unref(table);
+ return EINA_FALSE;
+ }
+
+ AtspiAccessible* caption_object = atspi_table_get_caption(table, NULL);
+ if (caption_object) {
+ *table_caption = atspi_accessible_get_name(caption_object, NULL);
+ g_object_unref(caption_object);
+ }
+ }
+
+ *table_unique_id = atspi_accessible_get_unique_id(table, NULL);
+
+ g_object_unref(table);
+ g_object_unref(table_cell);
+
+ return EINA_TRUE;
+}