gengrid: Added elm_gengrid_wheel_disabled_set/get() APIs.
Summary: The basic idea is from Abhinandan Aryadipta and I implemented this in upstream. Special thanks to JackDanielZ for eolian madness. @feature Reviewers: JackDanielZ Differential Revision: https://phab.enlightenment.org/D803
This commit is contained in:
parent
4df87d5959
commit
535fe6bd97
|
@ -297,6 +297,12 @@ multi_select_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|||
elm_gengrid_multi_select_set(data, elm_check_state_get(obj));
|
||||
}
|
||||
|
||||
static void
|
||||
wheel_disable_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
elm_gengrid_wheel_disabled_set(data, elm_check_state_get(obj));
|
||||
}
|
||||
|
||||
static void
|
||||
clear_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -541,6 +547,15 @@ test_gengrid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
|
|||
elm_box_pack_end(bx, ck);
|
||||
evas_object_show(ck);
|
||||
|
||||
ck = elm_check_add(win);
|
||||
evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(ck, "Wheel Disable");
|
||||
evas_object_smart_callback_add(ck, "changed", wheel_disable_cb,
|
||||
api->grid);
|
||||
elm_box_pack_end(bx, ck);
|
||||
evas_object_show(ck);
|
||||
|
||||
/* Gengrid Options 2 */
|
||||
bx = elm_box_add(win);
|
||||
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||
|
|
|
@ -4340,6 +4340,23 @@ _elm_gengrid_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *
|
|||
return sd->focused_item;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_gengrid_wheel_disabled_set(Eo *obj, Elm_Gengrid_Data *sd, Eina_Bool disabled)
|
||||
{
|
||||
disabled = !!disabled;
|
||||
if (sd->wheel_disabled != disabled)
|
||||
eo_do(obj,
|
||||
elm_interface_scrollable_wheel_disabled_set(disabled));
|
||||
|
||||
sd->wheel_disabled = disabled;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_elm_gengrid_wheel_disabled_get(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd)
|
||||
{
|
||||
return sd->wheel_disabled;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_gengrid_class_constructor(Eo_Class *klass)
|
||||
{
|
||||
|
|
|
@ -429,6 +429,37 @@ class Elm_Gengrid (Elm_Layout, Elm_Interface_Scrollable, Evas_Clickable_Interfac
|
|||
return Elm_Object_Item *;
|
||||
}
|
||||
}
|
||||
wheel_disabled {
|
||||
set {
|
||||
/*@
|
||||
Enable or disable mouse wheel to be used to scroll the gengrid.
|
||||
|
||||
Mouse wheel can be used for the user to scroll up and down the gengrid.
|
||||
|
||||
It's enabled by default.
|
||||
|
||||
@see elm_gengrid_wheel_disabled_get()
|
||||
|
||||
@ingroup Gengrid */
|
||||
}
|
||||
get {
|
||||
/*@
|
||||
Get a value whether mouse wheel is enabled or not.
|
||||
|
||||
@return @c EINA_TRUE means gengrid wheel is disabled. @c EINA_FALSE indicates
|
||||
it is enabled.
|
||||
|
||||
Mouse wheel can be used for the user to scroll up and down the gengrid.
|
||||
|
||||
@see elm_gengrid_wheel_disabled_set()
|
||||
|
||||
@ingroup Gengrid */
|
||||
}
|
||||
values {
|
||||
Eina_Bool disabled; /*@ Use @c EINA_TRUE to disable mouse wheel or @c EINA_FALSE
|
||||
to enable it. */
|
||||
}
|
||||
}
|
||||
}
|
||||
methods {
|
||||
item_insert_before {
|
||||
|
|
|
@ -119,6 +119,7 @@ struct _Elm_Gengrid_Data
|
|||
Eina_Bool show_region : 1;
|
||||
Eina_Bool bring_in : 1;
|
||||
Eina_Bool mouse_down : 1; /**< a flag that mouse is down on the list at the moment. this flag is set to true on mouse and reset to false on mouse up */
|
||||
Eina_Bool wheel_disabled : 1; /**< a flag that shows mouse wheel is disabled or not. */
|
||||
};
|
||||
|
||||
struct Elm_Gen_Item_Type
|
||||
|
|
Loading…
Reference in New Issue