widget: Rename drag_lock to scroll_lock (EO)

This also includes the drag_child_lock APIs. This had nothing to do with
dragging beyond maybe the case where scrolling is done by thumbscroll
(ie. finger drag).

Note that the EAPI were called already scroll_lock, not drag_lock.

Ref T5363
This commit is contained in:
Jean-Philippe Andre 2017-08-29 16:49:43 +09:00
parent ac215dba0f
commit c690469fcc
5 changed files with 55 additions and 57 deletions

View File

@ -1440,7 +1440,7 @@ _elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
b2x = px;
b2y = py;
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get(sid->obj)))
(!elm_widget_scroll_child_locked_x_get(sid->obj)))
{
if ((!sid->down.bounce_x_animator) && (!sid->bounce_animator_disabled))
{
@ -1459,7 +1459,7 @@ _elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
}
}
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get(sid->obj)))
(!elm_widget_scroll_child_locked_y_get(sid->obj)))
{
if ((!sid->down.bounce_y_animator) && (!sid->bounce_animator_disabled))
{
@ -2145,8 +2145,8 @@ _elm_scroll_post_event_up(void *data,
{
if (sid->down.dragged)
{
elm_widget_drag_lock_x_set(sid->obj, EINA_FALSE);
elm_widget_drag_lock_y_set(sid->obj, EINA_FALSE);
elm_widget_scroll_lock_x_set(sid->obj, EINA_FALSE);
elm_widget_scroll_lock_y_set(sid->obj, EINA_FALSE);
}
}
return EINA_FALSE;
@ -2663,7 +2663,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
if ((!sid->down.momentum_animator) &&
(!sid->momentum_animator_disabled) &&
(sid->obj) &&
(!elm_widget_drag_child_locked_y_get
(!elm_widget_scroll_child_locked_y_get
(sid->obj)))
{
ELM_ANIMATOR_CONNECT(sid->obj, sid->down.momentum_animator, _elm_scroll_momentum_animator, sid);
@ -2694,7 +2694,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
elm_interface_scrollable_content_pos_get
(sid->obj, &x, &y);
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get
(!elm_widget_scroll_child_locked_x_get
(sid->obj)))
{
pgx = _elm_scroll_page_x_get(sid, ox, EINA_TRUE);
@ -2708,7 +2708,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
}
}
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get
(!elm_widget_scroll_child_locked_y_get
(sid->obj)))
{
pgy = _elm_scroll_page_y_get(sid, oy, EINA_TRUE);
@ -2734,7 +2734,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
elm_interface_scrollable_content_pos_get
(sid->obj, &x, &y);
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get
(!elm_widget_scroll_child_locked_x_get
(sid->obj)))
{
pgx = _elm_scroll_page_x_get(sid, ox, EINA_TRUE);
@ -2743,7 +2743,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
(sid, _elm_config->page_scroll_friction, pgx);
}
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get
(!elm_widget_scroll_child_locked_y_get
(sid->obj)))
{
pgy = _elm_scroll_page_y_get(sid, oy, EINA_TRUE);
@ -2982,7 +2982,7 @@ _elm_scroll_post_event_move(void *data,
if (sid->down.dir_x)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get(sid->obj)))
(!elm_widget_scroll_child_locked_x_get(sid->obj)))
{
if (sid->down.dragged_began)
{
@ -2990,7 +2990,7 @@ _elm_scroll_post_event_move(void *data,
sid->down.dragged = EINA_TRUE;
if (sid->obj)
{
elm_widget_drag_lock_x_set(sid->obj, 1);
elm_widget_scroll_lock_x_set(sid->obj, 1);
}
start = 1;
}
@ -3004,7 +3004,7 @@ _elm_scroll_post_event_move(void *data,
if (sid->down.dir_y)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get(sid->obj)))
(!elm_widget_scroll_child_locked_y_get(sid->obj)))
{
if (sid->down.dragged_began)
{
@ -3012,7 +3012,7 @@ _elm_scroll_post_event_move(void *data,
sid->down.dragged = EINA_TRUE;
if (sid->obj)
{
elm_widget_drag_lock_y_set
elm_widget_scroll_lock_y_set
(sid->obj, EINA_TRUE);
}
start = 1;
@ -3177,13 +3177,13 @@ _elm_scroll_hold_enterer(void *data)
if (sid->down.dir_x)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get(sid->obj)))
(!elm_widget_scroll_child_locked_x_get(sid->obj)))
ox = fx;
}
if (sid->down.dir_y)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get(sid->obj)))
(!elm_widget_scroll_child_locked_y_get(sid->obj)))
oy = fy;
}
@ -3231,7 +3231,7 @@ _elm_scroll_on_hold_animator(void *data, const Efl_Event *event EINA_UNUSED)
if (sid->down.dir_x)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_x_get(sid->obj)))
(!elm_widget_scroll_child_locked_x_get(sid->obj)))
{
sid->down.onhold_vxe += vx;
x = ox + (int)sid->down.onhold_vxe;
@ -3242,7 +3242,7 @@ _elm_scroll_on_hold_animator(void *data, const Efl_Event *event EINA_UNUSED)
if (sid->down.dir_y)
{
if ((!sid->obj) ||
(!elm_widget_drag_child_locked_y_get(sid->obj)))
(!elm_widget_scroll_child_locked_y_get(sid->obj)))
{
sid->down.onhold_vye += vy;
y = oy + (int)sid->down.onhold_vye;

View File

@ -1816,7 +1816,7 @@ elm_object_scroll_lock_x_set(Evas_Object *obj,
Eina_Bool lock)
{
EINA_SAFETY_ON_NULL_RETURN(obj);
elm_widget_drag_lock_x_set(obj, lock);
elm_widget_scroll_lock_x_set(obj, lock);
}
EAPI void
@ -1824,21 +1824,21 @@ elm_object_scroll_lock_y_set(Evas_Object *obj,
Eina_Bool lock)
{
EINA_SAFETY_ON_NULL_RETURN(obj);
elm_widget_drag_lock_y_set(obj, lock);
elm_widget_scroll_lock_y_set(obj, lock);
}
EAPI Eina_Bool
elm_object_scroll_lock_x_get(const Evas_Object *obj)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
return elm_widget_drag_lock_x_get(obj);
return elm_widget_scroll_lock_x_get(obj);
}
EAPI Eina_Bool
elm_object_scroll_lock_y_get(const Evas_Object *obj)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
return elm_widget_drag_lock_y_get(obj);
return elm_widget_scroll_lock_y_get(obj);
}
EAPI void

View File

@ -3976,37 +3976,37 @@ elm_widget_cursor_del(Eo *obj, Elm_Cursor *cur)
}
EOLIAN static void
_elm_widget_drag_lock_x_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool lock)
_elm_widget_scroll_lock_x_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool lock)
{
if (sd->drag_x_locked == lock) return;
sd->drag_x_locked = lock;
if (sd->drag_x_locked) _propagate_x_drag_lock(obj, 1);
if (sd->scroll_x_locked == lock) return;
sd->scroll_x_locked = lock;
if (sd->scroll_x_locked) _propagate_x_drag_lock(obj, 1);
else _propagate_x_drag_lock(obj, -1);
}
EOLIAN static void
_elm_widget_drag_lock_y_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool lock)
_elm_widget_scroll_lock_y_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool lock)
{
if (sd->drag_y_locked == lock) return;
sd->drag_y_locked = lock;
if (sd->drag_y_locked) _propagate_y_drag_lock(obj, 1);
if (sd->scroll_y_locked == lock) return;
sd->scroll_y_locked = lock;
if (sd->scroll_y_locked) _propagate_y_drag_lock(obj, 1);
else _propagate_y_drag_lock(obj, -1);
}
EOLIAN static Eina_Bool
_elm_widget_drag_lock_x_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
_elm_widget_scroll_lock_x_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
{
return sd->drag_x_locked;
return sd->scroll_x_locked;
}
EOLIAN static Eina_Bool
_elm_widget_drag_lock_y_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
_elm_widget_scroll_lock_y_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
{
return sd->drag_y_locked;
return sd->scroll_y_locked;
}
EAPI int
elm_widget_drag_child_locked_x_get(const Eo *obj)
elm_widget_scroll_child_locked_x_get(const Eo *obj)
{
Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
if (!sd) return EINA_FALSE;
@ -4014,7 +4014,7 @@ elm_widget_drag_child_locked_x_get(const Eo *obj)
}
EAPI int
elm_widget_drag_child_locked_y_get(const Eo *obj)
elm_widget_scroll_child_locked_y_get(const Eo *obj)
{
Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
if (!sd) return EINA_FALSE;

View File

@ -277,20 +277,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
legacy: null; /* FIXME: legacy API does extra work */
}
/* Drag API */
@property drag_lock_x {
[[Drag lock on X axis]]
values {
lock: bool; [[$true if drag is locked on X axis, $false otherwise]]
}
}
@property drag_lock_y {
[[Lock the Y axis from being dragged]]
values {
lock: bool; [[$true if the Y axis is locked, $false otherwise]]
}
}
/* Translation & Text API. */
translate @protected {
[[Virtual function handling language changes.]]
@ -427,6 +413,18 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
}
/* Scroll API. */
@property scroll_lock_x {
[[Drag lock on X axis]]
values {
lock: bool; [[$true if drag is locked on X axis, $false otherwise]]
}
}
@property scroll_lock_y {
[[Lock the Y axis from being dragged]]
values {
lock: bool; [[$true if the Y axis is locked, $false otherwise]]
}
}
@property on_show_region_hook {
[[Region hook on show property]]
set {}

View File

@ -445,8 +445,8 @@ typedef struct _Elm_Widget_Smart_Data
Efl_Ui_Focus_User *provider;
} manager;
Eina_Bool drag_x_locked : 1;
Eina_Bool drag_y_locked : 1;
Eina_Bool scroll_x_locked : 1;
Eina_Bool scroll_y_locked : 1;
Eina_Bool can_focus : 1;
Eina_Bool child_can_focus : 1;
@ -739,12 +739,12 @@ EAPI void elm_widget_tooltip_add(Evas_Object *obj, Elm_Tooltip *tt);
EAPI void elm_widget_tooltip_del(Evas_Object *obj, Elm_Tooltip *tt);
EAPI void elm_widget_cursor_add(Evas_Object *obj, Elm_Cursor *cur);
EAPI void elm_widget_cursor_del(Evas_Object *obj, Elm_Cursor *cur);
EAPI void elm_widget_drag_lock_x_set(Evas_Object *obj, Eina_Bool lock);
EAPI void elm_widget_drag_lock_y_set(Evas_Object *obj, Eina_Bool lock);
EAPI Eina_Bool elm_widget_drag_lock_x_get(const Evas_Object *obj);
EAPI Eina_Bool elm_widget_drag_lock_y_get(const Evas_Object *obj);
EAPI int elm_widget_drag_child_locked_x_get(const Evas_Object *obj);
EAPI int elm_widget_drag_child_locked_y_get(const Evas_Object *obj);
EAPI void elm_widget_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock);
EAPI void elm_widget_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock);
EAPI Eina_Bool elm_widget_scroll_lock_x_get(const Evas_Object *obj);
EAPI Eina_Bool elm_widget_scroll_lock_y_get(const Evas_Object *obj);
EAPI int elm_widget_scroll_child_locked_x_get(const Evas_Object *obj);
EAPI int elm_widget_scroll_child_locked_y_get(const Evas_Object *obj);
EAPI void elm_widget_item_loop_enabled_set(Evas_Object *obj, Eina_Bool enable);
EAPI Eina_Bool elm_widget_item_loop_enabled_get(const Evas_Object *obj);
EAPI Efl_Ui_Theme_Apply elm_widget_theme_object_set(Evas_Object *obj, Evas_Object *edj, const char *wname, const char *welement, const char *wstyle);