From: Enlightenment S. <no-...@en...> - 2010-05-18 18:23:20
|
Log: When the grid size was different from the viewport's, the min size for the grid was being wrongly calculated leading to children objects leaking through the widget. By Rafael Fonseca Author: bdilly Date: 2010-05-18 11:23:11 -0700 (Tue, 18 May 2010) New Revision: 48984 Modified: trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c Modified: trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c 2010-05-18 18:12:36 UTC (rev 48983) +++ trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c 2010-05-18 18:23:11 UTC (rev 48984) @@ -203,7 +203,6 @@ }; static const char *widtype = NULL; -static void _sizing_eval(Evas_Object *obj); static void _cell_hilight(Elm_Grid_Cell *cell); static void _cell_unrealize(Elm_Grid_Cell *cell); static void _cell_select(Elm_Grid_Cell *cell); @@ -218,21 +217,9 @@ if (!wd) return; elm_smart_scroller_object_theme_set(obj, wd->scr, "grid", "base", elm_widget_style_get(obj)); - _sizing_eval(obj); } static void -_sizing_eval(Evas_Object *obj) -{ - Widget_Data *wd = elm_widget_data_get(obj); - Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; - if (!wd) return; - evas_object_size_hint_max_get(wd->scr, &maxw, &maxh); - evas_object_size_hint_min_set(obj, minw, minh); - evas_object_size_hint_max_set(obj, maxw, maxh); -} - -static void _del_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); @@ -723,8 +710,7 @@ Evas_Coord minw = 0, minh = 0, nmax = 0, cvw, cvh; int count; - evas_output_viewport_get(evas_object_evas_get(wd->self), NULL, NULL, - &cvw, &cvh); + evas_object_geometry_get(wd->self, NULL, NULL, &cvw, &cvh); if (wd->horizontal && wd->cell_height) nmax = cvh / wd->cell_height; else if (wd->cell_width) @@ -750,7 +736,6 @@ wd->minh = minh; wd->minw = minw; evas_object_smart_callback_call(wd->pan_smart, "changed", NULL); - _sizing_eval(wd->self); } wd->nmax = nmax; @@ -999,8 +984,6 @@ _pan_set, _pan_get, _pan_max_get, _pan_child_size_get); - _sizing_eval(obj); - return obj; } @@ -1234,7 +1217,6 @@ wd->minh = 0; evas_object_size_hint_min_set(wd->pan_smart, wd->minw, wd->minh); evas_object_smart_callback_call(wd->pan_smart, "changed", NULL); - _sizing_eval(obj); } /** |