widget: Remove parents_bounce from EO
authorJean-Philippe Andre <jp.andre@samsung.com>
Thu, 17 Aug 2017 14:26:34 +0000 (23:26 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 23 Aug 2017 02:16:45 +0000 (11:16 +0900)
It's specific to scroller and can be implemented there. Moved.

Ref T5363

src/lib/elementary/elm_interface_scrollable.c
src/lib/elementary/elm_widget.c
src/lib/elementary/elm_widget.eo
src/lib/elementary/elm_widget.h

index cc4cd47..cd65b29 100644 (file)
@@ -2930,6 +2930,30 @@ _elm_scroll_can_scroll(Elm_Scrollable_Smart_Interface_Data *sid,
    return EINA_FALSE;
 }
 
+static inline void
+_elm_widget_parents_bounce_get(Eo *obj, Eina_Bool *horiz, Eina_Bool *vert)
+{
+   Evas_Object *parent_obj = obj;
+   Eina_Bool h = EINA_FALSE, v = EINA_FALSE;
+
+   *horiz = EINA_FALSE;
+   *vert = EINA_FALSE;
+
+   do
+     {
+        parent_obj = elm_widget_parent_get(parent_obj);
+        if ((!parent_obj) || (!efl_isa(parent_obj, ELM_WIDGET_CLASS))) break;
+
+        if (efl_isa(parent_obj, ELM_INTERFACE_SCROLLABLE_MIXIN))
+          {
+             elm_interface_scrollable_bounce_allow_get(parent_obj, &h, &v);
+             if (h) *horiz = EINA_TRUE;
+             if (v) *vert = EINA_TRUE;
+          }
+     }
+   while (parent_obj);
+}
+
 static Eina_Bool
 _elm_scroll_post_event_move(void *data,
                             Evas *e EINA_UNUSED)
@@ -2940,7 +2964,7 @@ _elm_scroll_post_event_move(void *data,
 
    if (!sid->down.want_dragged) return EINA_TRUE;
 
-   elm_widget_parents_bounce_get(sid->obj, &horiz, &vert);
+   _elm_widget_parents_bounce_get(sid->obj, &horiz, &vert);
    if (sid->down.hold_parent)
      {
         if ((sid->down.dir_x) && (horiz || !sid->bounce_horiz) &&
index 4898301..e8bd5a4 100644 (file)
@@ -3485,30 +3485,6 @@ _elm_widget_focus_region_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Ev
 }
 
 EOLIAN static void
-_elm_widget_parents_bounce_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Eina_Bool *horiz, Eina_Bool *vert)
-{
-   Evas_Object *parent_obj = obj;
-   Eina_Bool h = EINA_FALSE, v = EINA_FALSE;
-
-   *horiz = EINA_FALSE;
-   *vert = EINA_FALSE;
-
-   do
-     {
-        parent_obj = elm_widget_parent_get(parent_obj);
-        if ((!parent_obj) || (!_elm_widget_is(parent_obj))) break;
-
-        if (_elm_scrollable_is(parent_obj))
-          {
-             elm_interface_scrollable_bounce_allow_get(parent_obj, &h, &v);
-             if (h) *horiz = EINA_TRUE;
-             if (v) *vert = EINA_TRUE;
-          }
-     }
-   while (parent_obj);
-}
-
-EOLIAN static void
 _elm_widget_scroll_hold_push(Eo *obj, Elm_Widget_Smart_Data *sd)
 {
    sd->scroll_hold++;
index 19dd30e..da1e371 100644 (file)
@@ -413,15 +413,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
             return: Elm.Widget.Item; [[Focused item]]
          }
       }
-      @property parents_bounce {
-        [[Parents bounce property]]
-         get {
-         }
-         values {
-            horiz: bool; [[$true if parents bounce horizontally, $false otherwise]]
-            vert: bool; [[$true if parents bounce vertically, $false otherwise]]
-         }
-      }
       @property highlight {
         [[Highlight property]]
          get {
index f29f505..ee8191a 100644 (file)
@@ -724,7 +724,6 @@ EAPI void             elm_widget_show_region_set(Evas_Object *obj, Evas_Coord x,
 EAPI void             elm_widget_show_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
 EAPI Eina_Bool        elm_widget_focus_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
 EAPI void             elm_widget_focus_region_show(const Evas_Object *obj);
-EAPI void             elm_widget_parents_bounce_get(const Evas_Object *obj, Eina_Bool *horiz, Eina_Bool *vert);
 EAPI void             elm_widget_scroll_hold_push(Evas_Object *obj);
 EAPI void             elm_widget_scroll_hold_pop(Evas_Object *obj);
 EAPI int              elm_widget_scroll_hold_get(const Evas_Object *obj);