kuuko pushed a commit to branch master.

commit b598049b36b73f4a3033e110ffe011ecc24bada5
Author: Kai Huuhko <[email protected]>
Date:   Sun Apr 14 18:03:49 2013 +0000

    Elementary: Add missing API for Index and Scroller.
---
 efl/elementary/index.pxd    |  7 ++++++-
 efl/elementary/index.pyx    | 39 +++++++++++++++++++++++++++++++++++++++
 efl/elementary/scroller.pxd | 10 ++++++++--
 efl/elementary/scroller.pyx | 44 +++++++++++++++++++++++++++++++++++++-------
 4 files changed, 90 insertions(+), 10 deletions(-)

diff --git a/efl/elementary/index.pxd b/efl/elementary/index.pxd
index 7bb7e00..a011738 100644
--- a/efl/elementary/index.pxd
+++ b/efl/elementary/index.pxd
@@ -1,4 +1,5 @@
-from efl.evas cimport Eina_Bool, Eina_Compare_Cb, Evas_Object, Evas_Smart_Cb
+from efl.evas cimport Eina_Bool, Eina_Compare_Cb, Evas_Object, Evas_Smart_Cb, \
+    const_Evas_Object
 from object cimport Object
 from object_item cimport Elm_Object_Item, ObjectItem
 from libc.string cimport const_char
@@ -27,3 +28,7 @@ cdef extern from "Elementary.h":
     Eina_Bool                elm_index_indicator_disabled_get(Evas_Object *obj)
     void                     elm_index_horizontal_set(Evas_Object *obj, 
Eina_Bool horizontal)
     Eina_Bool                elm_index_horizontal_get(Evas_Object *obj)
+    void                     elm_index_delay_change_time_set(Evas_Object *obj, 
double delay_change_time)
+    double                   elm_index_delay_change_time_get(const_Evas_Object 
*obj)
+    void                     elm_index_omit_enabled_set(Evas_Object *obj, 
Eina_Bool enabled)
+    Eina_Bool                elm_index_omit_enabled_get(const_Evas_Object *obj)
diff --git a/efl/elementary/index.pyx b/efl/elementary/index.pyx
index 07af045..72f7b71 100644
--- a/efl/elementary/index.pyx
+++ b/efl/elementary/index.pyx
@@ -440,6 +440,45 @@ cdef class Index(LayoutClass):
     def horizontal_get(self):
         return bool(elm_index_horizontal_get(self.obj))
 
+
+    property delay_change_time:
+        """Delay change time for index object.
+
+        :type: double
+
+        .. note:: Delay time is 0.2 sec by default.
+
+        """
+        def __set__(self, value):
+            self.delay_change_time_set(value)
+
+        def __get__(self):
+            return self.delay_change_time_get()
+
+    cpdef delay_change_time_set(self, double delay_change_time):
+        elm_index_delay_change_time_set(self.obj, delay_change_time)
+
+    cpdef delay_change_time_get(self):
+        return elm_index_delay_change_time_get(self.obj)
+
+    property omit_enabled:
+        """Enable or disable omit feature for a given index widget.
+
+        :type: bool
+
+        """
+        def __set__(self, value):
+            self.omit_enabled_set(value)
+
+        def __get__(self):
+            return self.omit_enabled_get()
+
+    cpdef omit_enabled_set(self, bint enabled):
+        elm_index_omit_enabled_set(self.obj, enabled)
+
+    cpdef bint omit_enabled_get(self):
+        return elm_index_omit_enabled_get(self.obj)
+
     def callback_changed_add(self, func, *args, **kwargs):
         """When the selected index item changes. ``event_info`` is the selected
         item's data."""
diff --git a/efl/elementary/scroller.pxd b/efl/elementary/scroller.pxd
index c2dedfb..9c0f5b1 100644
--- a/efl/elementary/scroller.pxd
+++ b/efl/elementary/scroller.pxd
@@ -1,4 +1,4 @@
-from efl.evas cimport Eina_Bool, Evas_Object, Evas_Coord
+from efl.evas cimport Eina_Bool, Evas_Object, Evas_Coord, const_Evas_Object
 from enums cimport Elm_Scroller_Policy
 from libc.string cimport const_char
 from object cimport Object
@@ -17,6 +17,9 @@ cdef extern from "Elementary.h":
     void                     elm_scroller_page_relative_set(Evas_Object *obj, 
double h_pagerel, double v_pagerel)
     void                     elm_scroller_page_relative_get(Evas_Object *obj, 
double *h_pagerel, double *v_pagerel)
     void                     elm_scroller_page_size_set(Evas_Object *obj, 
Evas_Coord h_pagesize, Evas_Coord v_pagesize)
+    void                     elm_scroller_page_size_get(const_Evas_Object 
*obj, Evas_Coord *h_pagesize, Evas_Coord *v_pagesize)
+    void                     
elm_scroller_page_scroll_limit_set(const_Evas_Object *obj, Evas_Coord 
page_limit_h, Evas_Coord page_limit_v)
+    void                     
elm_scroller_page_scroll_limit_get(const_Evas_Object *obj, Evas_Coord 
*page_limit_h, Evas_Coord *page_limit_v)
     void                     elm_scroller_current_page_get(Evas_Object *obj, 
int *h_pagenumber, int *v_pagenumber)
     void                     elm_scroller_last_page_get(Evas_Object *obj, int 
*h_pagenumber, int *v_pagenumber)
     void                     elm_scroller_page_show(Evas_Object *obj, int 
h_pagenumber, int v_pagenumber)
@@ -28,4 +31,7 @@ cdef extern from "Elementary.h":
     void                     elm_scroller_gravity_get(Evas_Object *obj, double 
*x, double *y)
 
 cdef class ScrollableInterface(Object):
-    pass
+    cpdef page_size_set(self, h_pagesize, v_pagesize)
+    cpdef page_size_get(self)
+    cpdef page_scroll_limit_set(self, int page_limit_h, int page_limit_v)
+    cpdef page_scroll_limit_get(self)
diff --git a/efl/elementary/scroller.pyx b/efl/elementary/scroller.pyx
index a0bf7a8..3bcda8a 100644
--- a/efl/elementary/scroller.pyx
+++ b/efl/elementary/scroller.pyx
@@ -289,23 +289,53 @@ cdef class ScrollableInterface(Object):
         return (h_pagerel, v_pagerel)
 
     property page_size:
-        """Set scroll page size.
+        """Scroller widget's current page size.
 
-        This sets the page size to an absolute fixed value, with 0 turning
-        it off for that axis.
+        An absolute fixed value, with 0 turning it off for that axis.
 
         .. seealso:: :py:attr:`page_relative`
 
-        :type: tuple of Evas_Coords (int)
+        :type: (int **h_pagesize**, int **v_pagesize**)
 
         """
         def __set__(self, value):
-            h_pagesize, v_pagesize = value
-            elm_scroller_page_size_set(self.obj, h_pagesize, v_pagesize)
+            self.page_size_set(*value)
 
-    def page_size_set(self, h_pagesize, v_pagesize):
+        def __get__(self):
+            return self.page_size_get()
+
+    cpdef page_size_set(self, h_pagesize, v_pagesize):
         elm_scroller_page_size_set(self.obj, h_pagesize, v_pagesize)
 
+    cpdef page_size_get(self):
+        cdef int h_pagesize, v_pagesize
+        elm_scroller_page_size_get(self.obj, &h_pagesize,  &v_pagesize)
+        return (h_pagesize, v_pagesize)
+
+    property page_scroll_limit:
+        """The maximum of the movable page at a flicking.
+
+        The value of maximum movable page should be more than 1.
+
+        :type: (int **page_limit_h**, int **page_limit_v**)
+
+        :since: 1.8
+
+        """
+        def __set__(self, value):
+            self.page_scroll_limit_set(*value)
+
+        def __get__(self):
+            return self.page_scroll_limit_get()
+
+    cpdef page_scroll_limit_set(self, int page_limit_h, int page_limit_v):
+        elm_scroller_page_scroll_limit_set(self.obj, page_limit_h, 
page_limit_v)
+
+    cpdef page_scroll_limit_get(self):
+        cdef int page_limit_h, page_limit_v
+        elm_scroller_page_scroll_limit_get(self.obj, &page_limit_h, 
&page_limit_v)
+        return (page_limit_h, page_limit_v)
+
     property current_page:
         """Get scroll current page number.
 

-- 

------------------------------------------------------------------------------
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