forked from enlightenment/efl
Eolian: Integration of Win Access Object
This commit is contained in:
parent
1c598fbaaa
commit
8169751469
|
@ -693,6 +693,8 @@ BUILT_SOURCES = \
|
||||||
elm_web.eo.h \
|
elm_web.eo.h \
|
||||||
elm_widget_access_object.eo.c \
|
elm_widget_access_object.eo.c \
|
||||||
elm_widget_access_object.eo.h \
|
elm_widget_access_object.eo.h \
|
||||||
|
elm_win_access_object.eo.c \
|
||||||
|
elm_win_access_object.eo.h \
|
||||||
elm_win.eo.c \
|
elm_win.eo.c \
|
||||||
elm_win.eo.h
|
elm_win.eo.h
|
||||||
|
|
||||||
|
@ -780,6 +782,7 @@ EXTRA_DIST += \
|
||||||
elm_video.eo \
|
elm_video.eo \
|
||||||
elm_web.eo \
|
elm_web.eo \
|
||||||
elm_widget_access_object.eo \
|
elm_widget_access_object.eo \
|
||||||
|
elm_win_access_object.eo \
|
||||||
elm_win.eo
|
elm_win.eo
|
||||||
|
|
||||||
nodist_includesunstable_HEADERS = \
|
nodist_includesunstable_HEADERS = \
|
||||||
|
@ -866,5 +869,6 @@ nodist_includesunstable_HEADERS = \
|
||||||
elm_video.eo.h \
|
elm_video.eo.h \
|
||||||
elm_web.eo.h \
|
elm_web.eo.h \
|
||||||
elm_widget_access_object.eo.h \
|
elm_widget_access_object.eo.h \
|
||||||
|
elm_win_access_object.eo.h \
|
||||||
elm_win.eo.h
|
elm_win.eo.h
|
||||||
|
|
||||||
|
|
|
@ -582,8 +582,7 @@ _elm_app_access_object_elm_atspi_object_parent_get(Eo *obj EINA_UNUSED, void *_p
|
||||||
|
|
||||||
// elm_win wrapper
|
// elm_win wrapper
|
||||||
|
|
||||||
const Eo_Class *elm_atspi_win_obj_class_get(void) EINA_CONST;
|
#include "elm_win_access_object.eo.h"
|
||||||
#define ELM_ATSPI_WIN_CLASS elm_atspi_win_obj_class_get()
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_win_focused(void *data, Evas_Object *eo EINA_UNUSED, void *event_info EINA_UNUSED)
|
_win_focused(void *data, Evas_Object *eo EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
|
@ -599,10 +598,10 @@ _win_unfocused(void *data, Evas_Object *eo EINA_UNUSED, void *event_info EINA_UN
|
||||||
eo_do(ao, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_DEACTIVATED, NULL, NULL));
|
eo_do(ao, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_DEACTIVATED, NULL, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
EOLIAN static void
|
||||||
_win_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
_elm_win_access_object_eo_base_constructor(Eo *obj, void *_pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
eo_do_super(obj, ELM_ATSPI_WIN_CLASS, eo_constructor());
|
eo_do_super(obj, ELM_WIN_ACCESS_OBJECT_CLASS, eo_constructor());
|
||||||
Evas_Object *evobj = NULL;
|
Evas_Object *evobj = NULL;
|
||||||
|
|
||||||
eo_do(obj, elm_atspi_obj_object_get(&evobj));
|
eo_do(obj, elm_atspi_obj_object_get(&evobj));
|
||||||
|
@ -611,59 +610,33 @@ _win_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
||||||
evas_object_smart_callback_add(evobj, "unfocused", _win_unfocused, obj);
|
evas_object_smart_callback_add(evobj, "unfocused", _win_unfocused, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
EOLIAN static void
|
||||||
_win_destructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
_elm_win_access_object_eo_base_destructor(Eo *obj, void *_pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Elm_Atspi_Object *root = _elm_atspi_root_object_get();
|
Elm_Atspi_Object *root = _elm_atspi_root_object_get();
|
||||||
eo_do(root, eo_event_callback_call(ELM_ATSPI_OBJECT_EVENT_CHILD_REMOVED, obj, NULL));
|
eo_do(root, eo_event_callback_call(ELM_ATSPI_OBJECT_EVENT_CHILD_REMOVED, obj, NULL));
|
||||||
|
|
||||||
eo_do_super(obj, ELM_ATSPI_WIN_CLASS, eo_destructor());
|
eo_do_super(obj, ELM_WIN_ACCESS_OBJECT_CLASS, eo_destructor());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
EOLIAN static const char*
|
||||||
_win_name_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
_elm_win_access_object_elm_atspi_object_name_get(Eo *obj, void *_pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EO_PARAMETER_GET(const char **, ret, list);
|
|
||||||
Evas_Object *evobj = NULL;
|
Evas_Object *evobj = NULL;
|
||||||
|
|
||||||
eo_do(obj, elm_atspi_obj_object_get(&evobj));
|
eo_do(obj, elm_atspi_obj_object_get(&evobj));
|
||||||
EINA_SAFETY_ON_NULL_RETURN(evobj);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(evobj, NULL);
|
||||||
|
|
||||||
if (ret) *ret = elm_win_title_get(evobj);
|
return elm_win_title_get(evobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
EOLIAN static Elm_Atspi_Object*
|
||||||
_win_parent_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
_elm_win_access_object_elm_atspi_object_parent_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EO_PARAMETER_GET(Elm_Atspi_Object **, ret, list);
|
return _elm_atspi_root_object_get();
|
||||||
if (ret) *ret = _elm_atspi_root_object_get();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
#include "elm_win_access_object.eo.c"
|
||||||
_win_class_constructor(Eo_Class *klass)
|
|
||||||
{
|
|
||||||
const Eo_Op_Func_Description func_desc[] = {
|
|
||||||
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _win_constructor),
|
|
||||||
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _win_destructor),
|
|
||||||
EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_NAME_GET), _win_name_get),
|
|
||||||
EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_PARENT_GET), _win_parent_get),
|
|
||||||
EO_OP_FUNC_SENTINEL
|
|
||||||
};
|
|
||||||
eo_class_funcs_set(klass, func_desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const Eo_Class_Description win_class_desc = {
|
|
||||||
EO_VERSION,
|
|
||||||
"Elm_Win_Access_Object",
|
|
||||||
EO_CLASS_TYPE_REGULAR,
|
|
||||||
EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
_win_class_constructor,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
EO_DEFINE_CLASS(elm_atspi_win_obj_class_get, &win_class_desc, ELM_WIDGET_ACCESS_OBJECT_CLASS, ELM_INTERFACE_ATSPI_WINDOW_CLASS, NULL);
|
|
||||||
|
|
||||||
Elm_Atspi_Object*
|
Elm_Atspi_Object*
|
||||||
_elm_atspi_root_object_get(void)
|
_elm_atspi_root_object_get(void)
|
||||||
|
@ -696,7 +669,7 @@ _elm_atspi_factory_construct(Evas_Object *obj)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
else if (!strcmp(type, "elm_win"))
|
else if (!strcmp(type, "elm_win"))
|
||||||
ret = eo_add(ELM_ATSPI_WIN_CLASS, obj);
|
ret = eo_add(ELM_WIN_ACCESS_OBJECT_CLASS, obj);
|
||||||
else if (!strncmp(type, "elm_", 4)) // defaults to implementation for elm_widget class.
|
else if (!strncmp(type, "elm_", 4)) // defaults to implementation for elm_widget class.
|
||||||
ret = eo_add(ELM_WIDGET_ACCESS_OBJECT_CLASS, obj);
|
ret = eo_add(ELM_WIDGET_ACCESS_OBJECT_CLASS, obj);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
class Elm_Win_Access_Object (Elm_Widget_Access_Object, Elm_Interface_Atspi_Window)
|
||||||
|
{
|
||||||
|
data:null;
|
||||||
|
implements {
|
||||||
|
Eo_Base::constructor;
|
||||||
|
Eo_Base::destructor;
|
||||||
|
Elm_Atspi_Object::name::get;
|
||||||
|
Elm_Atspi_Object::parent::get;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue