Re: [g-a-devel] Java ATK Wrapper unimplented methods




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 (apinheiro igalia com)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]