forked from enlightenment/efl
Scroller: Add step size set API
Summary: Application do not change step size because only interface API is existed. @feature Test Plan: elementary_test -> scroller -> change step size Reviewers: seoz, Hermet Differential Revision: https://phab.enlightenment.org/D1677
This commit is contained in:
parent
d2e026db57
commit
008f37e18e
|
@ -140,6 +140,14 @@ _sc_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_inf
|
|||
evas_object_resize(data, w, h);
|
||||
}
|
||||
|
||||
static void
|
||||
_size_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *sc = data;
|
||||
int size = elm_spinner_value_get(obj);
|
||||
elm_scroller_step_size_set(sc, ELM_SCALE_SIZE(size), ELM_SCALE_SIZE(size));
|
||||
}
|
||||
|
||||
void
|
||||
test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -249,6 +257,16 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
|
|||
sc);
|
||||
evas_object_smart_callback_add(ck5, "changed", my_bt_snap_to_pages, sc);
|
||||
|
||||
bt = elm_spinner_add(win);
|
||||
elm_spinner_min_max_set(bt, 0, 500);
|
||||
elm_scroller_step_size_get(sc, &x, &y);
|
||||
elm_spinner_value_set(bt, x);
|
||||
elm_spinner_editable_set(bt, EINA_TRUE);
|
||||
elm_spinner_label_format_set(bt, "Step size: %.0f");
|
||||
evas_object_smart_callback_add(bt, "changed", _size_changed, sc);
|
||||
elm_box_pack_end(bx, bt);
|
||||
evas_object_show(bt);
|
||||
|
||||
tb2 = elm_table_add(win);
|
||||
|
||||
bt = elm_button_add(win);
|
||||
|
|
|
@ -1105,6 +1105,26 @@ elm_scroller_movement_block_get(const Evas_Object *obj)
|
|||
return block;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_scroller_step_size_set(Evas_Object *obj,
|
||||
Evas_Coord x,
|
||||
Evas_Coord y)
|
||||
{
|
||||
ELM_SCROLLABLE_CHECK(obj);
|
||||
|
||||
eo_do(obj, elm_interface_scrollable_step_size_set(x, y));
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_scroller_step_size_get(const Evas_Object *obj,
|
||||
Evas_Coord *x,
|
||||
Evas_Coord *y)
|
||||
{
|
||||
ELM_SCROLLABLE_CHECK(obj);
|
||||
|
||||
eo_do((Eo *) obj, elm_interface_scrollable_step_size_get(x, y));
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_scroller_propagate_events_set(Eo *obj, Elm_Scroller_Data *_pd EINA_UNUSED, Eina_Bool propagation)
|
||||
{
|
||||
|
|
|
@ -462,4 +462,36 @@ EAPI void elm_scroller_movement_block_set(Evas_Object *o
|
|||
*/
|
||||
EAPI Elm_Scroller_Movement_Block elm_scroller_movement_block_get(const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* @brief Set scroll step size.
|
||||
*
|
||||
* @param obj The scroller object
|
||||
* @param x The horizontal step size
|
||||
* @param y The vertical step size
|
||||
*
|
||||
* This sets the step size to move scroller by key event.
|
||||
*
|
||||
* @see elm_scroller_step_size_get() for more details
|
||||
*
|
||||
* @since 1.13
|
||||
*
|
||||
* @ingroup Scroller
|
||||
*/
|
||||
EAPI void elm_scroller_step_size_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y);
|
||||
|
||||
/**
|
||||
* @brief Get the current step size of the scroller object.
|
||||
*
|
||||
* @param obj The scroller object
|
||||
* @param x Where to store its x axis step size
|
||||
* @param y Where to store its y axis step size
|
||||
*
|
||||
* @see elm_scroller_step_size_set() for more details
|
||||
*
|
||||
* @since 1.13
|
||||
*
|
||||
* @ingroup Scroller
|
||||
*/
|
||||
EAPI void elm_scroller_step_size_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
|
||||
|
||||
#include "elm_scroller.eo.legacy.h"
|
||||
|
|
Loading…
Reference in New Issue