davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a4d321dacc846a62821a5cbe7f45baaeaa1409e7

commit a4d321dacc846a62821a5cbe7f45baaeaa1409e7
Author: davemds <[email protected]>
Date:   Fri Aug 1 18:14:55 2014 +0200

    Gengrid: new property reorder_type, with test for reorder mode
---
 efl/elementary/enums.pxd            |  4 ++++
 efl/elementary/gengrid.pxd          |  3 ++-
 efl/elementary/gengrid.pyx          | 21 +++++++++++++++++++++
 efl/elementary/gengrid_widget.pxi   | 17 +++++++++++++++++
 examples/elementary/test_gengrid.py |  9 +++++++++
 5 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/efl/elementary/enums.pxd b/efl/elementary/enums.pxd
index 87ea2e9..5ac71f4 100644
--- a/efl/elementary/enums.pxd
+++ b/efl/elementary/enums.pxd
@@ -170,6 +170,10 @@ cdef extern from "Elementary.h":
         ELM_FOCUS_AUTOSCROLL_MODE_NONE
         ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN
 
+    ctypedef enum Elm_Gengrid_Reorder_Type:
+        ELM_GENGRID_REORDER_TYPE_NORMAL
+        ELM_GENGRID_REORDER_TYPE_SWAP
+
     ctypedef enum Elm_Genlist_Item_Type:
         ELM_GENLIST_ITEM_NONE
         ELM_GENLIST_ITEM_TREE
diff --git a/efl/elementary/gengrid.pxd b/efl/elementary/gengrid.pxd
index a8f5bb9..3d166d7 100644
--- a/efl/elementary/gengrid.pxd
+++ b/efl/elementary/gengrid.pxd
@@ -4,7 +4,7 @@ from efl.c_eo cimport Eo
 from object_item cimport Elm_Object_Item
 from general cimport Elm_Tooltip_Item_Content_Cb
 from enums cimport Elm_Genlist_Item_Scrollto_Type, Elm_Object_Select_Mode, \
-    Elm_Object_Multi_Select_Mode, Elm_Glob_Match_Flags
+    Elm_Object_Multi_Select_Mode, Elm_Glob_Match_Flags, 
Elm_Gengrid_Reorder_Type
 from efl.ecore.enums cimport Ecore_Pos_Map
 
 cdef extern from "Elementary.h":
@@ -56,6 +56,7 @@ cdef extern from "Elementary.h":
     Eina_Bool               elm_gengrid_reorder_mode_get(const Evas_Object 
*obj)
     void                    elm_gengrid_reorder_mode_start(Evas_Object *obj, 
Ecore_Pos_Map tween_mode)
     void                    elm_gengrid_reorder_mode_stop(Evas_Object *obj)
+    void                    elm_gengrid_reorder_type_set(Evas_Object *obj, 
Elm_Gengrid_Reorder_Type reorder_type)
     void                    elm_gengrid_page_show(Evas_Object *obj, int 
h_pagenum, int v_pagenum)
     void                    elm_gengrid_filled_set(Evas_Object *obj, Eina_Bool 
fill)
     Eina_Bool               elm_gengrid_filled_get(const Evas_Object *obj)
diff --git a/efl/elementary/gengrid.pyx b/efl/elementary/gengrid.pyx
index 42c36e6..46b25fe 100644
--- a/efl/elementary/gengrid.pyx
+++ b/efl/elementary/gengrid.pyx
@@ -304,6 +304,24 @@ Multi-select mode
 
     .. versionadded:: 1.10
 
+
+.. _Elm_Gengrid_Reorder_Type:
+
+Reorder type
+============
+
+.. data:: ELM_GENGRID_REORDER_TYPE_NORMAL
+
+    Normal reorder mode
+
+    .. versionadded:: 1.11
+
+.. data:: ELM_GENGRID_REORDER_TYPE_SWAP
+
+    Swap reorder mode
+
+    .. versionadded:: 1.11
+
 """
 
 include "tooltips.pxi"
@@ -337,6 +355,9 @@ ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT = 
enums.ELM_OBJECT_MULTI_SELECT_MODE_DEFAUL
 ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL = 
enums.ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
 ELM_OBJECT_MULTI_SELECT_MODE_MAX = enums.ELM_OBJECT_MULTI_SELECT_MODE_MAX
 
+ELM_GENGRID_REORDER_TYPE_NORMAL = enums.ELM_GENGRID_REORDER_TYPE_NORMAL
+ELM_GENGRID_REORDER_TYPE_SWAP = enums.ELM_GENGRID_REORDER_TYPE_SWAP
+
 def _cb_object_item_conv(uintptr_t addr):
     cdef Elm_Object_Item *it = <Elm_Object_Item *>addr
     return _object_item_to_python(it)
diff --git a/efl/elementary/gengrid_widget.pxi 
b/efl/elementary/gengrid_widget.pxi
index 4e6af66..d9cab8a 100644
--- a/efl/elementary/gengrid_widget.pxi
+++ b/efl/elementary/gengrid_widget.pxi
@@ -431,6 +431,23 @@ cdef class Gengrid(Object):
         elm_gengrid_reorder_mode_stop(self.obj)
 
 
+    property reorder_type:
+        """ Set the order type.
+
+        This affect the way items are moved (when in reorder mode) with the
+        keyboard arrows.
+
+        :type: :ref:`Elm_Gengrid_Reorder_Type`
+
+        .. versionadded:: 1.11
+        
+        """
+        def __set__(self, value):
+            elm_gengrid_reorder_type_set(self.obj, value)
+
+    def reorder_type_set(self, value):
+        elm_gengrid_reorder_type_set(self.obj, value)
+
     property filled:
         """The fill state of the whole grid of items of a gengrid
         within its given viewport. By default, this value is False, meaning
diff --git a/examples/elementary/test_gengrid.py 
b/examples/elementary/test_gengrid.py
index 5d0cb2c..302c451 100644
--- a/examples/elementary/test_gengrid.py
+++ b/examples/elementary/test_gengrid.py
@@ -116,6 +116,15 @@ def gengrid_clicked(obj):
     tb.pack(bt, 1, 1, 1, 1)
     bt.show()
 
+    # reorder mode
+    def reorder_mode_changed(bt, gg):
+        gg.reorder_mode = bt.state
+
+    bt = Check(win, text="Reorder mode enable")
+    bt.callback_changed_add(reorder_mode_changed, gg)
+    tb.pack(bt, 2, 1, 2, 1)
+    bt.show()
+
     # bounce h
     def bounce_h_changed(bt, gg):
         (h_bounce, v_bounce) = gg.bounce_get()

-- 


Reply via email to