eunue pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=a4f5e88ec0d35d5fa1369cd30dd58267b8b35e36

commit a4f5e88ec0d35d5fa1369cd30dd58267b8b35e36
Author: Jaeun Choi <jaeun12.c...@samsung.com>
Date:   Tue Sep 2 16:06:08 2014 +0900

    panel: resize scrollable content in content_size_set API
    
    in elm_panel_scrollable_content_size_set,
    not only update size ratio variable but also resize scrollable content
    
    @fix
---
 src/lib/elm_panel.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c
index c4ac456..e1c8c0c 100644
--- a/src/lib/elm_panel.c
+++ b/src/lib/elm_panel.c
@@ -1259,9 +1259,31 @@ _elm_panel_elm_widget_disable(Eo *obj, Elm_Panel_Data 
*sd)
 }
 
 EOLIAN static void
-_elm_panel_scrollable_content_size_set(Eo *obj EINA_UNUSED, Elm_Panel_Data 
*sd, double ratio)
+_elm_panel_scrollable_content_size_set(Eo *obj, Elm_Panel_Data *sd, double 
ratio)
 {
+   Evas_Coord w, h;
    sd->content_size_ratio = ratio;
+   evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+
+   switch (sd->orient)
+     {
+      case ELM_PANEL_ORIENT_TOP:
+      case ELM_PANEL_ORIENT_BOTTOM:
+         // vertical
+         evas_object_resize(sd->scr_ly, w, (1 + sd->content_size_ratio) * h);
+         evas_object_size_hint_min_set(sd->scr_panel, w, 
(sd->content_size_ratio * h));
+         evas_object_size_hint_min_set(sd->scr_event, w, h);
+         break;
+      case ELM_PANEL_ORIENT_LEFT:
+      case ELM_PANEL_ORIENT_RIGHT:
+         // horizontal
+         evas_object_resize(sd->scr_ly, (1 + sd->content_size_ratio) * w, h);
+         evas_object_size_hint_min_set(sd->scr_panel, (sd->content_size_ratio 
* w), h);
+         evas_object_size_hint_min_set(sd->scr_event, w, h);
+         break;
+     }
+
+   ecore_animator_add(_elm_panel_anim_cb, obj);
 }
 
 EOLIAN static void

-- 


Reply via email to