kuuko pushed a commit to branch master.

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

commit 55039295f2809adf7ec52563ed72d5341a793adf
Author: Kai Huuhko <kai.huu...@gmail.com>
Date:   Fri Aug 12 02:46:30 2016 +0300

    Elm.List: Sync with C API
---
 doc/elementary/elementary.rst      | 20 +++++++++++++++++++-
 efl/elementary/elementary_cdef.pxi |  7 +++++++
 efl/elementary/list.pxi            | 30 ++++++++++++++++++++++++++++++
 efl/elementary/list_cdef.pxi       |  2 ++
 4 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/doc/elementary/elementary.rst b/doc/elementary/elementary.rst
index f1a81a3..2f2c987 100644
--- a/doc/elementary/elementary.rst
+++ b/doc/elementary/elementary.rst
@@ -118,7 +118,7 @@ Quit policy types
 .. data:: ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN
 
     Quit when the application's last window is hidden
-    
+
     .. versionadded:: 1.15
 
 
@@ -158,6 +158,24 @@ Possible values for the #ELM_POLICY_THROTTLE policy.
     Never throttle when windows are all hidden, regardless of config settings.
 
 
+.. _Elm_Object_Multi_Select_Mode:
+
+Object multi select policy values
+---------------------------------
+
+Possible values for the #ELM_OBJECT_MULTI_SELECT_MODE policy.
+
+.. versionadded:: 1.18
+
+.. data:: ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT
+
+    Default multiple select mode.
+
+.. data:: ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
+
+    Disallow mutiple selection when clicked without control key pressed.
+
+
 .. _Elm_Process_State:
 
 Elm_Process_State
diff --git a/efl/elementary/elementary_cdef.pxi 
b/efl/elementary/elementary_cdef.pxi
index bf56d09..e2fe757 100644
--- a/efl/elementary/elementary_cdef.pxi
+++ b/efl/elementary/elementary_cdef.pxi
@@ -83,6 +83,13 @@ cdef extern from "Elementary.h":
     ctypedef enum Elm_Policy_Throttle:
         pass
 
+    cpdef enum Elm_Object_Multi_Select_Mode:
+        ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT
+        ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
+        ELM_OBJECT_MULTI_SELECT_MODE_MAX
+    ctypedef enum Elm_Object_Multi_Select_Mode:
+        pass
+
     cpdef enum Elm_Sys_Notify_Urgency:
         ELM_SYS_NOTIFY_URGENCY_LOW
         ELM_SYS_NOTIFY_URGENCY_NORMAL
diff --git a/efl/elementary/list.pxi b/efl/elementary/list.pxi
index a76abcb..8507ddd 100644
--- a/efl/elementary/list.pxi
+++ b/efl/elementary/list.pxi
@@ -467,6 +467,36 @@ cdef class List(Object):
     def multi_select_get(self):
         return bool(elm_list_multi_select_get(self.obj))
 
+
+    property multi_select_mode:
+        """Control the list multi select mode.
+
+        - #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT : select/unselect items 
whenever
+          each item is clicked.
+        - #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL : Only
+          one item will be selected although multi-selection is enabled, if 
clicked
+          without pressing control key. This mode is only available with
+          multi-selection.
+
+        .. seealso:: :attr:`multi_select`
+
+        :type: :ref:`Elm_Object_Multi_Select_Mode`
+
+        .. versionadded:: 1.18
+
+        """
+        def __set__(self, Elm_Object_Multi_Select_Mode mode):
+            elm_list_multi_select_mode_set(self.obj, mode)
+
+        def __get__(self):
+            return elm_list_multi_select_mode_get(self.obj)
+
+    def multi_select_mode_set(self, Elm_Object_Multi_Select_Mode mode):
+        elm_list_multi_select_mode_set(self.obj, mode)
+
+    def multi_select_mode_get(self):
+        return elm_list_multi_select_mode_get(self.obj)
+
     property mode:
         """Which mode to use for the list object.
 
diff --git a/efl/elementary/list_cdef.pxi b/efl/elementary/list_cdef.pxi
index 843bb46..bdbf081 100644
--- a/efl/elementary/list_cdef.pxi
+++ b/efl/elementary/list_cdef.pxi
@@ -28,6 +28,8 @@ cdef extern from "Elementary.h":
     void                     elm_list_go(Evas_Object *obj)
     void                     elm_list_multi_select_set(Evas_Object *obj, 
Eina_Bool multi)
     Eina_Bool                elm_list_multi_select_get(const Evas_Object *obj)
+    void                     elm_list_multi_select_mode_set(Evas_Object *obj, 
Elm_Object_Multi_Select_Mode mode)
+    Elm_Object_Multi_Select_Mode elm_list_multi_select_mode_get(const 
Evas_Object *obj)
     void                     elm_list_mode_set(Evas_Object *obj, Elm_List_Mode 
mode)
     Elm_List_Mode            elm_list_mode_get(const Evas_Object *obj)
     void                     elm_list_horizontal_set(Evas_Object *obj, 
Eina_Bool horizontal)

-- 


Reply via email to