davemds pushed a commit to branch master.

commit 541b3a8aaecf8b3140c741040f8de390c7334dc8
Author: davemds <[email protected]>
Date:   Wed Apr 10 22:41:11 2013 +0200

    Python-EFL: add missed Genlist.item_sorted_insert(), and document all the 
insertion funcs.
---
 efl/elementary/genlist.pyx | 195 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 189 insertions(+), 6 deletions(-)

diff --git a/efl/elementary/genlist.pyx b/efl/elementary/genlist.pyx
index ea479f7..276cd48 100644
--- a/efl/elementary/genlist.pyx
+++ b/efl/elementary/genlist.pyx
@@ -1093,7 +1093,16 @@ cdef class GenlistItem(ObjectItem):
 
         :param genlist: The Genlist object
         :type genlist: :py:class:`Genlist`
-        :param comparison_func: The function called for the sort
+        :param comparison_func: The function called for the sort.
+            This must be a callable and will be called
+            to insert the item in the right position. The two arguments passed
+            are two :py:class:`GenlistItem` to compare. The function must 
return
+            1 if ``item1`` comes before ``item2``, 0 if the two items
+            are equal or -1 otherwise.
+            Signature is::
+
+                func(item1, item2)->int
+
         :rtype: :py:class:`GenlistItem`
 
         This inserts an item in the genlist based on user defined comparison
@@ -1736,7 +1745,39 @@ cdef class GenlistWidget(Object):
                     GenlistItem parent_item=None,
                     int flags=ELM_GENLIST_ITEM_NONE,
                     func=None):
-        return GenlistItem(item_class, parent_item, flags, func, 
item_data).append_to(self)
+        """item_append(item_class not None, item_data, parent_item=None, 
flags=ELM_GENLIST_ITEM_NONE, func=None) -> GenlistItem
+
+        Append a new item (add as last row) to this genlist.
+
+        :param item_class: a valid instance that defines the
+            behavior of this row. See :py:class:`GenlistItemClass`.
+        :param item_data: some data that defines the model of this
+            row. This value will be given to methods of
+            ``item_class`` such as
+            :py:func:`GenlistItemClass.text_get()`. It will also be
+            provided to ``func`` as its last parameter.
+        :param parent_item: if this is a tree child, then the
+            parent item must be given here, otherwise it may be
+            None. The parent must have the flag
+            ``ELM_GENLIST_ITEM_SUBITEMS`` set.
+        :param flags: defines special behavior of this item, can be one of:
+            ELM_GENLIST_ITEM_NONE, ELM_GENLIST_ITEM_TREE or
+            ELM_GENLIST_ITEM_GROUP
+        :param func: if not None, this must be a callable to be
+            called back when the item is selected. The function
+            signature is::
+
+                func(item, obj, item_data)
+
+            Where ``item`` is the handle, ``obj`` is the Evas object
+            that represents this item, and ``item_data`` is the
+            value given as parameter to this function.
+
+        :rtype: :py:class:`GenlistItem`
+
+        """
+        return GenlistItem(item_class, parent_item, flags, func, item_data)\
+                          .append_to(self)
 
     def item_prepend(   self,
                         GenlistItemClass item_class not None,
@@ -1744,7 +1785,39 @@ cdef class GenlistWidget(Object):
                         GenlistItem parent_item=None,
                         int flags=ELM_GENLIST_ITEM_NONE,
                         func=None):
-        return GenlistItem(item_class, parent_item, flags, func, 
item_data).prepend_to(self)
+        """item_prepend(item_class not None, item_data, parent_item=None, 
flags=ELM_GENLIST_ITEM_NONE, func=None) -> GenlistItem
+
+        Prepend a new item (add as first row) to this genlist.
+
+        :param item_class: a valid instance that defines the
+            behavior of this row. See :py:class:`GenlistItemClass`.
+        :param item_data: some data that defines the model of this
+            row. This value will be given to methods of
+            ``item_class`` such as
+            :py:func:`GenlistItemClass.text_get()`. It will also be
+            provided to ``func`` as its last parameter.
+        :param parent_item: if this is a tree child, then the
+            parent item must be given here, otherwise it may be
+            None. The parent must have the flag
+            ``ELM_GENLIST_ITEM_SUBITEMS`` set.
+        :param flags: defines special behavior of this item, can be one of:
+            ELM_GENLIST_ITEM_NONE, ELM_GENLIST_ITEM_TREE or
+            ELM_GENLIST_ITEM_GROUP
+        :param func: if not None, this must be a callable to be
+            called back when the item is selected. The function
+            signature is::
+
+                func(item, obj, item_data)
+
+            Where ``item`` is the handle, ``obj`` is the Evas object
+            that represents this item, and ``item_data`` is the
+            value given as parameter to this function.
+
+        :rtype: :py:class:`GenlistItem`
+
+        """
+        return GenlistItem(item_class, parent_item, flags, func, item_data)\
+                          .prepend_to(self)
 
     def item_insert_before( self,
                             GenlistItemClass item_class not None,
@@ -1755,7 +1828,36 @@ cdef class GenlistWidget(Object):
                             func=None
                             #API XXX: *args, **kwargs
                             ):
-        return GenlistItem(item_class, None, flags, func, 
item_data).insert_before(before_item)
+        """item_insert_before(item_class not None, item_data, 
before_item=None, flags=ELM_GENLIST_ITEM_NONE, func=None) -> GenlistItem
+
+        Insert a new item before another item to this genlist.
+
+        :param item_class: a valid instance that defines the
+            behavior of this row. See :py:class:`GenlistItemClass`.
+        :param item_data: some data that defines the model of this
+            row. This value will be given to methods of
+            ``item_class`` such as
+            :py:func:`GenlistItemClass.text_get()`. It will also be
+            provided to ``func`` as its last parameter.
+        :param before_item: the new item will be inserted before this one.
+        :param flags: defines special behavior of this item, can be one of:
+            ELM_GENLIST_ITEM_NONE, ELM_GENLIST_ITEM_TREE or
+            ELM_GENLIST_ITEM_GROUP
+        :param func: if not None, this must be a callable to be
+            called back when the item is selected. The function
+            signature is::
+
+                func(item, obj, item_data)
+
+            Where ``item`` is the handle, ``obj`` is the Evas object
+            that represents this item, and ``item_data`` is the
+            value given as parameter to this function.
+
+        :rtype: :py:class:`GenlistItem`
+
+        """
+        return GenlistItem(item_class, None, flags, func, item_data)\
+                          .insert_before(before_item)
 
     def item_insert_after(  self,
                             GenlistItemClass item_class not None,
@@ -1766,9 +1868,90 @@ cdef class GenlistWidget(Object):
                             func=None
                             #API XXX: *args, **kwargs
                             ):
-        return GenlistItem(item_class, None, flags, func, 
item_data).insert_after(after_item)
+        """item_insert_after(item_class not None, item_data, after_item=None, 
flags=ELM_GENLIST_ITEM_NONE, func=None) -> GenlistItem
+
+        Insert a new item after another item to this genlist.
+
+        :param item_class: a valid instance that defines the
+            behavior of this row. See :py:class:`GenlistItemClass`.
+        :param item_data: some data that defines the model of this
+            row. This value will be given to methods of
+            ``item_class`` such as
+            :py:func:`GenlistItemClass.text_get()`. It will also be
+            provided to ``func`` as its last parameter.
+        :param after_item: the new item will be inserted after this one.
+        :param flags: defines special behavior of this item, can be one of:
+            ELM_GENLIST_ITEM_NONE, ELM_GENLIST_ITEM_TREE or
+            ELM_GENLIST_ITEM_GROUP
+        :param func: if not None, this must be a callable to be
+            called back when the item is selected. The function
+            signature is::
+
+                func(item, obj, item_data)
+
+            Where ``item`` is the handle, ``obj`` is the Evas object
+            that represents this item, and ``item_data`` is the
+            value given as parameter to this function.
+
+        :rtype: :py:class:`GenlistItem`
+
+        """
+        return GenlistItem(item_class, None, flags, func, item_data)\
+                          .insert_after(after_item)
+
+    def item_sorted_insert( self,
+                            GenlistItemClass item_class not None,
+                            item_data,
+                            comparison_func not None,
+                            GenlistItem parent_item=None,
+                            int flags=ELM_GENLIST_ITEM_NONE,
+                            func=None
+                            #API XXX: *args, **kwargs
+                            ):
+        """item_sorted_insert(item_class not None, item_data, comparison_func 
not None, parent_item=None, flags=ELM_GENLIST_ITEM_NONE, func=None) -> 
GenlistItem
+
+        This inserts a new item in the genlist based on a user defined
+        comparison function.
 
-    #Elm_Object_Item         *elm_genlist_item_sorted_insert(self.obj, 
Elm_Genlist_Item_Class *itc, void *data, Elm_Object_Item *parent, 
Elm_Genlist_Item_Type flags, Eina_Compare_Cb comp, Evas_Smart_Cb func, void 
*func_data)
+        :param item_class: a valid instance that defines the
+            behavior of this row. See :py:class:`GenlistItemClass`.
+        :param item_data: some data that defines the model of this
+            row. This value will be given to methods of
+            ``item_class`` such as
+            :py:func:`GenlistItemClass.text_get()`. It will also be
+            provided to ``func`` as its last parameter.
+        :param comparison_func: The function called for the sort.
+            this must be a callable and will be called
+            to insert the item in the right position. The two arguments passed
+            are two :py:class:`GenlistItem` to compare. The function must 
return
+            1 if ``item1`` comes before ``item2``, 0 if the two items
+            are equal or -1 otherwise.
+            Signature is::
+
+                func(item1, item2)->int
+
+        :param parent_item: if this is a tree child, then the
+            parent item must be given here, otherwise it may be
+            None. The parent must have the flag
+            ``ELM_GENLIST_ITEM_SUBITEMS`` set.
+        :param flags: defines special behavior of this item, can be one of:
+            ELM_GENLIST_ITEM_NONE, ELM_GENLIST_ITEM_TREE or
+            ELM_GENLIST_ITEM_GROUP
+        :param func: if not None, this must be a callable to be
+            called back when the item is selected. The function
+            signature is::
+
+                func(item, obj, item_data)
+
+            Where ``item`` is the handle, ``obj`` is the Evas object
+            that represents this item, and ``item_data`` is the
+            value given as parameter to this function.
+
+        :rtype: :py:class:`GenlistItem`
+
+        """
+        return GenlistItem(item_class, parent_item, flags, func, item_data)\
+                          .sorted_insert(self, comparison_func)
 
     property selected_item:
         """This gets the selected item in the list (if multi-selection is

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to