forked from enlightenment/efl
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 <cedric@osg.samsung.com>
This commit is contained in:
parent
b38c83cd73
commit
7c71953733
|
@ -134,6 +134,15 @@ _my_bt_loop_y_axis(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
elm_scroller_loop_set(scroller, loop_h, !loop_v);
|
||||
}
|
||||
|
||||
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,
|
||||
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue