ui.box,table: update layout when homogeneous mode is changed.
authorYeongjong Lee <yj34.lee@samsung.com>
Fri, 8 Mar 2019 13:22:12 +0000 (08:22 -0500)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 14 Mar 2019 05:46:29 +0000 (14:46 +0900)
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
src/lib/elementary/efl_ui_table.c

index e2a4c90..ba0109f 100644 (file)
@@ -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
index cc3d240..7fe398d 100644 (file)
@@ -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