X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_box.c;h=bcf0b382acad58131a23aafe06b827f8c26d08af;hb=410399e14d0af5480d3e1e5af0cf8773d20c077b;hp=6d1a0d2a04d64bc95f870d492e3beae762e32922;hpb=be1a601b7305357d4abc761db262129c2cffd991;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c index 6d1a0d2..bcf0b38 100644 --- a/src/lib/elm_box.c +++ b/src/lib/elm_box.c @@ -20,6 +20,7 @@ struct _Widget_Data Evas_Object *box; Eina_Bool horizontal:1; Eina_Bool homogeneous:1; + Eina_Bool recalc:1; }; struct _Elm_Box_Transition @@ -371,7 +372,6 @@ elm_box_add(Evas_Object *parent) evas_object_event_callback_add(wd->box, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); elm_widget_resize_object_set(obj, wd->box); - elm_widget_sub_object_add(obj, wd->box); evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj); @@ -449,12 +449,6 @@ elm_box_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous) } */ } -EINA_DEPRECATED EAPI void -elm_box_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) -{ - elm_box_homogeneous_set(obj, homogenous); -} - EAPI Eina_Bool elm_box_homogeneous_get(const Evas_Object *obj) { @@ -464,12 +458,6 @@ elm_box_homogeneous_get(const Evas_Object *obj) return wd->homogeneous; } -EINA_DEPRECATED EAPI Eina_Bool -elm_box_homogenous_get(const Evas_Object *obj) -{ - return elm_box_homogeneous_get(obj); -} - EAPI void elm_box_pack_start(Evas_Object *obj, Evas_Object *subobj) { @@ -538,7 +526,7 @@ elm_box_unpack_all(Evas_Object *obj) } EAPI void -elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data)) +elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -586,10 +574,10 @@ elm_box_layout_transition(Evas_Object *obj, Evas_Object_Box_Data *priv, void *da EAPI Elm_Box_Transition * elm_box_transition_new(const double duration, Evas_Object_Box_Layout start_layout, void *start_layout_data, - void(*start_layout_free_data)(void *data), + Ecore_Cb start_layout_free_data, Evas_Object_Box_Layout end_layout, void *end_layout_data, - void(*end_layout_free_data)(void *data), - void(*transition_end_cb)(void *data), + Ecore_Cb end_layout_free_data, + Ecore_Cb transition_end_cb, void *transition_end_data) { Elm_Box_Transition *box_data; @@ -637,7 +625,7 @@ elm_box_transition_free(void *data) free(data); } -EAPI const Eina_List * +EAPI Eina_List * elm_box_children_get(const Evas_Object *obj) { ELM_CHECK_WIDTYPE(obj, widtype) NULL; @@ -687,7 +675,9 @@ elm_box_recalculate(Evas_Object *obj) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return; + if ((!wd) || (wd->recalc)) return; evas_object_smart_need_recalculate_set(wd->box, EINA_TRUE); + wd->recalc++; evas_object_smart_calculate(wd->box); + wd->recalc--; }