kuuko pushed a commit to branch master.

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

commit 3f5a1a7d79785c95c874937948b422aeba3c61ea
Author: Kai Huuhko <[email protected]>
Date:   Wed May 28 02:13:47 2014 +0300

    Elementary.gengrid: Add missing API
---
 efl/elementary/enums.pxd          |  5 +++
 efl/elementary/gengrid.pxd        | 11 +++++-
 efl/elementary/gengrid.pyx        | 28 +++++++++++++++
 efl/elementary/gengrid_widget.pxi | 74 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 117 insertions(+), 1 deletion(-)

diff --git a/efl/elementary/enums.pxd b/efl/elementary/enums.pxd
index 410e55b..343767c 100644
--- a/efl/elementary/enums.pxd
+++ b/efl/elementary/enums.pxd
@@ -353,6 +353,11 @@ cdef extern from "Elementary.h":
         ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
         ELM_OBJECT_SELECT_MODE_MAX
 
+    ctypedef enum Elm_Object_Multi_Select_Mode:
+        ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT # default multiple select mode
+        ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL # disallow mutiple selection 
when clicked without control key pressed
+        ELM_OBJECT_MULTI_SELECT_MODE_MAX
+
     ctypedef enum Elm_Panel_Orient:
         ELM_PANEL_ORIENT_TOP
         ELM_PANEL_ORIENT_BOTTOM
diff --git a/efl/elementary/gengrid.pxd b/efl/elementary/gengrid.pxd
index 4706945..cc705c6 100644
--- a/efl/elementary/gengrid.pxd
+++ b/efl/elementary/gengrid.pxd
@@ -1,8 +1,10 @@
 from efl.evas cimport Eina_Bool, Eina_List, Evas_Object, Evas_Smart_Cb, \
     Evas_Coord, Eina_Compare_Cb
+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
+from enums cimport Elm_Genlist_Item_Scrollto_Type, Elm_Object_Select_Mode, \
+    Elm_Object_Multi_Select_Mode
 from efl.ecore.enums cimport Ecore_Pos_Map
 
 cdef extern from "Elementary.h":
@@ -25,8 +27,11 @@ cdef extern from "Elementary.h":
     void                    elm_gengrid_clear(Evas_Object *obj)
     void                    elm_gengrid_multi_select_set(Evas_Object *obj, 
Eina_Bool multi)
     Eina_Bool               elm_gengrid_multi_select_get(const Evas_Object 
*obj)
+    void                    elm_gengrid_multi_select_mode_set(Eo *obj, 
Elm_Object_Multi_Select_Mode mode)
+    Elm_Object_Multi_Select_Mode elm_gengrid_multi_select_mode_get(const Eo 
*obj)
     void                    elm_gengrid_horizontal_set(Evas_Object *obj, 
Eina_Bool setting)
     Eina_Bool               elm_gengrid_horizontal_get(const Evas_Object *obj)
+    void                    elm_gengrid_page_size_set(Eo *obj, Evas_Coord 
h_pagesize, Evas_Coord v_pagesize)
     Elm_Object_Item *       elm_gengrid_item_append(Evas_Object *obj, 
Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void 
*func_data)
     Elm_Object_Item *       elm_gengrid_item_prepend(Evas_Object *obj, 
Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void 
*func_data)
     Elm_Object_Item *       elm_gengrid_item_insert_before(Evas_Object *obj, 
Elm_Gengrid_Item_Class *itc, const void *data, Elm_Object_Item *before, 
Evas_Smart_Cb func, const void *func_data)
@@ -38,6 +43,8 @@ cdef extern from "Elementary.h":
     void                    elm_gengrid_realized_items_update(Evas_Object *obj)
     Elm_Object_Item *       elm_gengrid_first_item_get(const Evas_Object *obj)
     Elm_Object_Item *       elm_gengrid_last_item_get(const Evas_Object *obj)
+    void                    elm_gengrid_wheel_disabled_set(Eo *obj, Eina_Bool 
disabled)
+    Eina_Bool               elm_gengrid_wheel_disabled_get(const Eo *obj)
     unsigned int            elm_gengrid_items_count(Evas_Object *obj)
     void                    elm_gengrid_item_size_set(Evas_Object *obj, 
Evas_Coord w, Evas_Coord h)
     void                    elm_gengrid_item_size_get(const Evas_Object *obj, 
Evas_Coord *w, Evas_Coord *h)
@@ -52,6 +59,8 @@ cdef extern from "Elementary.h":
     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)
+    void                    elm_gengrid_page_relative_set(Eo *obj, double 
h_pagerel, double v_pagerel)
+    void                    elm_gengrid_page_relative_get(const Eo *obj, 
double *h_pagerel, double *v_pagerel)
     void                    elm_gengrid_select_mode_set(Evas_Object *obj, 
Elm_Object_Select_Mode mode)
     Elm_Object_Select_Mode  elm_gengrid_select_mode_get(const Evas_Object *obj)
     void                    elm_gengrid_highlight_mode_set(Evas_Object *obj, 
Eina_Bool highlight)
diff --git a/efl/elementary/gengrid.pyx b/efl/elementary/gengrid.pyx
index 70284cc..42c36e6 100644
--- a/efl/elementary/gengrid.pyx
+++ b/efl/elementary/gengrid.pyx
@@ -280,6 +280,30 @@ Items' scroll to types
 
     Scroll to the middle of viewport
 
+
+.. _Elm_Gengrid_Object_Multi_Select_Mode:
+
+Multi-select mode
+=================
+
+.. data:: ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT
+
+    Default multiple select mode
+
+    .. versionadded:: 1.10
+
+.. data:: ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
+
+    Disallow mutiple selection when clicked without control key pressed
+
+    .. versionadded:: 1.10
+
+.. data:: ELM_OBJECT_MULTI_SELECT_MODE_MAX
+
+    Value unknown
+
+    .. versionadded:: 1.10
+
 """
 
 include "tooltips.pxi"
@@ -309,6 +333,10 @@ ELM_GENLIST_ITEM_SCROLLTO_IN = 
enums.ELM_GENLIST_ITEM_SCROLLTO_IN
 ELM_GENLIST_ITEM_SCROLLTO_TOP = enums.ELM_GENLIST_ITEM_SCROLLTO_TOP
 ELM_GENLIST_ITEM_SCROLLTO_MIDDLE = enums.ELM_GENLIST_ITEM_SCROLLTO_MIDDLE
 
+ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT = 
enums.ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT
+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
+
 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 9c7c6a2..b0a8900 100644
--- a/efl/elementary/gengrid_widget.pxi
+++ b/efl/elementary/gengrid_widget.pxi
@@ -36,6 +36,31 @@ cdef class Gengrid(Object):
     def multi_select_get(self):
         return bool(elm_gengrid_multi_select_get(self.obj))
 
+
+    property multi_select_mode:
+        """Gengrid 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.
+
+        (If getting mode is failed, it returns 
ELM_OBJECT_MULTI_SELECT_MODE_MAX)
+
+        :see: :py:attr:`multi_select`
+
+        :type: :ref:`Elm_Gengrid_Object_Multi_Select_Mode`
+
+        .. versionadded:: 1.10
+
+        """
+        def __set__(self, Elm_Object_Multi_Select_Mode mode):
+            elm_gengrid_multi_select_mode_set(self.obj, mode)
+
+        def __get__(self):
+            return elm_gengrid_multi_select_mode_get(self.obj)
+
     property horizontal:
         """When in "horizontal mode" (``True),`` items will be placed
         in **columns**, from top to bottom and, when the space for a
@@ -59,6 +84,19 @@ cdef class Gengrid(Object):
     def horizontal_get(self):
         return bool(elm_gengrid_horizontal_get(self.obj))
 
+    property page_size:
+        """Set a given gengrid widget's scrolling page size
+
+        :type: (int h_pagesize, int v_pagesize)
+
+        .. versionadded:: 1.10
+
+        """
+        def __set__(self, value):
+            cdef Evas_Coord h_pagesize, v_pagesize
+            h_pagesize, v_pagesize = value
+            elm_gengrid_page_size_set(self.obj, h_pagesize, v_pagesize)
+
     def item_append(self, GengridItemClass item_class not None,
                     item_data, func=None):
         """Append a new item (add as last item) to this gengrid.
@@ -244,6 +282,24 @@ cdef class Gengrid(Object):
     def last_item_get(self):
         return _object_item_to_python(elm_gengrid_last_item_get(self.obj))
 
+    property wheel_disabled:
+        """Enable or disable mouse wheel to be used to scroll the gengrid.
+
+        Mouse wheel can be used for the user to scroll up and down the gengrid.
+
+        It's enabled by default.
+
+        :type: bool
+
+        .. versionadded:: 1.10
+
+        """
+        def __set__(self, bint disabled):
+            elm_gengrid_wheel_disabled_set(self.obj, disabled)
+
+        def __get__(self):
+            return bool(elm_gengrid_wheel_disabled_get(self.obj))
+
     property items_count:
         """Return how many items are currently in a list.
 
@@ -395,6 +451,24 @@ cdef class Gengrid(Object):
     def filled_get(self, fill):
         return bool(elm_gengrid_filled_get(self.obj))
 
+    property page_relative:
+        """Gengrid widget's scrolling page size, relative to its viewport size.
+
+        :type: (float h_pagerel, float v_pagerel)
+
+        .. versionadded:: 1.10
+
+        """
+        def __set__(self, value):
+            cdef double h_pagerel, v_pagerel
+            h_pagerel, v_pagerel = value
+            elm_gengrid_page_relative_set(self.obj, h_pagerel, v_pagerel)
+
+        def __get__(self):
+            cdef double h_pagerel, v_pagerel
+            elm_gengrid_page_relative_get(self.obj, &h_pagerel, &v_pagerel)
+            return h_pagerel, v_pagerel
+
     property select_mode:
         """Item select mode in the gengrid widget. Possible values are:
 

-- 


Reply via email to