More Eo updates

This commit is contained in:
Kai Huuhko 2016-03-09 20:07:05 +02:00
parent 05c19962dc
commit 77d023dfe1
3 changed files with 11 additions and 10 deletions

View File

@ -26,7 +26,9 @@ cdef class Systray(Eo):
"""
def __init__(self, Eo parent not None, *args, **kwargs):
self._set_obj(eo_add(elm_systray_class_get(), parent.obj))
cdef cEo *obj
eo_add(&obj, elm_systray_class_get(), parent.obj)
self._set_obj(obj)
self._set_properties_from_keyword_args(kwargs)
property id:

View File

@ -39,12 +39,12 @@ from efl.eina cimport Eina_Bool, \
from efl.c_eo cimport Eo as cEo, eo_init, eo_shutdown, eo_del, \
eo_class_name_get, eo_class_get, eo_base_class_get,\
eo_key_data_set, eo_key_data_get, eo_key_data_del, \
eo_event_callback_add, eo_event_callback_del, EO_EV_DEL, \
eo_event_callback_add, eo_event_callback_del, EO_BASE_EVENT_DEL, \
eo_parent_get, eo_parent_set, Eo_Event_Description, \
eo_event_freeze, eo_event_thaw, eo_event_freeze_count_get, \
eo_event_global_freeze, eo_event_global_thaw, \
eo_event_global_freeze_count_get, EO_CALLBACK_STOP, \
eo_children_iterator_new, Eo_Event2
eo_children_iterator_new, Eo_Event
from efl.utils.logger cimport add_logger
@ -182,14 +182,14 @@ cdef void _register_decorated_callbacks(Eo obj):
######################################################################
cdef Eina_Bool _eo_event_del_cb(void *data, const Eo_Event2 *event) with gil:
cdef Eina_Bool _eo_event_del_cb(void *data, const Eo_Event *event) with gil:
cdef:
Eo self = <Eo>data
const char *cls_name = eo_class_name_get(eo_class_get(self.obj))
EINA_LOG_DOM_DBG(PY_EFL_EO_LOG_DOMAIN, "Deleting Eo: %s", cls_name)
eo_event_callback_del(self.obj, EO_EV_DEL, _eo_event_del_cb, <const void *>self)
eo_event_callback_del(self.obj, EO_BASE_EVENT_DEL, _eo_event_del_cb, <const void *>self)
eo_key_data_del(self.obj, "python-eo")
self.obj = NULL
Py_DECREF(self)
@ -253,7 +253,7 @@ cdef class Eo(object):
self.obj = obj
eo_key_data_set(self.obj, "python-eo", <void *>self)
eo_event_callback_add(self.obj, EO_EV_DEL, _eo_event_del_cb, <const void *>self)
eo_event_callback_add(self.obj, EO_BASE_EVENT_DEL, _eo_event_del_cb, <const void *>self)
Py_INCREF(self)
return 1

View File

@ -77,20 +77,19 @@ cdef extern from "Eo.h":
const Eo_Event_Description *desc # The event description. */
void *event_info # Extra event information passed by the event caller. */
ctypedef _Eo_Event Eo_Event
ctypedef _Eo_Event Eo_Event2
####################################################################
# Eo Events
#
cdef const Eo_Event_Description *EO_EV_DEL
cdef const Eo_Event_Description *EO_BASE_EVENT_DEL
####################################################################
# Other typedefs
#
ctypedef Eina_Bool (*Eo_Event_Cb)(void *data, const Eo_Event2 *event)
ctypedef Eina_Bool (*Eo_Event_Cb)(void *data, const Eo_Event *event)
ctypedef void (*eo_key_data_free_func)(void *)
@ -101,7 +100,7 @@ cdef extern from "Eo.h":
int eo_init()
int eo_shutdown()
Eo *eo_add(const Eo_Class *klass, Eo *parent, ...)
void eo_add(Eo **objp, const Eo_Class *klass, Eo *parent, ...)
Eo *eo_ref(const Eo *obj)
void eo_unref(const Eo *obj)
int eo_ref_get(const Eo *obj)