atspi: refactor atspi_bridge to eo object

This will allow to reuse eo events infrastructure
in next patches.
This commit is contained in:
Lukasz Stanislawski 2015-06-08 15:40:28 +02:00
parent d773097e61
commit f75acf75c8
7 changed files with 996 additions and 458 deletions

View File

@ -187,6 +187,7 @@ EAPI extern Elm_Version *elm_version;
#include <elm_app_client_view.h>
#include <elm_app.h>
#include <elm_atspi_app_object.h>
#include <elm_atspi_bridge.h>
#include <elm_bg.h>
#include <elm_box.h>

View File

@ -532,6 +532,7 @@ elm_color_class.c: $(COLORCLASS_GEN)
elm_eolian_files = \
elm_access.eo \
elm_actionslider.eo \
elm_atspi_bridge.eo \
elm_app_client.eo \
elm_app_client_view.eo \
elm_app_server.eo \
@ -679,6 +680,7 @@ elementaryeolianfiles_DATA = \
elm_app_server.eo \
elm_app_server_view.eo \
elm_atspi_app_object.eo \
elm_atspi_bridge.eo \
elm_interface_atspi_accessible.eo \
elm_interface_atspi_action.eo \
elm_interface_atspi_component.eo \

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
class Elm.Atspi_Bridge (Eo.Base)
{
eo_prefix: elm_obj_atspi_bridge;
methods {
@property connected {
get {
/*@ Indicate if connection with AT-SPI2 bus has been established. */
values {
ret: bool;
}
}
}
@property root {
get {
/*@ Get root object of accessible object hierarchy */
values {
ret: Eo*;
}
}
}
}
implements {
Eo.Base.constructor;
Eo.Base.destructor;
}
}

View File

@ -0,0 +1,8 @@
#ifdef EFL_BETA_API_SUPPORT
#ifdef EFL_EO_API_SUPPORT
#include "elm_atspi_bridge.eo.h"
#endif
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elm_atspi_bridge.eo.legacy.h"
#endif
#endif

View File

@ -341,7 +341,7 @@ struct _Elm_Module
int references;
};
Eo *_elm_atspi_bridge_root_get(void);
Eo *_elm_atspi_bridge_get(void);
void _elm_atspi_bridge_init(void);
void _elm_atspi_bridge_shutdown(void);

View File

@ -3759,7 +3759,9 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
eo_do(obj, elm_interface_atspi_accessible_role_set(ELM_ATSPI_ROLE_WINDOW));
if (_elm_config->atspi_mode == ELM_ATSPI_MODE_ON)
{
elm_interface_atspi_accessible_children_changed_added_signal_emit(_elm_atspi_bridge_root_get(), obj);
Eo *bridge = _elm_atspi_bridge_get();
if (bridge)
elm_interface_atspi_accessible_children_changed_added_signal_emit(elm_atspi_bridge_root_get(bridge), obj);
}
evas_object_show(sd->edje);
@ -5419,7 +5421,8 @@ EOLIAN static Eo*
_elm_win_elm_interface_atspi_accessible_parent_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED)
{
// attach all kinds of windows directly to ATSPI application root object
return _elm_atspi_bridge_root_get();
Eo *bridge = _elm_atspi_bridge_get();
return elm_atspi_bridge_root_get(bridge);
}
EOLIAN static const Elm_Atspi_Action*