cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=f69cb53594f969b2a7d07bfe24f2d8eb43d44faa

commit f69cb53594f969b2a7d07bfe24f2d8eb43d44faa
Author: Umesh Tanwar <umesh.tan...@samsung.com>
Date:   Mon Jun 22 11:57:51 2015 +0200

    elm_scroller: add wheel_disable_set API
    
    Summary:
    This API can be used by widgets like Genlist/Gengrid, which implements
    Elm_Interface_Scrollable interface.Mouse wheel is used to scroll up and
    down on widget.
    
    @feature
    
    Test Plan: elementary_test -> Scroller -> Wheel Disable
    
    Reviewers: raster, Hermet, cedric, SanghyeonLee, singh.amitesh
    
    Subscribers: JackDanielZ, herdsman, cedric, sachin.dev
    
    Differential Revision: https://phab.enlightenment.org/D2715
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/bin/test_scroller.c       | 17 ++++++++++++++++-
 src/lib/elm_scroller.c        | 18 ++++++++++++++++++
 src/lib/elm_scroller_legacy.h | 33 +++++++++++++++++++++++++++++++++
 3 files changed, 67 insertions(+), 1 deletion(-)

diff --git a/src/bin/test_scroller.c b/src/bin/test_scroller.c
index 23b2e32..4c01508 100644
--- a/src/bin/test_scroller.c
+++ b/src/bin/test_scroller.c
@@ -135,6 +135,15 @@ _my_bt_loop_y_axis(void *data, Evas_Object *obj 
EINA_UNUSED,
 }
 
 static void
+_my_bt_wheel_disable_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   Evas_Object *scroller = (Evas_Object *)data;
+
+   elm_scroller_wheel_disabled_set(scroller, elm_check_state_get(obj));
+}
+
+static void
 _page_change_cb(void *data EINA_UNUSED,
                Evas_Object *obj,
                void *event_info EINA_UNUSED)
@@ -174,7 +183,7 @@ void
 test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    Evas_Object *win, *bg2, *tb, *tb2, *sc, *bt, *ck1, *ck2, *bx, *bx2, *fr,
-       *ck3, *ck4, *ck5, *ck6, *ck7;
+       *ck3, *ck4, *ck5, *ck6, *ck7, *ck8;
    int i, j, n;
    char buf[PATH_MAX];
    Evas_Coord x = 0, y = 0, w = 0, h = 0;
@@ -246,6 +255,11 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_
    elm_box_pack_end(bx2, ck7);
    evas_object_show(ck7);
 
+   ck8 = elm_check_add(win);
+   elm_object_text_set(ck8, "Wheel Disable");
+   elm_box_pack_end(bx2, ck8);
+   evas_object_show(ck8);
+
    sc = elm_scroller_add(win);
    evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -290,6 +304,7 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_
    evas_object_smart_callback_add(ck5, "changed", _my_bt_snap_to_pages, sc);
    evas_object_smart_callback_add(ck6, "changed", _my_bt_loop_x_axis, sc);
    evas_object_smart_callback_add(ck7, "changed", _my_bt_loop_y_axis, sc);
+   evas_object_smart_callback_add(ck8, "changed", _my_bt_wheel_disable_cb, sc);
 
    bt = elm_spinner_add(win);
    elm_spinner_min_max_set(bt, 0, 500);
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c
index 2e174c9..00f18b8 100644
--- a/src/lib/elm_scroller.c
+++ b/src/lib/elm_scroller.c
@@ -1284,6 +1284,24 @@ elm_scroller_loop_get(const Evas_Object *obj,
    eo_do(obj, elm_interface_scrollable_loop_get(loop_h, loop_v));
 }
 
+EAPI void
+elm_scroller_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled)
+{
+   ELM_SCROLLABLE_CHECK(obj);
+
+   eo_do((Eo *)obj, elm_interface_scrollable_wheel_disabled_set(disabled));
+}
+
+EAPI Eina_Bool
+elm_scroller_wheel_disabled_get(const Evas_Object *obj)
+{
+   ELM_SCROLLABLE_CHECK(obj, EINA_FALSE);
+
+   Eina_Bool ret;
+
+   return eo_do_ret((Eo *) obj, ret, 
elm_interface_scrollable_wheel_disabled_get());
+}
+
 EOLIAN static void
 _elm_scroller_propagate_events_set(Eo *obj, Elm_Scroller_Data *_pd 
EINA_UNUSED, Eina_Bool propagation)
 {
diff --git a/src/lib/elm_scroller_legacy.h b/src/lib/elm_scroller_legacy.h
index bf4d361..576ea6c 100644
--- a/src/lib/elm_scroller_legacy.h
+++ b/src/lib/elm_scroller_legacy.h
@@ -525,3 +525,36 @@ EAPI void                          
elm_scroller_loop_set(Evas_Object *obj, Eina_
  * @ingroup Scroller
  */
 EAPI void                          elm_scroller_loop_get(const Evas_Object 
*obj, Eina_Bool *loop_h, Eina_Bool *loop_v);
+
+/**
+ * @brief Enable or disable mouse wheel to be used to scroll the scroller.
+ *
+ * @param obj The scroller object
+ * @param disabled The mouse wheel disabled over the scroller.
+ * 
+ * Mouse wheel can be used to scroll up and down the scroller.
+ * Wheel is enabled by default.
+ *
+ * @since 1.15
+ *
+ * @see elm_scroller_wheel_disabled_get()
+ *
+ * @ingroup Scroller 
+ */
+ EAPI void                          
elm_scroller_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled);
+
+ /**
+ * @brief Get a value whether mouse wheel is enabled or not over the scroller.
+ *
+ * @param obj The scroller object
+ * @return @c EINA_TRUE means scroller wheel is disabled. @c EINA_FALSE 
indicates it is enabled.
+ *
+ * Mouse wheel can be used to scroll up and down the scroller.
+ *
+ * @since 1.15
+ *
+ * @see elm_scroller_wheel_disabled_set()
+ *
+ * @ingroup Scroller 
+ */
+ EAPI Eina_Bool                     elm_scroller_wheel_disabled_get(const 
Evas_Object *obj);

-- 


Reply via email to