davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=e47f403a0bb668ce6a901ad1d3806a91e332df80
commit e47f403a0bb668ce6a901ad1d3806a91e332df80 Author: Dave Andreoli <[email protected]> Date: Tue Aug 9 18:52:55 2016 +0200 New 1.18 API: elm.Slider.range_enabled/range with test --- efl/elementary/slider.pxi | 45 ++++++++++++++++++++++++++++++++++++++ efl/elementary/slider_cdef.pxi | 5 +++++ examples/elementary/test_slider.py | 12 ++++++++++ 3 files changed, 62 insertions(+) diff --git a/efl/elementary/slider.pxi b/efl/elementary/slider.pxi index 82d124c..c9e4184 100644 --- a/efl/elementary/slider.pxi +++ b/efl/elementary/slider.pxi @@ -226,6 +226,51 @@ cdef class Slider(LayoutClass): elm_slider_min_max_get(self.obj, &min, &max) return (min, max) + property range_enabled: + """Enables the range ability. + + This enables two indicators in slider, so that the user can select + a range, not just a single value. + + :type: bool + + .. versionadded:: 1.18 + + """ + def __get__(self): + return bool(elm_slider_range_enabled_get(self.obj)) + def __set__(self, bint enabled): + elm_slider_range_enabled_set(self.obj, enabled) + + def range_enabled_set(self, bint enabled): + elm_slider_range_enabled_set(self.obj, enabled) + def range_enabled_get(self): + return bool(elm_slider_range_enabled_get(self.obj)) + + property range: + """The values of the two indicators. + + :type: (float, float) + + .. versionadded:: 1.18 + + """ + def __get__(self): + cdef double fr, to + elm_slider_range_get(self.obj, &fr, &to) + return (fr, to) + + def __set__(self, value): + fr, to = value + elm_slider_range_set(self.obj, fr, to) + + def range_set(self, double fr, double to): + elm_slider_range_set(self.obj, fr, to) + def range_get(self): + cdef double fr, to + elm_slider_range_get(self.obj, &fr, &to) + return (fr, to) + property value: """The value displayed in the slider. diff --git a/efl/elementary/slider_cdef.pxi b/efl/elementary/slider_cdef.pxi index 920f720..0ce485d 100644 --- a/efl/elementary/slider_cdef.pxi +++ b/efl/elementary/slider_cdef.pxi @@ -31,3 +31,8 @@ cdef extern from "Elementary.h": Elm_Slider_Indicator_Visible_Mode elm_slider_indicator_visible_mode_get(const Evas_Object *obj) void elm_slider_step_set(Evas_Object *obj, double step) double elm_slider_step_get(const Evas_Object *obj) + + Eina_Bool elm_slider_range_enabled_get(const Evas_Object *obj) + void elm_slider_range_enabled_set(Evas_Object *obj, Eina_Bool enable) + void elm_slider_range_get(const Evas_Object *obj, double *fr, double *to) + void elm_slider_range_set(Evas_Object *obj, double fr, double to) diff --git a/examples/elementary/test_slider.py b/examples/elementary/test_slider.py index a3d159a..eb0d9cb 100644 --- a/examples/elementary/test_slider.py +++ b/examples/elementary/test_slider.py @@ -36,6 +36,9 @@ def delay_change_cb(obj, data=None): def change_cb(obj, data=None): data.value = obj.value +def range_change_cb(obj): + print("Range: %d %d" % obj.range) + def change_print_cb(obj, data=None): print("change to %3.3f" % obj.value) @@ -117,6 +120,15 @@ def slider_clicked(obj): bx.pack_end(sl) sl.show() + # range slider (2 indicators) + sl = Slider(bx, text="Range (2 indicators)", range_enabled=True, + min_max=(0, 100), range=(20, 80), + unit_format="%.0f units", indicator_format="%.0f", + size_hint_expand=EXPAND_HORIZ, size_hint_fill=FILL_HORIZ) + sl.callback_changed_add(range_change_cb) + bx.pack_end(sl) + sl.show() + # disabled horizontally inverted slider ic = Icon(bx, file=os.path.join(img_path, "logo_small.png"), size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) --
