Commit Graph

62 Commits

Author SHA1 Message Date
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 59fc5e1643 atspi: use eldbus fallback interface
Fallback eldbus interface allows to handle dbus method call on
multiple object paths only with single callback. This greatly
reduces a ammount of memory since there is no need
to register eldbus interface for every accessible object.
2015-10-01 15:30:12 +02:00
Lukasz Stanislawski 37a7d7cbf6 atspi: reduce memory footprint
Use pointer hash instead of string hash to account information
about accessible objects.
Use statically allocated string to return object paths.
2015-10-01 15:30:07 +02:00
Daniel Kolesa bcb1f300a6 elm_atspi_bridge: fix warnings 2015-07-29 15:22:13 +01:00
Lukasz Stanislawski 57ed1a056c atspi: handle all states names 2015-07-07 00:26:21 +02:00
Lukasz Stanislawski f0fa3e0709 genlist: broadcast atspi expanded state changes 2015-07-01 10:44:58 +02:00
Lukasz Stanislawski 2254bf710c atspi: fix missing Window signals on AT-SPI2 initialization
Patch adds connected/disconnected elm_atspi_bridge events to avoid
races between window getting focus and AT-SPI2 bus initialization.
When  bridge gets connected windows will reemit all "Created",
"Activated" and "Deactivated" events with regard to window focus.
2015-06-29 16:43:33 +02:00
Lukasz Stanislawski 0b8adefcea atspi: add org.a11y.atspi.Application interface to root object 2015-06-29 12:55:37 +02:00
Lukasz Stanislawski f75acf75c8 atspi: refactor atspi_bridge to eo object
This will allow to reuse eo events infrastructure
in next patches.
2015-06-29 11:30:26 +02:00
Hosang Kim 6d03b2af7e atspi_bridge: fix memory leak issue
Summary:
Call eldbus_message_unref to free Eldbus_Message structure.
And delete unused Eldbus_Message variable.
CID-386474
CID-391869
CID-394549

Reviewers: raster, woohyun, CHAN, Hermet, seoz, lukasz.stanislawski, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2690

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 15:59:19 +02:00
Lukasz Stanislawski 27090197cf atspi: fix signal name 2015-06-03 17:38:34 +02:00
Tom Hacohen 9a0d2d172b Adjust according to Eo changes. 2015-05-28 17:48:02 +01:00
Lukasz Stanislawski 7abf897ac0 atspi: more org.a11y.atspi.Window signals is broadcasted. 2015-05-11 15:48:49 +02:00
Lukasz Stanislawski 2d8df8052e atspi: add missing signals array sentiel.
@fix
2015-04-16 13:30:43 +02:00
Lukasz Stanislawski 688ddf8b83 atspi: remove redundant signature check. 2015-04-06 10:25:02 +02:00
Lukasz Stanislawski ea1f1d9c36 atspi: delay registration of atspi object until its shown 2015-04-06 10:25:01 +02:00
Lukasz Stanislawski d06ae0ec4f atspi: allow AT-SPI clients to filter-out key events 2015-04-06 10:25:00 +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
Tom Hacohen e2dcfa64ae Fix code to conform to recent Eo changes. 2015-02-23 17:16:21 +00: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
Tom Hacohen 236bab8d53 Change according to recent Eo changes, and fix related wrong unrefs.
eo_add()'s counterpart is eo_del, not eo_unref. Regardless of that, some
objects were being double-deleted which spew out some eo errors. These
things should now be fixed.

bc6b6aa457 is the relevant EFL commit.
2014-09-30 14:54:52 +01:00
Jérémy Zurcher 33338c53aa fix wrong usage of EINA_FALSE as NULL 2014-08-22 10:20:57 +02:00
Lukasz Stanislawski 09b9ef0bc0 atspi: expose more actions through atspi bus.
Summary:
Main purpose of exposing widget actions and keyboard shortcuts
is to allow accessibility clients to implement alternative methods
of GUI navigation.

Reviewers: z.kosinski

Reviewed By: z.kosinski

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D1227
2014-07-25 11:58:16 +02:00
Zbigniew Kosinski 9c3547f270 atspi: Orca is able to read slider value changes
Reviewers: stanluk

Differential Revision: https://phab.enlightenment.org/D1012
2014-07-18 11:47:48 +02:00
Lukasz Stanislawski d385caf4da atspi: improve code reusage
atspi d-bus signals have similar signatures, however use dbus variant type
to encode signal specific data. This patch adds utility function to construct
atspi dbus signal with custom variant data.
2014-07-10 10:18:53 +02:00
Lukasz Stanislawski de9d24e09d atspi: unify atspi initialization
commit removes internal elm_atspi_init function and moves atspi_app_object
creation to atspi_bridge.
2014-07-02 14:14:49 +02:00
Lukasz Stanislawski f56f430abd atspi: simplify key event handling
Keyboard events are now directly handled by atspi_bridge instead of
elm_widget.
2014-07-01 15:38:53 +02:00
Daniel Kolesa 20525deb55 update according to latest efl changes: _CLASS -> _CLASS/INTERFACE/MIXIN 2014-06-30 21:37:04 +01:00
Daniel Kolesa eb838d06ae fix atspi after eolian deduplication change; spank tasn on breakage 2014-06-20 17:09:38 +01:00
Lukasz Stanislawski 0975fd37e0 atspi: notify registry daemon about keyboard events.
Test Plan: elemeentary_test with Orca Screen reader 3.10.1

Reviewers: raster, z.kosinski

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D1025
2014-06-16 15:16:39 +09:00
Zbigniew Kosinski 3c0067305f atspi: checked state for elm_check added
Reviewers: stanluk

Differential Revision: https://phab.enlightenment.org/D1000
2014-06-12 12:57:55 +09:00
Lukasz Stanislawski 1c350bbfad atspi: typo fix, avoid returning w/o va_end call
Summary:
CID: 1222462
CID: 1222461
CID: 1222465

Reviewers: raster, seoz, z.kosinski

Differential Revision: https://phab.enlightenment.org/D995
2014-06-11 16:05:54 +09:00
Lukasz Stanislawski 4de0d39376 atspi: Add GetInterfaces method
Summary:
Method is required by AT-SPI clients when interface caching is disabled.
Method is not listed in any at-spi specification - found during fixing
clients behaviour.

Reviewers: raster, seoz, z.kosinski

Reviewed By: z.kosinski

Differential Revision: https://phab.enlightenment.org/D971
2014-06-11 13:53:49 +09:00
Lukasz Stanislawski 139c871a72 atspi: add AtspiText and AtspiEditableText interface support.
Summary:
Added reference interface implementation for elm_entry widget. Tests added.
Updated at-spi-constants.h header to version 2.12.0.

Reviewers: raster, seoz

CC: raster

Differential Revision: https://phab.enlightenment.org/D806
2014-06-10 16:18:17 +09:00
Lukasz Stanislawski bc608f73c5 atspi: add AtspiText and AtspiEditableText interface support.
Added reference interface implementation for elm_entry widget. Tests
added. Updated at-spi-constants.h header to version 2.12.0.

@feature
2014-06-10 16:18:10 +09:00
Carsten Haitzler 546b0f6634 atspi:AtspiSelection interface added
Reviewers: stanluk, m.jagiello, raster

Differential Revision: https://phab.enlightenment.org/D810
2014-05-30 11:56:24 +09: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 f4f2bbdbcd atspi: add AtspiImage interface support.
Summary: Sample implementation for elm_image added.

Reviewers: raster, seoz

Differential Revision: https://phab.enlightenment.org/D794
2014-05-27 16:23:13 +09:00
Daniel Juyung Seo 8ffbf246f4 elm: fixed trivial formattings.
Just found them while reading codes.
2014-05-10 23:44:27 +09:00
Lukasz Stanislawski 21aafc3f2d atspi: AtspiValue interface added.
Summary:
Enables remote value changing on accessible widgets.
Added sample interface implementation for elm_slider widget.

Test Plan: build&install

Reviewers: raster, seoz

Differential Revision: https://phab.enlightenment.org/D784
2014-04-24 18:03:25 +09:00
Lukasz Stanislawski 38f7840ca8 atspi: remove unused variable assignment
Summary: CID 1204328

Test Plan: build & install

Reviewers: seoz, raster

Differential Revision: https://phab.enlightenment.org/D781
2014-04-23 18:00:45 +09:00
Lukasz Stanislawski a4f3729da0 atspi: Atspi_Action interface implementation @feature
Summary: Enables remote execution of elementary widget actions.

Test Plan: build&install, accerrsiser tests on ubuntu 12.04

Reviewers: raster, seoz

Differential Revision: https://phab.enlightenment.org/D747
2014-04-21 15:04:25 +09:00
Lukasz Stanislawski 85c5216205 atspi: separate atspi mode from access mode.
Since elm_access provides its own support for screen reader, access mode
and atspi mode must be separated.

https://phab.enlightenment.org/D726
2014-04-21 15:01:11 +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
Tom Hacohen 61ae26094d atspi: Made some protected functions protected.
They should be protected and they break compilation if they are not. I'm
pretty sure much more functions should be protected, but this one
definitely.
2014-04-10 09:39:32 +01:00
Tom Hacohen 7623c27feb atspi bridge: Adjusted to Eo2. 2014-04-10 09:34:59 +01:00
Daniel Zaoui 11cf9cb7c5 Eolian: Integration of Atspi Object 2014-03-20 07:33:56 +02:00
Daniel Zaoui 0c9ba65349 Eolian: Integration of Atspi Window Interface 2014-03-20 07:33:55 +02:00
Daniel Zaoui a0395146e8 Eolian: Integration of Atspi Component Interface 2014-03-20 07:33:55 +02:00
Daniel Juyung Seo 1a29ad5679 elm: removing trailing white space ceremony for 1.9 release. 2014-03-02 00:52:26 +09:00