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)