From ef2074c5606f51340cc8fb2d1a0bc815160bc602 Mon Sep 17 00:00:00 2001 From: Yeongjong Lee Date: Fri, 8 Mar 2019 08:22:12 -0500 Subject: [PATCH] ui.box,table: update layout when homogeneous mode is changed. Summary: changing homogeneous mode is needed layout_update. Test Plan: 1. elementary_test -to 'efl.ui.box' 2. Click 'Homogenous' check box. 3. Check layout is updated. Reviewers: zmike, Jaehyun_Cho, segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8216 --- src/lib/elementary/efl_ui_box.c | 6 +++++- src/lib/elementary/efl_ui_table.c | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index e2a4c90..ba0109f 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -81,9 +81,13 @@ _evas_box_custom_layout(Evas_Object *evas_box EINA_UNUSED, } EOLIAN static void -_efl_ui_box_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd, Eina_Bool homogeneous) +_efl_ui_box_homogeneous_set(Eo *obj, Efl_Ui_Box_Data *pd, Eina_Bool homogeneous) { + if (pd->homogeneous == !!homogeneous) + return; + pd->homogeneous = !!homogeneous; + efl_pack_layout_request(obj); } EOLIAN static Eina_Bool diff --git a/src/lib/elementary/efl_ui_table.c b/src/lib/elementary/efl_ui_table.c index cc3d240..7fe398d 100644 --- a/src/lib/elementary/efl_ui_table.c +++ b/src/lib/elementary/efl_ui_table.c @@ -123,10 +123,15 @@ _custom_table_calc(Eo *obj, Custom_Table_Data *pd) /* End of custom table class */ EOLIAN static void -_efl_ui_table_homogeneous_set(Eo *obj EINA_UNUSED, Efl_Ui_Table_Data *pd, Eina_Bool homogeneoush, Eina_Bool homogeneousv) +_efl_ui_table_homogeneous_set(Eo *obj, Efl_Ui_Table_Data *pd, Eina_Bool homogeneoush, Eina_Bool homogeneousv) { + if ((pd->homogeneoush == !!homogeneoush) && + (pd->homogeneousv == !!homogeneousv)) + return; + pd->homogeneoush = !!homogeneoush; pd->homogeneousv = !!homogeneousv; + efl_pack_layout_request(obj); } EOLIAN static void -- 2.7.4