Commit Graph

12 Commits

Author SHA1 Message Date
Lukasz Stanislawski 0c8a75442a atspi: add new relationship append/remove/clear API
Allow to add some extra contextul information about accessibility objects
which can be used by Assistive Technology to provide better user experience.

API is still marked as beta.

@feature
2015-10-05 08:58:12 +02:00
Lukasz Stanislawski d1ec64205d atspi: add translation domain for name and description.
@feature
2015-10-02 21:56:14 +02:00
Lukasz Stanislawski c7955e54f1 widget_item: emit atspi children-changed only for non-destroyed parent. 2015-10-02 11:41:02 +02:00
Lukasz Stanislawski ca134076eb atspi: encapsulate common behaviour in atspi mixin class.
This patch moves some duplicated implementation from elm_widget
and elm_widget_item classes into atspi base mixin. It allows to
better share code and reduce maintainability.

Change-Id: I8d264661e7ffade7da72299f29075a536d71eaa3
2015-10-02 11:32:04 +02:00
Lukasz Stanislawski f15796036e atspi: add global event emitter
Introduce global event emitter for accessibility events. With such emitter
there is no need to register array of callbacks on every accessibility object.
2015-10-01 16:00:28 +02:00
Lukasz Stanislawski 53afc0f2ca atspi: fix mem leaks spotted in valgrind. 2015-04-06 10:25:02 +02:00
Lukasz Stanislawski 18bd62002b atspi: remove elm_interface_atspi_widget implementation.
elm_interface_atspi_widget object was previously used to implement
atspi features on top of elm_widget object. However such inheritance
obfuscates a design, so atspi features implementation was moved directly
into elm_widget code.
2015-04-06 10:24:58 +02:00
Lukasz Stanislawski 2ca1f8a75a atspi: properly include at-spi headers.
Summary:
Change requested by TAsn. Previuosly AT-SPI headers were kept private
and included directly into elementary source code. From now on,
AT-SPI headers can be included from Elementary.h public header, however
will be marked as beta APIs.

Commit includes following changes:
* include all atspi headers into new elm_interfaces.h header.
* marking all at-spi interfaces methods/properties as @protected.
* wrap all common headers with EFL_BETA_API_SUPPORT.
* make some common APIs visible in lib, by adding EAPI attribute
  (if someone decides to use beta APIs).

Test Plan: out-off tree build with gcc, g++

Reviewers: tasn

Reviewed By: tasn

Subscribers: seoz, q66, kuuko

Maniphest Tasks: T1721

Differential Revision: https://phab.enlightenment.org/D1528
2014-10-17 16:57:26 +01:00
Lukasz Stanislawski 6ba1627f8e atspi: fix mem leak in attributes free function 2014-07-21 15:44:16 +02:00
Daniel Kolesa 20525deb55 update according to latest efl changes: _CLASS -> _CLASS/INTERFACE/MIXIN 2014-06-30 21:37:04 +01:00
Lukasz Stanislawski 39eb7acec6 atspi: add accessible default relations and attributes
Summary: Tests added for accessibile interface

Differential Revision: https://phab.enlightenment.org/D900
2014-05-28 17:12:34 +09:00
Lukasz Stanislawski c3b541bcda atspi: refactor atspi_object class into mixins.
Summary:
Allow to create ATSPI aware objects only by attaching Atspi interface to
Eo object. Apply protected rule to all methods, properties which should
not be available to app developer. Remove public atspi header from Elementary.h.
Make Elm_Widget inherit from Atspi interfaces, Elm_Win inherits additional
Atspi_Window interface.
Unified file names - all atspi related objects/interfaces can be found under
elm_atspi_*
and elm_interface_atspi_*.

Test Plan:
build&install, out-off tree example compilation with gcc and g++,
Orca screen reader tests on Ubuntu 12.04.

Reviewers: raster, seoz, tasn, JackDanielZ

Differential Revision: https://phab.enlightenment.org/D718
2014-04-21 12:46:12 +09:00