davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=beff74c28aa33b7295900a20dda4f00d61147cff
commit beff74c28aa33b7295900a20dda4f00d61147cff Author: davemds <d...@gurumeditation.it> Date: Sun Apr 6 23:35:53 2014 +0200 added docs for Eo --- doc/eo/eo.rst | 26 ++++++++++++++++++++++++++ doc/index.rst | 7 +++++++ efl/eo/efl.eo.pyx | 37 ++++++++++++++++++++++++++++++++++--- 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/doc/eo/eo.rst b/doc/eo/eo.rst new file mode 100644 index 0000000..eb6046c --- /dev/null +++ b/doc/eo/eo.rst @@ -0,0 +1,26 @@ +:mod:`efl.eo` Module +======================= + +.. module:: efl.eo + + +What is Eo? +-------------- + +Eo is the generic object system of the whole set of libraries. It is +designed to be the base object system for the EFL. + +The :class:`Eo` class is the base for (quite) all the objects in the EFL, +in other words every EFL object inherit from :class:`Eo` and so you can +use the methods defined here on every other object. + +In practice you will never directly use the :class:`Eo` class, in fact you +cannot create an instance of the class. As a user you will just use a small +number of methods from derived class, like :meth:`Eo.delete()` or +:meth:`Eo.is_deleted()` + + +Reference +--------- + +.. autoclass:: efl.eo.Eo diff --git a/doc/index.rst b/doc/index.rst index 5738076..2e56615 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -35,6 +35,13 @@ EFL .. toctree:: efl.rst + +EO +--- + +.. toctree:: eo/eo.rst + + Ecore ----- diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx index 33557d2..42817ab 100644 --- a/efl/eo/efl.eo.pyx +++ b/efl/eo/efl.eo.pyx @@ -200,8 +200,7 @@ cdef Eina_Bool _eo_event_del_cb(void *data, cEo *obj, cdef class Eo(object): """ - Base class used by all the Eo object in the bindings, its not meant to be - used by users, but only by internal classes. + Base class used by all the object in the EFL. """ @@ -250,27 +249,59 @@ cdef class Eo(object): return 1 def delete(self): + """Delete the object and free internal resources. + + .. note:: This will not delete the python object, but only the internal + C one. The python object will be automatically deleted by the + garbage collector when there are no more reference to it. + + """ eo_del(self.obj) def is_deleted(self): - "Check if the object has been deleted thus leaving the object shallow" + """Check if the object has been deleted thus leaving the object shallow. + + :return: True if the object has been deleted yet, False otherwise. + :rtype: bool + + """ return bool(self.obj == NULL) def parent_set(self, Eo parent): + """Set the parent object. + + :param parent: The object to set as parent. + :type parent: :class:`Eo` + + """ eo_do(self.obj, eo_parent_set(parent.obj)) def parent_get(self): + """Get the parent object. + + :return: The parent object + :rtype: :class:`Eo` + + """ cdef cEo *parent = NULL eo_do(self.obj, eo_parent_get(&parent)) return object_from_instance(parent) def event_freeze(self): + """Pause event propagation for this object.""" eo_do(self.obj, eo_event_freeze()) def event_thaw(self): + """Restart event propagation for this object.""" eo_do(self.obj, eo_event_thaw()) def event_freeze_get(self): + """Get the event freeze count for this object. + + :return: the freeze count + :rtype: int + + """ cdef int fcount eo_do(self.obj, eo_event_freeze_get(&fcount)) return fcount --