From 6f95bded5146eae1a697d61e57fe243ce8362558 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Mon, 16 Oct 2017 16:43:32 +0200 Subject: [PATCH] efl_ui_composition: flushing elements from outside! --- src/lib/elementary/efl_ui_focus_composition.c | 12 +++++++++--- src/lib/elementary/efl_ui_focus_composition.eo | 4 ++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_composition.c b/src/lib/elementary/efl_ui_focus_composition.c index b9f94847cb..427db3de3a 100644 --- a/src/lib/elementary/efl_ui_focus_composition.c +++ b/src/lib/elementary/efl_ui_focus_composition.c @@ -151,10 +151,8 @@ _efl_ui_focus_composition_dirty(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Composition_Da } EOLIAN static void -_efl_ui_focus_composition_efl_ui_focus_object_prepare_logical(Eo *obj, Efl_Ui_Focus_Composition_Data *pd) +_efl_ui_focus_composition_elements_flush(Eo *obj, Efl_Ui_Focus_Composition_Data *pd) { - efl_ui_focus_object_prepare_logical(efl_super(obj, MY_CLASS)); - if (!pd->dirty) return; efl_ui_focus_composition_prepare(obj); @@ -162,6 +160,14 @@ _efl_ui_focus_composition_efl_ui_focus_object_prepare_logical(Eo *obj, Efl_Ui_Fo pd->dirty = EINA_FALSE; } +EOLIAN static void +_efl_ui_focus_composition_efl_ui_focus_object_prepare_logical(Eo *obj, Efl_Ui_Focus_Composition_Data *pd EINA_UNUSED) +{ + efl_ui_focus_object_prepare_logical(efl_super(obj, MY_CLASS)); + + efl_ui_focus_composition_elements_flush(obj); +} + EOLIAN static void _efl_ui_focus_composition_custom_manager_set(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Composition_Data *pd, Efl_Ui_Focus_Manager *custom_manager) { diff --git a/src/lib/elementary/efl_ui_focus_composition.eo b/src/lib/elementary/efl_ui_focus_composition.eo index 57f5d3818a..b03d0e7cd8 100644 --- a/src/lib/elementary/efl_ui_focus_composition.eo +++ b/src/lib/elementary/efl_ui_focus_composition.eo @@ -19,6 +19,10 @@ mixin Efl.Ui.Focus.Composition (Efl.Interface, Elm.Widget ) { logical_order : list @owned; [[The order to use]] } } + elements_flush { + [[Function that will emit prepare if this is marked as dirty]] + } + dirty @protected { [[ Mark this widget as dirty, the children can be considered to be changed after that call ]]