elementary/widget - plase update display mode whenever sub object is set
This commit is contained in:
parent
86f7d566c6
commit
71bee6ddeb
|
@ -1037,6 +1037,8 @@ _elm_widget_sub_object_add(Eo *obj, void *_pd, va_list *list)
|
||||||
if (elm_widget_focus_get(sobj)) _parents_focus(obj);
|
if (elm_widget_focus_get(sobj)) _parents_focus(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
elm_widget_display_mode_set(sobj,
|
||||||
|
evas_object_size_hint_display_mode_get(obj));
|
||||||
end:
|
end:
|
||||||
if (ret) *ret = EINA_TRUE;
|
if (ret) *ret = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -4719,22 +4721,21 @@ static void
|
||||||
_elm_widget_display_mode_set(Eo *obj, void *_pd, va_list *list)
|
_elm_widget_display_mode_set(Eo *obj, void *_pd, va_list *list)
|
||||||
{
|
{
|
||||||
Evas_Display_Mode dispmode = va_arg(*list, Evas_Display_Mode);
|
Evas_Display_Mode dispmode = va_arg(*list, Evas_Display_Mode);
|
||||||
|
Evas_Display_Mode prev_dispmode;
|
||||||
Evas_Object *child;
|
Evas_Object *child;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
Elm_Widget_Smart_Data *sd = _pd;
|
Elm_Widget_Smart_Data *sd = _pd;
|
||||||
|
|
||||||
if (evas_object_size_hint_display_mode_get(obj) == dispmode) return;
|
prev_dispmode = evas_object_size_hint_display_mode_get(obj);
|
||||||
|
|
||||||
|
if ((prev_dispmode == dispmode) ||
|
||||||
|
(prev_dispmode == EVAS_DISPLAY_MODE_DONT_CHANGE)) return;
|
||||||
|
|
||||||
evas_object_size_hint_display_mode_set(obj, dispmode);
|
evas_object_size_hint_display_mode_set(obj, dispmode);
|
||||||
|
|
||||||
//TODO: Need to deal with EVAS_DISPLAY_MODE_INHERIT efficiently.
|
|
||||||
EINA_LIST_FOREACH (sd->subobjs, l, child)
|
EINA_LIST_FOREACH (sd->subobjs, l, child)
|
||||||
{
|
elm_widget_display_mode_set(child, dispmode);
|
||||||
if (evas_object_size_hint_display_mode_get(child)
|
|
||||||
!= EVAS_DISPLAY_MODE_DONT_CHANGE)
|
|
||||||
elm_widget_display_mode_set(child, dispmode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue