On 22/11/14 20:29, Magdalen Berns wrote:
> Hi list,
>
> Without fully testing each one I went through the java-atk-wrapper
> code and have been able to identify the following methods and
> interfaces as being unimplemented or as having an implementation which
> is incomplete:

Just pointing which of those methods deprecated methods in order to
answer your question below.

>
>     |Action:|
>
>     |  get_localized_name|
>
>     |  set_description|
>
>     |
>     |
>
>     |Component:|
>
>     |  add_focus_handler|
>

|Deprecated.

|
>
>     |  get_mdi_zorder|
>
>     |  get_alpha|
>
>     |  remove_focus_handler|
>

|Deprecated.

|
>
>     |
>     |
>
>     |Document Interface (not yet implemented):|
>
>     |  get_document_type|
>

Deprecated.
>
>     |  get_document|
>

|Deprecated.

|
>
>     |  get_attribute_value|
>
>     |  get_attribute_value|
>
>     |  get_attributes|
>
>     |  get_locale|
>
|Deprecated.

|
>
>     |  get_current_page_number|
>
>     |  get_page_count|
>
>     |
>     |
>
>     |EditableText:|
>
>     |  set_run_attributes|
>
>     |
>     |
>
>     |HyperlinkImpl:|
>
>     |TODO Currently Not fully documented by ATK|
>
|
Just in case you were looking at the methods, AtkHyperlinkImpl has the
longest/detailed Description of any ATK interfaces/objects, written by
Mario Sanchez, added after his work on webkitgtk.

https://developer.gnome.org/atk/unstable/atk-AtkHyperlinkImpl.html|

|
|

>     |Image:|
>
>     |  get_image_locale|
>
>     |  set_image_description|
>
>     |
>     |
>
>     |StreamableContent (not yet implemented and may not have java 
> equivalent):|
>

|After looking a little, after your mention on last weekly meeting, I
discovered that this Atk interface is not supported by at-spi2 (so not
supported by pyatspi2 either). It will be likely deprecated.

|
>
>     |
>     |
>
>     |Table:|
>
>     |  set_caption|
>
>     |  set_row_description|
>
>     |  set_column_description|
>
>     |  set_row_header|
>
>     |  set_column_header|
>
>     |  set_summary|
>
>     |  add_column_selection|
>
>     |  add_row_selection|
>
>     |
>     |
>
>     |TableCell (not yet implemented):|
>
>     |  get_column_span|
>
>     |  get_column_header_cells|
>
>     |  get_position|
>
>     |  get_row_span|
>
>     |  get_row_header_cells|
>
>     |  get_row_column_span|
>
>     |  cell_get_table|
>
>     |
>     |
>
>     |Text:|
>

|  set_free|

>     |  attribute_register|
>
>     |  attribute_get_name|
>
>     |  attribute_for_name|
>
>     |  attribute_get_value|
>
>     |
>     |
>
>     |Value:|
>
>     |  get_minimum_increment|
>
|Deprecated.

|
>
>     |  get_range|
>
>     |  get_sub_ranges|
>
>     |  get_value_and_text|
>
>     |  set_value|
>


>
> For now it would be useful to get some feedback on what might be a
> good idea to focus on implementing.

Initially, I will not focus on the deprecated methods. It is true that
those could be important if someone is using an old version of
pyatpsi2/orca, but if that scenario, it will be really likely to be
using an old version of java-atk-wrapper too.

> Alejandro has indicated the text interface as quite important so I am
> thinking this might be the best place to start but I am a bit
> concerned about what I am seeing with the focus stuff too.

I didn't know that there were problems with the focus. If that is also a
problem, then it is true that it would be also a good first task.

> I am also quite keen to further investigate what's happening with the
> Windows interface signals in jawobject.c.

Some context from the past (so the situation when java-atk-wrapper was
maintained by Sun/Oracle). at-spi defined some window related windows,
and expected applications to send those signals. For some reason, there
isn't any ATK interface defining those signals. But as I said, they were
expected in any case. So what in the end each implementors (like gtk)
were defining and sending those events on a specific format, and the atk
bridge forwarding them, because it knew the format. Really error-prone
and without any documentation at all. After a quick look on
java-atk-wrapper, that was also done there, defining those events on
jawobject.c

Since Atk 2.2, there is an interface AtkWindow, that only define those
signals:
https://developer.gnome.org/atk/unstable/AtkWindow.html#AtkWindow.signals

So, my advice is removing those signals from jawobject.c, and
implement/wrap AtkWindow where it makes sense. If you want an example,
this is how it was done on clutter:
https://git.gnome.org/browse/clutter/commit/?id=a9690a4a5e8604652048f32e2ea188aa40e0ae95

It was more removing that adding, so I hope it would be similar on jaw.

> Generally, I am interested in what the first impressions on this are
> so far, before going ahead with a strategy on addressing some of these
> implementations for java-atk-wrapper.

Done.

BR

-- 
Alejandro Piñeiro (apinhe...@igalia.com)

_______________________________________________
gnome-accessibility-devel mailing list
gnome-accessibility-devel@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel

Reply via email to