From 7d9103ac9d5860e2afc6a7e68aa572ea5be3819c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 30 Jul 2019 13:11:54 -0400 Subject: [PATCH] elm_layout: create a mixin to provide elm_layout_sizing_eval Summary: this removes elm_layout_sizing_eval entirely from the implementation hierarchy of any efl_ui-based widgets, ensuring that future code will correctly use efl_canvas_group functionality Depends on D9439 Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl_widgets Maniphest Tasks: T8059 Differential Revision: https://phab.enlightenment.org/D9440 --- src/lib/elementary/efl_ui_bg_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_button_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_check_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_frame_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_layout.c | 52 +++++++++++++++-------- src/lib/elementary/efl_ui_layout_legacy_eo.c | 39 ++++++++++++++++- src/lib/elementary/efl_ui_layout_legacy_eo.h | 2 + src/lib/elementary/efl_ui_panes_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_progressbar_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_radio_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_textpath_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_video_legacy_eo.c | 2 +- src/lib/elementary/efl_ui_win_legacy_eo.c | 2 +- src/lib/elementary/elm_actionslider_eo.c | 2 +- src/lib/elementary/elm_bubble_eo.c | 2 +- src/lib/elementary/elm_calendar_eo.c | 2 +- src/lib/elementary/elm_clock_eo.c | 2 +- src/lib/elementary/elm_code_widget_legacy_eo.c | 2 +- src/lib/elementary/elm_colorselector_eo.c | 2 +- src/lib/elementary/elm_conformant_eo.c | 2 +- src/lib/elementary/elm_ctxpopup_eo.c | 2 +- src/lib/elementary/elm_dayselector_eo.c | 2 +- src/lib/elementary/elm_entry_eo.c | 2 +- src/lib/elementary/elm_fileselector_button_eo.c | 2 +- src/lib/elementary/elm_fileselector_entry_eo.c | 2 +- src/lib/elementary/elm_fileselector_eo.c | 2 +- src/lib/elementary/elm_flipselector_eo.c | 2 +- src/lib/elementary/elm_gengrid_eo.c | 2 +- src/lib/elementary/elm_genlist_eo.c | 2 +- src/lib/elementary/elm_hover_eo.c | 2 +- src/lib/elementary/elm_hoversel_eo.c | 2 +- src/lib/elementary/elm_index_eo.c | 2 +- src/lib/elementary/elm_inwin_eo.c | 2 +- src/lib/elementary/elm_label_eo.c | 2 +- src/lib/elementary/elm_list_eo.c | 2 +- src/lib/elementary/elm_multibuttonentry_eo.c | 2 +- src/lib/elementary/elm_naviframe_eo.c | 2 +- src/lib/elementary/elm_panel_eo.c | 2 +- src/lib/elementary/elm_player_eo.c | 2 +- src/lib/elementary/elm_popup_eo.c | 2 +- src/lib/elementary/elm_priv.h | 1 + src/lib/elementary/elm_route_eo.c | 2 +- src/lib/elementary/elm_scroller_eo.c | 2 +- src/lib/elementary/elm_segment_control_eo.c | 2 +- src/lib/elementary/elm_separator_eo.c | 2 +- src/lib/elementary/elm_slider_eo.c | 2 +- src/lib/elementary/elm_slideshow_eo.c | 2 +- src/lib/elementary/elm_spinner_eo.c | 2 +- src/lib/elementary/elm_thumb_eo.c | 2 +- src/lib/elementary/elm_widget_layout.h | 8 +++- 50 files changed, 126 insertions(+), 66 deletions(-) diff --git a/src/lib/elementary/efl_ui_bg_legacy_eo.c b/src/lib/elementary/efl_ui_bg_legacy_eo.c index 9cd23ff..ea7bffc 100644 --- a/src/lib/elementary/efl_ui_bg_legacy_eo.c +++ b/src/lib/elementary/efl_ui_bg_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_bg_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_bg_legacy_class_get, &_efl_ui_bg_legacy_class_desc, EFL_UI_BG_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_bg_legacy_class_get, &_efl_ui_bg_legacy_class_desc, EFL_UI_BG_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_button_legacy_eo.c b/src/lib/elementary/efl_ui_button_legacy_eo.c index 0fcd13a..81d3735 100644 --- a/src/lib/elementary/efl_ui_button_legacy_eo.c +++ b/src/lib/elementary/efl_ui_button_legacy_eo.c @@ -44,4 +44,4 @@ static const Efl_Class_Description _efl_ui_button_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_button_legacy_class_get, &_efl_ui_button_legacy_class_desc, EFL_UI_BUTTON_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_button_legacy_class_get, &_efl_ui_button_legacy_class_desc, EFL_UI_BUTTON_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_check_legacy_eo.c b/src/lib/elementary/efl_ui_check_legacy_eo.c index cd1d466..591fc27 100644 --- a/src/lib/elementary/efl_ui_check_legacy_eo.c +++ b/src/lib/elementary/efl_ui_check_legacy_eo.c @@ -44,4 +44,4 @@ static const Efl_Class_Description _efl_ui_check_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_check_legacy_class_get, &_efl_ui_check_legacy_class_desc, EFL_UI_CHECK_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_check_legacy_class_get, &_efl_ui_check_legacy_class_desc, EFL_UI_CHECK_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_frame_legacy_eo.c b/src/lib/elementary/efl_ui_frame_legacy_eo.c index 22e4057..ca10f87 100644 --- a/src/lib/elementary/efl_ui_frame_legacy_eo.c +++ b/src/lib/elementary/efl_ui_frame_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_frame_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_frame_legacy_class_get, &_efl_ui_frame_legacy_class_desc, EFL_UI_FRAME_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_frame_legacy_class_get, &_efl_ui_frame_legacy_class_desc, EFL_UI_FRAME_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c index 6178b3a..7c3d6b0 100644 --- a/src/lib/elementary/efl_ui_layout.c +++ b/src/lib/elementary/efl_ui_layout.c @@ -172,7 +172,7 @@ _part_cursor_free(Efl_Ui_Layout_Sub_Object_Cursor *pc) } static void -_sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd) +_sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd, Elm_Layout_Data *ld) { int minh = 0, minw = 0; int rest_w = 0, rest_h = 0; @@ -191,7 +191,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd) } elm_coords_finger_size_adjust(sd->finger_size_multiplier_x, &rest_w, sd->finger_size_multiplier_y, &rest_h); - if (elm_widget_is_legacy(obj)) + if (ld) sz = efl_gfx_hint_size_combined_min_get(obj); else sz = efl_gfx_hint_size_min_get(obj); @@ -217,8 +217,13 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd) if (sd->finger_size_multiplier_y) elm_coords_finger_size_adjust(sd->finger_size_multiplier_x, NULL, sd->finger_size_multiplier_y, &minh); - evas_object_size_hint_min_set(obj, minw, minh); + efl_gfx_hint_size_restricted_min_set(obj, EINA_SIZE2D(minw, minh)); + + if (ld) + { + efl_gfx_hint_size_min_set(obj, EINA_SIZE2D(minw, minh)); + } sd->restricted_calc_w = sd->restricted_calc_h = EINA_FALSE; } @@ -1054,11 +1059,11 @@ _efl_ui_layout_efl_canvas_group_group_calculate(Eo *obj, void *_pd EINA_UNUSED) EOLIAN static void _efl_ui_layout_base_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Layout_Data *sd) { - Eina_Bool legacy = elm_widget_is_legacy(obj); + Elm_Layout_Data *ld = efl_data_scope_safe_get(obj, ELM_LAYOUT_MIXIN); efl_canvas_group_need_recalculate_set(obj, EINA_FALSE); - if ((!legacy) || sd->needs_size_calc) - _sizing_eval(obj, sd); - sd->needs_size_calc = EINA_FALSE; + if ((!ld) || ld->needs_size_calc) + _sizing_eval(obj, sd, ld); + if (ld) ld->needs_size_calc = EINA_FALSE; } EOLIAN static void @@ -1964,19 +1969,26 @@ _efl_ui_layout_base_efl_layout_group_part_exist_get(const Eo *obj, Efl_Ui_Layout return efl_layout_group_part_exist_get(wd->resize_obj, part); } +EOLIAN static void +_elm_layout_efl_canvas_group_change(Eo *obj, Elm_Layout_Data *ld) +{ + Efl_Ui_Layout_Data *sd; + + if (!efl_finalized_get(obj)) return; + sd = efl_data_scope_safe_get(obj, EFL_UI_LAYOUT_BASE_CLASS); + if (sd->frozen) return; + ld->needs_size_calc = EINA_TRUE; + efl_canvas_group_change(efl_super(obj, ELM_LAYOUT_MIXIN)); +} + /* layout's sizing evaluation is deferred. evaluation requests are * queued up and only flag the object as 'changed'. when it comes to * Evas's rendering phase, it will be addressed, finally (see * _efl_ui_layout_smart_calculate()). */ -static void -_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Layout_Data *sd) +EOLIAN static void +_elm_layout_sizing_eval(Eo *obj, Elm_Layout_Data *ld) { - if (!efl_finalized_get(obj)) return; - if (sd->frozen) return; - if (sd->needs_size_calc) return; - sd->needs_size_calc = EINA_TRUE; - - evas_object_smart_changed(obj); + _elm_layout_efl_canvas_group_change(obj, ld); } EAPI void @@ -2756,6 +2768,13 @@ _efl_ui_layout_base_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNU efl_ui_widget_theme_apply(eo); efl_canvas_group_change(obj); + Elm_Layout_Data *ld = efl_data_scope_safe_get(obj, ELM_LAYOUT_MIXIN); + /* need to explicitly set this here to permit group_calc since efl_canvas_group_change + * blocks non-finalized objects and the object will not be finalized until after this + * function returns + */ + if (ld) ld->needs_size_calc = EINA_TRUE; + win = elm_widget_top_get(obj); if (efl_isa(win, EFL_UI_WIN_CLASS)) efl_ui_layout_theme_rotation_apply(obj, efl_ui_win_rotation_get(win)); @@ -3053,7 +3072,6 @@ _efl_ui_layout_base_theme_rotation_apply(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UN /* Internal EO APIs and hidden overrides */ -EAPI EFL_VOID_FUNC_BODY(elm_layout_sizing_eval) EFL_FUNC_BODY_CONST(elm_layout_text_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL) EFL_FUNC_BODY_CONST(elm_layout_content_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL) @@ -3066,9 +3084,9 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX) ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout_base), \ ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \ ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \ - EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \ EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_layout_base_efl_object_dbg_info_get) + #include "efl_ui_layout_base.eo.c" #include "efl_ui_layout.eo.c" diff --git a/src/lib/elementary/efl_ui_layout_legacy_eo.c b/src/lib/elementary/efl_ui_layout_legacy_eo.c index 6bec4f9..33056b5 100644 --- a/src/lib/elementary/efl_ui_layout_legacy_eo.c +++ b/src/lib/elementary/efl_ui_layout_legacy_eo.c @@ -1,7 +1,6 @@ Efl_Object *_efl_ui_layout_legacy_efl_object_constructor(Eo *obj, void *pd); - static Eina_Bool _efl_ui_layout_legacy_class_initializer(Efl_Class *klass) { @@ -32,4 +31,40 @@ static const Efl_Class_Description _efl_ui_layout_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_layout_legacy_class_get, &_efl_ui_layout_legacy_class_desc, EFL_UI_LAYOUT_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_layout_legacy_class_get, &_efl_ui_layout_legacy_class_desc, EFL_UI_LAYOUT_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); + +static void _elm_layout_sizing_eval(Eo *obj, Elm_Layout_Data *ld); +EAPI EFL_VOID_FUNC_BODY(elm_layout_sizing_eval); + +static Eina_Bool +_elm_layout_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_LAYOUT_EXTRA_OPS +#define ELM_LAYOUT_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), + EFL_OBJECT_OP_FUNC(efl_canvas_group_change, _elm_layout_efl_canvas_group_change), + ELM_LAYOUT_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_layout_class_desc = { + EO_VERSION, + "Elm.Layout", + EFL_CLASS_TYPE_MIXIN, + sizeof(Elm_Layout_Data), + _elm_layout_class_initializer, + NULL, + NULL +}; + +EFL_DEFINE_CLASS(elm_layout_mixin_get, &_elm_layout_class_desc, NULL, NULL); diff --git a/src/lib/elementary/efl_ui_layout_legacy_eo.h b/src/lib/elementary/efl_ui_layout_legacy_eo.h index 3ad5c08..687bd59 100644 --- a/src/lib/elementary/efl_ui_layout_legacy_eo.h +++ b/src/lib/elementary/efl_ui_layout_legacy_eo.h @@ -19,8 +19,10 @@ typedef Eo Efl_Ui_Layout_Legacy; * @ingroup Efl_Ui_Layout_Legacy */ #define EFL_UI_LAYOUT_LEGACY_CLASS efl_ui_layout_legacy_class_get() +#define ELM_LAYOUT_MIXIN elm_layout_mixin_get() EWAPI const Efl_Class *efl_ui_layout_legacy_class_get(void); +EWAPI const Efl_Class *elm_layout_mixin_get(void); #endif /* EFL_BETA_API_SUPPORT */ #endif diff --git a/src/lib/elementary/efl_ui_panes_legacy_eo.c b/src/lib/elementary/efl_ui_panes_legacy_eo.c index ba95585..b4fd1a8 100644 --- a/src/lib/elementary/efl_ui_panes_legacy_eo.c +++ b/src/lib/elementary/efl_ui_panes_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_panes_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_panes_legacy_class_get, &_efl_ui_panes_legacy_class_desc, EFL_UI_PANES_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_panes_legacy_class_get, &_efl_ui_panes_legacy_class_desc, EFL_UI_PANES_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_progressbar_legacy_eo.c b/src/lib/elementary/efl_ui_progressbar_legacy_eo.c index 8b32d45..46c8bb5 100644 --- a/src/lib/elementary/efl_ui_progressbar_legacy_eo.c +++ b/src/lib/elementary/efl_ui_progressbar_legacy_eo.c @@ -44,4 +44,4 @@ static const Efl_Class_Description _efl_ui_progressbar_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_progressbar_legacy_class_get, &_efl_ui_progressbar_legacy_class_desc, EFL_UI_PROGRESSBAR_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_progressbar_legacy_class_get, &_efl_ui_progressbar_legacy_class_desc, EFL_UI_PROGRESSBAR_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_radio_legacy_eo.c b/src/lib/elementary/efl_ui_radio_legacy_eo.c index b0a2673..453fbc2 100644 --- a/src/lib/elementary/efl_ui_radio_legacy_eo.c +++ b/src/lib/elementary/efl_ui_radio_legacy_eo.c @@ -44,4 +44,4 @@ static const Efl_Class_Description _efl_ui_radio_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_radio_legacy_class_get, &_efl_ui_radio_legacy_class_desc, EFL_UI_RADIO_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_radio_legacy_class_get, &_efl_ui_radio_legacy_class_desc, EFL_UI_RADIO_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_textpath_legacy_eo.c b/src/lib/elementary/efl_ui_textpath_legacy_eo.c index 401a626..c60d031 100644 --- a/src/lib/elementary/efl_ui_textpath_legacy_eo.c +++ b/src/lib/elementary/efl_ui_textpath_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_textpath_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_textpath_legacy_class_get, &_efl_ui_textpath_legacy_class_desc, EFL_UI_TEXTPATH_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_textpath_legacy_class_get, &_efl_ui_textpath_legacy_class_desc, EFL_UI_TEXTPATH_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_video_legacy_eo.c b/src/lib/elementary/efl_ui_video_legacy_eo.c index 1c49e44..462d367 100644 --- a/src/lib/elementary/efl_ui_video_legacy_eo.c +++ b/src/lib/elementary/efl_ui_video_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_video_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_video_legacy_class_get, &_efl_ui_video_legacy_class_desc, EFL_UI_VIDEO_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_video_legacy_class_get, &_efl_ui_video_legacy_class_desc, EFL_UI_VIDEO_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/efl_ui_win_legacy_eo.c b/src/lib/elementary/efl_ui_win_legacy_eo.c index 8be8c68..79f3e7e 100644 --- a/src/lib/elementary/efl_ui_win_legacy_eo.c +++ b/src/lib/elementary/efl_ui_win_legacy_eo.c @@ -32,4 +32,4 @@ static const Efl_Class_Description _efl_ui_win_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(efl_ui_win_legacy_class_get, &_efl_ui_win_legacy_class_desc, EFL_UI_WIN_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(efl_ui_win_legacy_class_get, &_efl_ui_win_legacy_class_desc, EFL_UI_WIN_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_actionslider_eo.c b/src/lib/elementary/elm_actionslider_eo.c index 5e47bd4..20cd7aa 100644 --- a/src/lib/elementary/elm_actionslider_eo.c +++ b/src/lib/elementary/elm_actionslider_eo.c @@ -77,6 +77,6 @@ static const Efl_Class_Description _elm_actionslider_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_actionslider_class_get, &_elm_actionslider_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_actionslider_class_get, &_elm_actionslider_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_actionslider_eo.legacy.c" diff --git a/src/lib/elementary/elm_bubble_eo.c b/src/lib/elementary/elm_bubble_eo.c index 24780aa..284bfb9 100644 --- a/src/lib/elementary/elm_bubble_eo.c +++ b/src/lib/elementary/elm_bubble_eo.c @@ -50,6 +50,6 @@ static const Efl_Class_Description _elm_bubble_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_bubble_class_get, &_elm_bubble_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_bubble_class_get, &_elm_bubble_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_bubble_eo.legacy.c" diff --git a/src/lib/elementary/elm_calendar_eo.c b/src/lib/elementary/elm_calendar_eo.c index dac1cc7..d02e26d 100644 --- a/src/lib/elementary/elm_calendar_eo.c +++ b/src/lib/elementary/elm_calendar_eo.c @@ -219,6 +219,6 @@ static const Efl_Class_Description _elm_calendar_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_calendar_class_get, &_elm_calendar_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_calendar_class_get, &_elm_calendar_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_calendar_eo.legacy.c" diff --git a/src/lib/elementary/elm_clock_eo.c b/src/lib/elementary/elm_clock_eo.c index b5bfc9f..a8512e2 100644 --- a/src/lib/elementary/elm_clock_eo.c +++ b/src/lib/elementary/elm_clock_eo.c @@ -244,6 +244,6 @@ static const Efl_Class_Description _elm_clock_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_clock_class_get, &_elm_clock_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_clock_class_get, &_elm_clock_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_clock_eo.legacy.c" diff --git a/src/lib/elementary/elm_code_widget_legacy_eo.c b/src/lib/elementary/elm_code_widget_legacy_eo.c index e16bdd1..e239bf3 100644 --- a/src/lib/elementary/elm_code_widget_legacy_eo.c +++ b/src/lib/elementary/elm_code_widget_legacy_eo.c @@ -24,4 +24,4 @@ static const Efl_Class_Description _elm_code_widget_legacy_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_code_widget_legacy_class_get, &_elm_code_widget_legacy_class_desc, ELM_CODE_WIDGET_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_code_widget_legacy_class_get, &_elm_code_widget_legacy_class_desc, ELM_CODE_WIDGET_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_colorselector_eo.c b/src/lib/elementary/elm_colorselector_eo.c index c7ce07f..7ccbde2 100644 --- a/src/lib/elementary/elm_colorselector_eo.c +++ b/src/lib/elementary/elm_colorselector_eo.c @@ -146,6 +146,6 @@ static const Efl_Class_Description _elm_colorselector_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_colorselector_class_get, &_elm_colorselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_colorselector_class_get, &_elm_colorselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_colorselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_conformant_eo.c b/src/lib/elementary/elm_conformant_eo.c index c49887b..a53482a 100644 --- a/src/lib/elementary/elm_conformant_eo.c +++ b/src/lib/elementary/elm_conformant_eo.c @@ -47,4 +47,4 @@ static const Efl_Class_Description _elm_conformant_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_conformant_class_get, &_elm_conformant_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_conformant_class_get, &_elm_conformant_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_ctxpopup_eo.c b/src/lib/elementary/elm_ctxpopup_eo.c index 140e56a..be8ae43 100644 --- a/src/lib/elementary/elm_ctxpopup_eo.c +++ b/src/lib/elementary/elm_ctxpopup_eo.c @@ -256,6 +256,6 @@ static const Efl_Class_Description _elm_ctxpopup_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_ctxpopup_class_get, &_elm_ctxpopup_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_ctxpopup_class_get, &_elm_ctxpopup_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); #include "elm_ctxpopup_eo.legacy.c" diff --git a/src/lib/elementary/elm_dayselector_eo.c b/src/lib/elementary/elm_dayselector_eo.c index 83b4785..acffe74 100644 --- a/src/lib/elementary/elm_dayselector_eo.c +++ b/src/lib/elementary/elm_dayselector_eo.c @@ -126,6 +126,6 @@ static const Efl_Class_Description _elm_dayselector_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_dayselector_class_get, &_elm_dayselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_dayselector_class_get, &_elm_dayselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_dayselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_entry_eo.c b/src/lib/elementary/elm_entry_eo.c index 4597ca5..e407e5f 100644 --- a/src/lib/elementary/elm_entry_eo.c +++ b/src/lib/elementary/elm_entry_eo.c @@ -1218,6 +1218,6 @@ static const Efl_Class_Description _elm_entry_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_entry_class_get, &_elm_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_TEXT_INTERFACE, EFL_ACCESS_EDITABLE_TEXT_INTERFACE, EFL_FILE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_SCROLLABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_entry_class_get, &_elm_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_TEXT_INTERFACE, EFL_ACCESS_EDITABLE_TEXT_INTERFACE, EFL_FILE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_SCROLLABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_entry_eo.legacy.c" diff --git a/src/lib/elementary/elm_fileselector_button_eo.c b/src/lib/elementary/elm_fileselector_button_eo.c index 7857efe..fb40341 100644 --- a/src/lib/elementary/elm_fileselector_button_eo.c +++ b/src/lib/elementary/elm_fileselector_button_eo.c @@ -146,4 +146,4 @@ static const Efl_Class_Description _elm_fileselector_button_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_fileselector_button_class_get, &_elm_fileselector_button_class_desc, EFL_UI_BUTTON_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_fileselector_button_class_get, &_elm_fileselector_button_class_desc, EFL_UI_BUTTON_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_fileselector_entry_eo.c b/src/lib/elementary/elm_fileselector_entry_eo.c index 3f6e17a..90ee427 100644 --- a/src/lib/elementary/elm_fileselector_entry_eo.c +++ b/src/lib/elementary/elm_fileselector_entry_eo.c @@ -88,4 +88,4 @@ static const Efl_Class_Description _elm_fileselector_entry_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_fileselector_entry_class_get, &_elm_fileselector_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_fileselector_entry_class_get, &_elm_fileselector_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_fileselector_eo.c b/src/lib/elementary/elm_fileselector_eo.c index e6b7d72..eb74bb1 100644 --- a/src/lib/elementary/elm_fileselector_eo.c +++ b/src/lib/elementary/elm_fileselector_eo.c @@ -202,6 +202,6 @@ static const Efl_Class_Description _elm_fileselector_class_desc = { _elm_fileselector_class_destructor }; -EFL_DEFINE_CLASS(elm_fileselector_class_get, &_elm_fileselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_fileselector_class_get, &_elm_fileselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_fileselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_flipselector_eo.c b/src/lib/elementary/elm_flipselector_eo.c index dd3e70b..2d731e1 100644 --- a/src/lib/elementary/elm_flipselector_eo.c +++ b/src/lib/elementary/elm_flipselector_eo.c @@ -161,6 +161,6 @@ static const Efl_Class_Description _elm_flipselector_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_flipselector_class_get, &_elm_flipselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_flipselector_class_get, &_elm_flipselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_flipselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_gengrid_eo.c b/src/lib/elementary/elm_gengrid_eo.c index a5dbc4f..03fda45 100755 --- a/src/lib/elementary/elm_gengrid_eo.c +++ b/src/lib/elementary/elm_gengrid_eo.c @@ -558,6 +558,6 @@ static const Efl_Class_Description _elm_gengrid_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_gengrid_class_get, &_elm_gengrid_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_gengrid_class_get, &_elm_gengrid_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); #include "elm_gengrid_eo.legacy.c" diff --git a/src/lib/elementary/elm_genlist_eo.c b/src/lib/elementary/elm_genlist_eo.c index 41eb49c..585ccbe 100644 --- a/src/lib/elementary/elm_genlist_eo.c +++ b/src/lib/elementary/elm_genlist_eo.c @@ -701,6 +701,6 @@ static const Efl_Class_Description _elm_genlist_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_genlist_class_get, &_elm_genlist_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_genlist_class_get, &_elm_genlist_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); #include "elm_genlist_eo.legacy.c" diff --git a/src/lib/elementary/elm_hover_eo.c b/src/lib/elementary/elm_hover_eo.c index c3e920b..267df8c 100644 --- a/src/lib/elementary/elm_hover_eo.c +++ b/src/lib/elementary/elm_hover_eo.c @@ -108,6 +108,6 @@ static const Efl_Class_Description _elm_hover_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_hover_class_get, &_elm_hover_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_hover_class_get, &_elm_hover_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_hover_eo.legacy.c" diff --git a/src/lib/elementary/elm_hoversel_eo.c b/src/lib/elementary/elm_hoversel_eo.c index 52bb001..676243e 100644 --- a/src/lib/elementary/elm_hoversel_eo.c +++ b/src/lib/elementary/elm_hoversel_eo.c @@ -189,6 +189,6 @@ static const Efl_Class_Description _elm_hoversel_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_hoversel_class_get, &_elm_hoversel_class_desc, EFL_UI_BUTTON_LEGACY_CLASS, EFL_UI_SELECTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_hoversel_class_get, &_elm_hoversel_class_desc, EFL_UI_BUTTON_LEGACY_CLASS, EFL_UI_SELECTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_hoversel_eo.legacy.c" diff --git a/src/lib/elementary/elm_index_eo.c b/src/lib/elementary/elm_index_eo.c index bee9a14..9f7a35a 100644 --- a/src/lib/elementary/elm_index_eo.c +++ b/src/lib/elementary/elm_index_eo.c @@ -346,6 +346,6 @@ static const Efl_Class_Description _elm_index_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_index_class_get, &_elm_index_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_index_class_get, &_elm_index_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_index_eo.legacy.c" diff --git a/src/lib/elementary/elm_inwin_eo.c b/src/lib/elementary/elm_inwin_eo.c index 887f9ee..f8cab67 100644 --- a/src/lib/elementary/elm_inwin_eo.c +++ b/src/lib/elementary/elm_inwin_eo.c @@ -49,6 +49,6 @@ static const Efl_Class_Description _elm_inwin_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_inwin_class_get, &_elm_inwin_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_CONTENT_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_inwin_class_get, &_elm_inwin_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_CONTENT_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_inwin_eo.legacy.c" diff --git a/src/lib/elementary/elm_label_eo.c b/src/lib/elementary/elm_label_eo.c index 0527fb5..9ff71e0 100644 --- a/src/lib/elementary/elm_label_eo.c +++ b/src/lib/elementary/elm_label_eo.c @@ -237,6 +237,6 @@ static const Efl_Class_Description _elm_label_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_label_class_get, &_elm_label_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_label_class_get, &_elm_label_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_label_eo.legacy.c" diff --git a/src/lib/elementary/elm_list_eo.c b/src/lib/elementary/elm_list_eo.c index 2d8e4e4..bcf1d75 100644 --- a/src/lib/elementary/elm_list_eo.c +++ b/src/lib/elementary/elm_list_eo.c @@ -383,6 +383,6 @@ static const Efl_Class_Description _elm_list_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_list_class_get, &_elm_list_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_list_class_get, &_elm_list_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL); #include "elm_list_eo.legacy.c" diff --git a/src/lib/elementary/elm_multibuttonentry_eo.c b/src/lib/elementary/elm_multibuttonentry_eo.c index bb544dd..5d3053b 100644 --- a/src/lib/elementary/elm_multibuttonentry_eo.c +++ b/src/lib/elementary/elm_multibuttonentry_eo.c @@ -243,6 +243,6 @@ static const Efl_Class_Description _elm_multibuttonentry_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_multibuttonentry_class_get, &_elm_multibuttonentry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_multibuttonentry_class_get, &_elm_multibuttonentry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_multibuttonentry_eo.legacy.c" diff --git a/src/lib/elementary/elm_naviframe_eo.c b/src/lib/elementary/elm_naviframe_eo.c index 80a9640..c81f735 100644 --- a/src/lib/elementary/elm_naviframe_eo.c +++ b/src/lib/elementary/elm_naviframe_eo.c @@ -260,6 +260,6 @@ static const Efl_Class_Description _elm_naviframe_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_naviframe_class_get, &_elm_naviframe_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_naviframe_class_get, &_elm_naviframe_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_naviframe_eo.legacy.c" diff --git a/src/lib/elementary/elm_panel_eo.c b/src/lib/elementary/elm_panel_eo.c index 163ddaa..1d582d1 100644 --- a/src/lib/elementary/elm_panel_eo.c +++ b/src/lib/elementary/elm_panel_eo.c @@ -213,6 +213,6 @@ static const Efl_Class_Description _elm_panel_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_panel_class_get, &_elm_panel_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_panel_class_get, &_elm_panel_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_panel_eo.legacy.c" diff --git a/src/lib/elementary/elm_player_eo.c b/src/lib/elementary/elm_player_eo.c index 067926f..faefe3f 100644 --- a/src/lib/elementary/elm_player_eo.c +++ b/src/lib/elementary/elm_player_eo.c @@ -70,4 +70,4 @@ static const Efl_Class_Description _elm_player_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_player_class_get, &_elm_player_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_player_class_get, &_elm_player_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_popup_eo.c b/src/lib/elementary/elm_popup_eo.c index 84c8d13..b57fc9c 100644 --- a/src/lib/elementary/elm_popup_eo.c +++ b/src/lib/elementary/elm_popup_eo.c @@ -274,6 +274,6 @@ static const Efl_Class_Description _elm_popup_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_popup_class_get, &_elm_popup_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_popup_class_get, &_elm_popup_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_popup_eo.legacy.c" diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h index 21fd4d9..478abb5 100644 --- a/src/lib/elementary/elm_priv.h +++ b/src/lib/elementary/elm_priv.h @@ -168,6 +168,7 @@ # include "efl_ui_homogeneous_model.eo.h" # include "efl_ui_exact_model.eo.h" # include "efl_ui_average_model.eo.h" +#include "efl_ui_layout_legacy_eo.h" extern const char *_efl_model_property_itemw; extern const char *_efl_model_property_itemh; diff --git a/src/lib/elementary/elm_route_eo.c b/src/lib/elementary/elm_route_eo.c index 930eacd..48ad6b8 100644 --- a/src/lib/elementary/elm_route_eo.c +++ b/src/lib/elementary/elm_route_eo.c @@ -51,6 +51,6 @@ static const Efl_Class_Description _elm_route_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_route_class_get, &_elm_route_class_desc, EFL_UI_WIDGET_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_route_class_get, &_elm_route_class_desc, EFL_UI_WIDGET_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_route_eo.legacy.c" diff --git a/src/lib/elementary/elm_scroller_eo.c b/src/lib/elementary/elm_scroller_eo.c index 4956a1b..2e4701a 100644 --- a/src/lib/elementary/elm_scroller_eo.c +++ b/src/lib/elementary/elm_scroller_eo.c @@ -169,6 +169,6 @@ static const Efl_Class_Description _elm_scroller_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_scroller_class_get, &_elm_scroller_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_CONTENT_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_scroller_class_get, &_elm_scroller_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_CONTENT_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_scroller_eo.legacy.c" diff --git a/src/lib/elementary/elm_segment_control_eo.c b/src/lib/elementary/elm_segment_control_eo.c index 931b473..59a9cc2 100644 --- a/src/lib/elementary/elm_segment_control_eo.c +++ b/src/lib/elementary/elm_segment_control_eo.c @@ -90,6 +90,6 @@ static const Efl_Class_Description _elm_segment_control_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_segment_control_class_get, &_elm_segment_control_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_segment_control_class_get, &_elm_segment_control_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_segment_control_eo.legacy.c" diff --git a/src/lib/elementary/elm_separator_eo.c b/src/lib/elementary/elm_separator_eo.c index 5dc45a0..182739f 100644 --- a/src/lib/elementary/elm_separator_eo.c +++ b/src/lib/elementary/elm_separator_eo.c @@ -78,6 +78,6 @@ static const Efl_Class_Description _elm_separator_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_separator_class_get, &_elm_separator_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_separator_class_get, &_elm_separator_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_separator_eo.legacy.c" diff --git a/src/lib/elementary/elm_slider_eo.c b/src/lib/elementary/elm_slider_eo.c index cbfb241..9f5ec81 100644 --- a/src/lib/elementary/elm_slider_eo.c +++ b/src/lib/elementary/elm_slider_eo.c @@ -98,4 +98,4 @@ static const Efl_Class_Description _elm_slider_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_slider_class_get, &_elm_slider_class_desc, EFL_UI_SLIDER_INTERVAL_CLASS, EFL_UI_LEGACY_INTERFACE, EFL_TEXT_INTERFACE, EFL_TEXT_MARKUP_INTERFACE, EFL_UI_FORMAT_MIXIN, NULL); +EFL_DEFINE_CLASS(elm_slider_class_get, &_elm_slider_class_desc, EFL_UI_SLIDER_INTERVAL_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, EFL_TEXT_INTERFACE, EFL_TEXT_MARKUP_INTERFACE, EFL_UI_FORMAT_MIXIN, NULL); diff --git a/src/lib/elementary/elm_slideshow_eo.c b/src/lib/elementary/elm_slideshow_eo.c index 8860bf9..ef68acd 100644 --- a/src/lib/elementary/elm_slideshow_eo.c +++ b/src/lib/elementary/elm_slideshow_eo.c @@ -316,6 +316,6 @@ static const Efl_Class_Description _elm_slideshow_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_slideshow_class_get, &_elm_slideshow_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_slideshow_class_get, &_elm_slideshow_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_slideshow_eo.legacy.c" diff --git a/src/lib/elementary/elm_spinner_eo.c b/src/lib/elementary/elm_spinner_eo.c index 4dfa282..2f177bd 100644 --- a/src/lib/elementary/elm_spinner_eo.c +++ b/src/lib/elementary/elm_spinner_eo.c @@ -358,6 +358,6 @@ static const Efl_Class_Description _elm_spinner_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_spinner_class_get, &_elm_spinner_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_VALUE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_spinner_class_get, &_elm_spinner_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_ACCESS_VALUE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); #include "elm_spinner_eo.legacy.c" diff --git a/src/lib/elementary/elm_thumb_eo.c b/src/lib/elementary/elm_thumb_eo.c index d7a4690..c94e123 100644 --- a/src/lib/elementary/elm_thumb_eo.c +++ b/src/lib/elementary/elm_thumb_eo.c @@ -82,4 +82,4 @@ static const Efl_Class_Description _elm_thumb_class_desc = { NULL }; -EFL_DEFINE_CLASS(elm_thumb_class_get, &_elm_thumb_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_FILE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_DRAGGABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); +EFL_DEFINE_CLASS(elm_thumb_class_get, &_elm_thumb_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_FILE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_DRAGGABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_widget_layout.h b/src/lib/elementary/elm_widget_layout.h index a254d77..462f660 100644 --- a/src/lib/elementary/elm_widget_layout.h +++ b/src/lib/elementary/elm_widget_layout.h @@ -48,7 +48,7 @@ /** * Base widget smart data extended with layout instance data. */ -typedef struct _Elm_Layout_Smart_Data +typedef struct _Efl_Ui_Layout_Data { Evas_Object *obj; /**< The object itself */ Eina_List *subs; /**< List of Elm_Layout_Sub_Object_Data structs, to hold the actual sub objects such as text, content and the children of box and table. */ @@ -67,7 +67,6 @@ typedef struct _Elm_Layout_Smart_Data unsigned int finger_size_multiplier_x, finger_size_multiplier_y; /**< multipliers for finger_size during group_calc */ - Eina_Bool needs_size_calc : 1; /**< This flag is set true when the layout sizing eval is already requested. This defers sizing evaluation until smart calculation to avoid unnecessary calculation. */ Eina_Bool restricted_calc_w : 1; /**< This is a flag to support edje restricted_calc in w axis. */ Eina_Bool restricted_calc_h : 1; /**< This is a flag to support edje restricted_calc in y axis. */ Eina_Bool can_access : 1; /**< This is true when all text(including textblock) parts can be accessible by accessibility. */ @@ -79,6 +78,11 @@ typedef struct _Elm_Layout_Smart_Data Eina_Bool calc_subobjs : 1; /**< Set to true if group_calc should also handle subobjs during manual calc */ } Efl_Ui_Layout_Data; +typedef struct _Elm_Layout_Data +{ + Eina_Bool needs_size_calc : 1; /**< This flag is set true when the layout sizing eval is already requested. This defers sizing evaluation until smart calculation to avoid unnecessary calculation. */ +} Elm_Layout_Data; + /** * @} */ -- 2.7.4