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