Add atspi_accessible_get_default_label_info 25/151025/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 19 Sep 2017 10:59:53 +0000 (19:59 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Tue, 19 Sep 2017 11:11:03 +0000 (20:11 +0900)
commit82accecf71860313932e556f1ee34c2924892426
tree852fbdc739e69bc4d8a432bd1aab3b31af19e722
parent3a9c9c1329b99297630576005c54ee601580bd02
Add atspi_accessible_get_default_label_info

It is not possible to support default label feature using current at-spi2-core
APIs without much of IPC. The following would be difficult case to cover.

(top of accessible tree) - (bottom side)
PageTab1 - Panel1 - PageTab2 - Panel2  -  PageTab3 - Panel3(currently showing)

Application could make as below:
PageTab1 - Panel1 - PageTab3 - Panel3  -  PageTab2 - Panel2(currently showing)

or following tree would normally be possilbe:
PageTab1 - Panel1 - PageTab2 - Panel2(currently showing)

There are much of complicated case over there.
So we are handling the default label object stack on toolkit(Elementary) side.

The atspi_accessible_get_default_label_info returns default label information
to be used screen-reader side. This is not stable. And this depends on toolkit
side UI definition. The candidate of default label object could be changed by
UI definition.

AtspiAccessibleDefaultLabelInfo *dli;
dli = atspi_accessible_get_default_label_info(root, &error);

You have to free alocated resource as below, if it is not necessary any more.
g_object_unref(dli->obj);
free(dli);

Change-Id: I444906e6d020ea6fe2536a73473e0e796a015d05
atspi/atspi-accessible.c
atspi/atspi-accessible.h
atspi/atspi-types.h