From dd0890a0d712a74c9d4b846157c1f0e90d0b86c1 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 5 Mar 2019 17:00:37 -0500 Subject: [PATCH] efl_layout_group: remove all legacy usage from eo files this takes the current generated output from eolian for legacy code in evas and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D8128 --- src/Makefile_Edje.am | 6 ++- src/lib/edje/Edje_Legacy.h | 2 +- src/lib/edje/edje_smart.c | 1 + src/lib/edje/efl_layout_group.eo | 1 - src/lib/edje/efl_layout_group_eo.legacy.c | 6 +++ src/lib/edje/efl_layout_group_eo.legacy.h | 48 +++++++++++++++++++++++ src/lib/edje/meson.build | 3 +- 7 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 src/lib/edje/efl_layout_group_eo.legacy.c create mode 100644 src/lib/edje/efl_layout_group_eo.legacy.h diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index ae9e952881..2a67baa7b5 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -66,7 +66,11 @@ lib/edje/Edje.h \ lib/edje/Edje_Common.h \ lib/edje/Edje_Eo.h \ lib/edje/Edje_Legacy.h \ -lib/edje/Edje_Edit.h +lib/edje/Edje_Edit.h \ +lib/edje/efl_layout_group_eo.legacy.h + +EXTRA_DIST2 += \ +lib/edje/efl_layout_group_eo.legacy.c nodist_installed_edjemainheaders_DATA = \ $(edje_eolian_h) \ diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h index 447118c529..03177ea110 100644 --- a/src/lib/edje/Edje_Legacy.h +++ b/src/lib/edje/Edje_Legacy.h @@ -3176,4 +3176,4 @@ typedef Efl_Canvas_Layout_Part_Type Edje_Part_Type; */ #include "efl_canvas_layout.eo.legacy.h" #include "edje_edit.eo.legacy.h" -#include "efl_layout_group.eo.legacy.h" +#include "efl_layout_group_eo.legacy.h" diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c index 00581ae2bf..dd5fd44053 100644 --- a/src/lib/edje/edje_smart.c +++ b/src/lib/edje/edje_smart.c @@ -591,3 +591,4 @@ _efl_canvas_layout_efl_player_play_speed_get(const Eo *obj EINA_UNUSED, Edje *pd #include "efl_layout_calc.eo.c" #include "efl_layout_signal.eo.c" #include "efl_layout_group.eo.c" +#include "efl_layout_group_eo.legacy.c" diff --git a/src/lib/edje/efl_layout_group.eo b/src/lib/edje/efl_layout_group.eo index 5d4d56afcd..2f9aa95f04 100644 --- a/src/lib/edje/efl_layout_group.eo +++ b/src/lib/edje/efl_layout_group.eo @@ -89,7 +89,6 @@ interface @beta Efl.Layout.Group Warning: Do not confuse this call with edje_file_data_get(), which queries for a global EDC data field on an EDC declaration file. ]] - legacy: edje_object_data_get; } keys { key: string; [[The data field's key string]] diff --git a/src/lib/edje/efl_layout_group_eo.legacy.c b/src/lib/edje/efl_layout_group_eo.legacy.c new file mode 100644 index 0000000000..c68fa2f540 --- /dev/null +++ b/src/lib/edje/efl_layout_group_eo.legacy.c @@ -0,0 +1,6 @@ + +EAPI const char * +edje_object_data_get(const Efl_Layout_Group *obj, const char *key) +{ + return efl_layout_group_data_get(obj, key); +} diff --git a/src/lib/edje/efl_layout_group_eo.legacy.h b/src/lib/edje/efl_layout_group_eo.legacy.h new file mode 100644 index 0000000000..2dc80c5af8 --- /dev/null +++ b/src/lib/edje/efl_layout_group_eo.legacy.h @@ -0,0 +1,48 @@ +#ifndef _EFL_LAYOUT_GROUP_EO_LEGACY_H_ +#define _EFL_LAYOUT_GROUP_EO_LEGACY_H_ + +#ifndef _EFL_LAYOUT_GROUP_EO_CLASS_TYPE +#define _EFL_LAYOUT_GROUP_EO_CLASS_TYPE + +typedef Eo Efl_Layout_Group; + +#endif + +#ifndef _EFL_LAYOUT_GROUP_EO_TYPES +#define _EFL_LAYOUT_GROUP_EO_TYPES + + +#endif + + + +/** + * @brief Retrives an EDC data field's value from a given Edje object's group. + * + * This function fetches an EDC data field's value, which is declared on the + * objects building EDC file, under its group. EDC data blocks are most + * commonly used to pass arbitrary parameters from an application's theme to + * its code. + * + * EDC data fields always hold strings as values, hence the return type of + * this function. Check the complete "syntax reference" for EDC files. + * + * This is how a data item is defined in EDC: collections { group { name: + * "a_group"; data { item: "key1" "value1"; item: "key2" "value2"; } } } + * + * @warning Do not confuse this call with edje_file_data_get(), which queries + * for a global EDC data field on an EDC declaration file. + * + * @param[in] obj The object. + * @param[in] key The data field's key string + * + * @return The data's value string. + * + * @since 1.21 + * + * @ingroup (null)_Group + */ +EAPI const char *edje_object_data_get(const Efl_Layout_Group *obj, const char *key); + + +#endif diff --git a/src/lib/edje/meson.build b/src/lib/edje/meson.build index 2c3d7717fe..21f0850f27 100644 --- a/src/lib/edje/meson.build +++ b/src/lib/edje/meson.build @@ -104,7 +104,8 @@ edje_header_src = [ 'Edje_Common.h', 'Edje_Eo.h', 'Edje_Legacy.h', - 'Edje_Edit.h' + 'Edje_Edit.h', + 'efl_layout_group_eo.legacy.h', ] edje_src = [