diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c index 7081d8c915..4a8067f022 100644 --- a/src/lib/elementary/efl_ui_button.c +++ b/src/lib/elementary/efl_ui_button.c @@ -494,7 +494,7 @@ _part_is_efl_ui_button_legacy_part(const Eo *obj EINA_UNUSED, const char *part) } ELM_PART_OVERRIDE_PARTIAL(efl_ui_button_legacy, EFL_UI_BUTTON_LEGACY, void, _part_is_efl_ui_button_legacy_part) -ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_button_legacy, EFL_UI_BUTTON_LEGACY, void) +ELM_PART_OVERRIDE_CONTENT_SET_NO_SD(efl_ui_button_legacy) #include "efl_ui_button_legacy_part.eo.c" /* Efl.Part end */ diff --git a/src/lib/elementary/efl_ui_check.c b/src/lib/elementary/efl_ui_check.c index bf6e8c2aa8..4b38992e3b 100644 --- a/src/lib/elementary/efl_ui_check.c +++ b/src/lib/elementary/efl_ui_check.c @@ -551,7 +551,7 @@ _part_is_efl_ui_check_legacy_part(const Eo *obj EINA_UNUSED, const char *part) } ELM_PART_OVERRIDE_PARTIAL(efl_ui_check_legacy, EFL_UI_CHECK_LEGACY, void, _part_is_efl_ui_check_legacy_part) -ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_check_legacy, EFL_UI_CHECK_LEGACY, void) +ELM_PART_OVERRIDE_CONTENT_SET_NO_SD(efl_ui_check_legacy) #include "efl_ui_check_legacy_part.eo.c" /* Efl.Part end */ diff --git a/src/lib/elementary/efl_ui_layout_object.c b/src/lib/elementary/efl_ui_layout_object.c index 55ee6247f4..95b3fc5fb9 100644 --- a/src/lib/elementary/efl_ui_layout_object.c +++ b/src/lib/elementary/efl_ui_layout_object.c @@ -2345,16 +2345,27 @@ _efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_get(const Eo *obj, return !_efl_ui_layout_part_cursor_engine_only_get(sd, pd->part); } +#define CONTENT_FULL(part_typename, typename, CLASS, TYPENAME) \ + ELM_PART_OVERRIDE_CONTENT_GET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + ELM_PART_OVERRIDE_CONTENT_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) + + +#define TEXT_FULL(part_typename, typename, CLASS, TYPENAME) \ + ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + + +#define MARKUP_FULL(part_typename, typename, CLASS, TYPENAME) \ + ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ + /* Efl.Ui.Layout.Part_Content */ -ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +CONTENT_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) /* Efl.Ui.Layout.Part_Text */ -ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +TEXT_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +MARKUP_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) EOLIAN static const char * _efl_ui_layout_part_text_efl_ui_translatable_translatable_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain) @@ -2371,13 +2382,9 @@ _efl_ui_layout_part_text_efl_ui_translatable_translatable_text_set(Eo *obj, void } /* Efl.Ui.Layout.Part_Legacy */ -ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) -ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +CONTENT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +TEXT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) +MARKUP_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_OBJECT, Efl_Ui_Layout_Object_Data) EOLIAN static const char * _efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain) diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c index c1a3f1a998..5773a455df 100644 --- a/src/lib/elementary/efl_ui_progressbar.c +++ b/src/lib/elementary/efl_ui_progressbar.c @@ -869,7 +869,7 @@ _part_is_efl_ui_progressbar_legacy_part(const Eo *obj EINA_UNUSED, const char *p } ELM_PART_OVERRIDE_PARTIAL(efl_ui_progressbar_legacy, EFL_UI_PROGRESSBAR_LEGACY, void, _part_is_efl_ui_progressbar_legacy_part) -ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_progressbar_legacy, EFL_UI_PROGRESSBAR_LEGACY, void) +ELM_PART_OVERRIDE_CONTENT_SET_NO_SD(efl_ui_progressbar_legacy) #include "efl_ui_progressbar_legacy_part.eo.c" /* Efl.Part for legacy end */ diff --git a/src/lib/elementary/efl_ui_radio.c b/src/lib/elementary/efl_ui_radio.c index 16ef832d1e..3ed97d2af8 100644 --- a/src/lib/elementary/efl_ui_radio.c +++ b/src/lib/elementary/efl_ui_radio.c @@ -469,7 +469,7 @@ _part_is_efl_ui_radio_legacy_part(const Eo *obj EINA_UNUSED, const char *part) } ELM_PART_OVERRIDE_PARTIAL(efl_ui_radio_legacy, EFL_UI_RADIO_LEGACY, void, _part_is_efl_ui_radio_legacy_part) -ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_radio_legacy, EFL_UI_RADIO_LEGACY, void) +ELM_PART_OVERRIDE_CONTENT_SET_NO_SD(efl_ui_radio_legacy) #include "efl_ui_radio_legacy_part.eo.c" /* Efl.Part end */ diff --git a/src/lib/elementary/elm_part_helper.h b/src/lib/elementary/elm_part_helper.h index 7d5c374ec3..6fe2304d8f 100644 --- a/src/lib/elementary/elm_part_helper.h +++ b/src/lib/elementary/elm_part_helper.h @@ -88,89 +88,112 @@ _ ## type ## _efl_part_part_get(const Eo *obj, typedata *priv EINA_UNUSED, const return ELM_PART_IMPLEMENT(TYPE ## _PART_CLASS, obj, part); \ } -#define ELM_PART_OVERRIDE_CONTENT_SET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata) \ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ + typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); + +#define ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD() \ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ + void *sd = NULL; + +#define ELM_PART_OVERRIDE_CONTENT_SET_FULL(full, type, internals) \ EOLIAN static Eina_Bool \ _ ## full ## _efl_content_content_set(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity *content) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ return _ ## type ## _content_set(pd->obj, sd, pd->part, content); \ } -#define ELM_PART_OVERRIDE_CONTENT_GET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_CONTENT_GET_FULL(full, type, internals) \ EOLIAN static Efl_Gfx_Entity * \ _ ## full ## _efl_content_content_get(const Eo *obj, void *_pd EINA_UNUSED) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ return _ ## type ## _content_get(pd->obj, sd, pd->part); \ } -#define ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(full, type, internals) \ EOLIAN static Efl_Gfx_Entity * \ _ ## full ## _efl_content_content_unset(Eo *obj, void *_pd EINA_UNUSED) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ return _ ## type ## _content_unset(pd->obj, sd, pd->part); \ } -#define ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(full, type, internals) \ EOLIAN static void \ _ ## full ## _efl_text_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ _ ## type ## _text_set(pd->obj, sd, pd->part, text); \ } -#define ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(full, type, internals) \ EOLIAN static const char *\ _ ## full ## _efl_text_text_get(const Eo *obj, void *_pd EINA_UNUSED) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ return _ ## type ## _text_get(pd->obj, sd, pd->part); \ } -#define ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(full, type, internals) \ EOLIAN static const char *\ _ ## full ## _efl_text_markup_markup_get(const Eo *obj, void *_pd EINA_UNUSED) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ return _ ## type ## _text_markup_get(pd->obj, sd, pd->part); \ } -#define ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(full, type, TYPE, typedata) \ +#define ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(full, type, internals) \ EOLIAN static void \ _ ## full ## _efl_text_markup_markup_set(Eo *obj, void *_pd EINA_UNUSED, const char *markup) \ { \ - Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); \ - typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \ + internals \ _ ## type ## _text_markup_set(pd->obj, sd, pd->part, markup); \ } #define ELM_PART_OVERRIDE_CONTENT_SET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_CONTENT_SET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_CONTENT_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_CONTENT_GET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_CONTENT_GET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_CONTENT_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_CONTENT_UNSET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_TEXT_SET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_TEXT_GET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_MARKUP_SET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) #define ELM_PART_OVERRIDE_MARKUP_GET(type, TYPE, typedata) \ - ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(type ## _part, type, TYPE, typedata) + ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH(TYPE, typedata)) + +#define ELM_PART_OVERRIDE_CONTENT_SET_NO_SD(type) \ + ELM_PART_OVERRIDE_CONTENT_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_CONTENT_GET_NO_SD(type) \ + ELM_PART_OVERRIDE_CONTENT_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_CONTENT_UNSET_NO_SD(type) \ + ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_TEXT_SET_NO_SD(type) \ + ELM_PART_OVERRIDE_TEXT_TEXT_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_TEXT_GET_NO_SD(type) \ + ELM_PART_OVERRIDE_TEXT_TEXT_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_MARKUP_SET_NO_SD(type) \ + ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + +#define ELM_PART_OVERRIDE_MARKUP_GET_NO_SD(type) \ + ELM_PART_OVERRIDE_TEXT_MARKUP_GET_FULL(type ## _part, type, ELM_PART_OVERRIDE_INTERNALS_FETCH_NO_SD()) + #define ELM_PART_TEXT_DEFAULT_IMPLEMENT(type, typedata) \ EOLIAN static void \