summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-02-27 13:17:16 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-02-27 13:17:16 -0500
commit335936e79d9473b72b6afe2902565b9e25701209 (patch)
tree1d0bc6cf8f6a7cf45284d2d27385366e339f9db6
parent6326e18b3fb2a4757f8ffa22be5d55a75da23049 (diff)
efl.ui.layout: split into abstract and real class
Summary: most widgets inherit from layout to provide implementations for common functionality such as content/text/theme get+set. one of the things that layout also brings into its inheritance hierarchy is efl.file and implementations for its methods. this becomes a problem when the widget which inherits layout also wants to provide implementations for efl.file methods (e.g., entry, which uses efl.file to load text files) as it will result in calling all of the efl.file implementations up the chain. in the case of entry, this could result in the 'file' property eventually being set to the current theme file in use by the entry's layout object, and then the entry will attempt to autosave its content to the default theme file when it is destroyed, corrupting the theme file and breaking everything to solve this: * efl.ui.layout remains an instantiable class which implements efl.file * efl.ui.layout_base is the abstract class which provides all the methods of layout but should be inherited by all widgets which want to implement efl.file functionality Depends on D8018 Reviewers: bu5hm4n, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl_api Differential Revision: https://phab.enlightenment.org/D8032
-rw-r--r--src/Makefile_Elementary.am1
-rw-r--r--src/lib/elementary/Efl_Ui.h1
-rw-r--r--src/lib/elementary/efl_ui_bg.eo2
-rw-r--r--src/lib/elementary/efl_ui_layout.c118
-rw-r--r--src/lib/elementary/efl_ui_layout.eo78
-rw-r--r--src/lib/elementary/efl_ui_layout_base.eo85
-rw-r--r--src/lib/elementary/efl_ui_layout_pack.c4
-rw-r--r--src/lib/elementary/efl_ui_navigation_layout.c2
-rw-r--r--src/lib/elementary/efl_ui_text.eo2
-rw-r--r--src/lib/elementary/efl_ui_video.eo2
-rw-r--r--src/lib/elementary/efl_ui_widget.c16
-rw-r--r--src/lib/elementary/elm_entry.eo2
-rw-r--r--src/lib/elementary/elm_genlist.c2
-rw-r--r--src/lib/elementary/elm_layout.h1
-rw-r--r--src/lib/elementary/elm_main.c4
-rw-r--r--src/lib/elementary/elm_thumb.eo2
-rw-r--r--src/lib/elementary/elm_widget_layout.h4
-rw-r--r--src/lib/elementary/meson.build1
18 files changed, 172 insertions, 155 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index b6f8d17129..43a3d64edb 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -14,6 +14,7 @@ elm_public_eolian_files = \
14 lib/elementary/efl_ui_image.eo \ 14 lib/elementary/efl_ui_image.eo \
15 lib/elementary/efl_ui_image_zoomable.eo \ 15 lib/elementary/efl_ui_image_zoomable.eo \
16 lib/elementary/efl_ui_layout.eo \ 16 lib/elementary/efl_ui_layout.eo \
17 lib/elementary/efl_ui_layout_base.eo \
17 lib/elementary/efl_ui_nstate.eo \ 18 lib/elementary/efl_ui_nstate.eo \
18 lib/elementary/efl_ui_navigation_bar.eo \ 19 lib/elementary/efl_ui_navigation_bar.eo \
19 lib/elementary/efl_ui_navigation_bar_part.eo \ 20 lib/elementary/efl_ui_navigation_bar_part.eo \
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h
index 515ee48c06..33cc92efcb 100644
--- a/src/lib/elementary/Efl_Ui.h
+++ b/src/lib/elementary/Efl_Ui.h
@@ -171,6 +171,7 @@ EAPI void efl_ui_focus_relation_free(Efl_Ui_Focus_Relations *rel);
171# include <efl_ui_theme.eo.h> 171# include <efl_ui_theme.eo.h>
172# include <efl_config_global.eo.h> 172# include <efl_config_global.eo.h>
173# include <efl_ui_widget_part.eo.h> 173# include <efl_ui_widget_part.eo.h>
174# include <efl_ui_layout_base.eo.h>
174# include <efl_ui_layout.eo.h> 175# include <efl_ui_layout.eo.h>
175# include <efl_ui_layout_part.eo.h> 176# include <efl_ui_layout_part.eo.h>
176# include <efl_ui_layout_part_box.eo.h> 177# include <efl_ui_layout_part_box.eo.h>
diff --git a/src/lib/elementary/efl_ui_bg.eo b/src/lib/elementary/efl_ui_bg.eo
index 6809b7f418..0094f8c951 100644
--- a/src/lib/elementary/efl_ui_bg.eo
+++ b/src/lib/elementary/efl_ui_bg.eo
@@ -1,4 +1,4 @@
1class @beta Efl.Ui.Bg extends Efl.Ui.Layout implements Efl.Gfx.Color, Efl.Gfx.Image, Efl.Gfx.Image_Load_Controller 1class @beta Efl.Ui.Bg extends Efl.Ui.Layout_Base implements Efl.File, Efl.Gfx.Color, Efl.Gfx.Image, Efl.Gfx.Image_Load_Controller
2{ 2{
3 [[The bg (background) widget is used for setting (solid) background decorations 3 [[The bg (background) widget is used for setting (solid) background decorations
4 for a window (unless it has transparency enabled) or for any container object. It 4 for a window (unless it has transparency enabled) or for any container object. It
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index 14520e53ff..ce0ccec79b 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -15,7 +15,7 @@
15#include "elm_part_helper.h" 15#include "elm_part_helper.h"
16#include "elm_entry.eo.h" 16#include "elm_entry.eo.h"
17 17
18#define MY_CLASS EFL_UI_LAYOUT_CLASS 18#define MY_CLASS EFL_UI_LAYOUT_BASE_CLASS
19#define MY_CLASS_PFX efl_ui_layout 19#define MY_CLASS_PFX efl_ui_layout
20 20
21#define MY_CLASS_NAME "Efl.Ui.Layout" 21#define MY_CLASS_NAME "Efl.Ui.Layout"
@@ -133,7 +133,7 @@ struct _Efl_Ui_Layout_Sub_Object_Cursor
133#define MY_CLASS_NAME_LEGACY "elm_layout" 133#define MY_CLASS_NAME_LEGACY "elm_layout"
134 134
135static void 135static void
136_efl_ui_layout_class_constructor(Efl_Class *klass) 136_efl_ui_layout_base_class_constructor(Efl_Class *klass)
137{ 137{
138 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 138 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
139} 139}
@@ -423,7 +423,7 @@ _visuals_refresh(Evas_Object *obj,
423} 423}
424 424
425EOLIAN static Eina_Bool 425EOLIAN static Eina_Bool
426_efl_ui_layout_efl_ui_widget_on_disabled_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Eina_Bool disabled) 426_efl_ui_layout_base_efl_ui_widget_on_disabled_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Eina_Bool disabled)
427{ 427{
428 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 428 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
429 429
@@ -478,7 +478,7 @@ _efl_ui_layout_theme_internal(Eo *obj, Efl_Ui_Layout_Data *sd)
478} 478}
479 479
480EOLIAN static Efl_Ui_Theme_Apply_Result 480EOLIAN static Efl_Ui_Theme_Apply_Result
481_efl_ui_layout_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Layout_Data *sd) 481_efl_ui_layout_base_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Layout_Data *sd)
482{ 482{
483 Efl_Ui_Theme_Apply_Result theme_apply_ret = EFL_UI_THEME_APPLY_RESULT_FAIL; 483 Efl_Ui_Theme_Apply_Result theme_apply_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
484 484
@@ -490,7 +490,7 @@ _efl_ui_layout_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Layout_Data *sd)
490} 490}
491 491
492EOLIAN static Eina_Bool 492EOLIAN static Eina_Bool
493_efl_ui_layout_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED) 493_efl_ui_layout_base_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED)
494{ 494{
495 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 495 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
496 496
@@ -522,7 +522,7 @@ _efl_ui_layout_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Layout_Data *
522} 522}
523 523
524EOLIAN static Eina_Bool 524EOLIAN static Eina_Bool
525_efl_ui_layout_efl_ui_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Evas_Object *sobj) 525_efl_ui_layout_base_efl_ui_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Evas_Object *sobj)
526{ 526{
527 Eina_Bool int_ret = EINA_FALSE; 527 Eina_Bool int_ret = EINA_FALSE;
528 528
@@ -539,7 +539,7 @@ _efl_ui_layout_efl_ui_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *
539} 539}
540 540
541EOLIAN static Eina_Bool 541EOLIAN static Eina_Bool
542_efl_ui_layout_efl_ui_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Layout_Data *sd, Evas_Object *sobj) 542_efl_ui_layout_base_efl_ui_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Layout_Data *sd, Evas_Object *sobj)
543{ 543{
544 Eina_List *l; 544 Eina_List *l;
545 Efl_Ui_Layout_Sub_Object_Data *sub_d; 545 Efl_Ui_Layout_Sub_Object_Data *sub_d;
@@ -732,7 +732,7 @@ _on_size_evaluate_signal(void *data,
732} 732}
733 733
734EOLIAN static void 734EOLIAN static void
735_efl_ui_layout_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED) 735_efl_ui_layout_base_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED)
736{ 736{
737 Evas_Object *edje; 737 Evas_Object *edje;
738 738
@@ -757,7 +757,7 @@ _efl_ui_layout_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_
757} 757}
758 758
759EOLIAN static void 759EOLIAN static void
760_efl_ui_layout_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Layout_Data *sd) 760_efl_ui_layout_base_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Layout_Data *sd)
761{ 761{
762 Efl_Ui_Layout_Sub_Object_Data *sub_d; 762 Efl_Ui_Layout_Sub_Object_Data *sub_d;
763 Efl_Ui_Layout_Sub_Object_Cursor *pc; 763 Efl_Ui_Layout_Sub_Object_Cursor *pc;
@@ -823,7 +823,7 @@ _efl_ui_layout_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Layout_Data *sd)
823/* rewrite or extend this one on your derived class as to suit your 823/* rewrite or extend this one on your derived class as to suit your
824 * needs */ 824 * needs */
825EOLIAN static void 825EOLIAN static void
826_efl_ui_layout_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Layout_Data *sd) 826_efl_ui_layout_base_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Layout_Data *sd)
827{ 827{
828 if (sd->needs_size_calc) 828 if (sd->needs_size_calc)
829 { 829 {
@@ -852,9 +852,10 @@ _parts_cursors_find(Efl_Ui_Layout_Data *sd,
852 * widget inheriting from elm_layout */ 852 * widget inheriting from elm_layout */
853 853
854EOLIAN static Eina_Error 854EOLIAN static Eina_Error
855_efl_ui_layout_efl_file_load(Eo *obj, Efl_Ui_Layout_Data *sd) 855_efl_ui_layout_efl_file_load(Eo *obj, void *_pd EINA_UNUSED)
856{ 856{
857 Eina_Error err; 857 Eina_Error err;
858 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
858 859
859 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 860 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
860 861
@@ -876,49 +877,49 @@ _efl_ui_layout_efl_file_load(Eo *obj, Efl_Ui_Layout_Data *sd)
876} 877}
877 878
878EOLIAN static Eina_Error 879EOLIAN static Eina_Error
879_efl_ui_layout_efl_file_file_set(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *file) 880_efl_ui_layout_efl_file_file_set(Eo *obj, void *_pd EINA_UNUSED, const char *file)
880{ 881{
881 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_GFX_IMAGE_LOAD_ERROR_GENERIC); 882 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_GFX_IMAGE_LOAD_ERROR_GENERIC);
882 return efl_file_set(wd->resize_obj, file); 883 return efl_file_set(wd->resize_obj, file);
883} 884}
884 885
885EOLIAN static const char * 886EOLIAN static const char *
886_efl_ui_layout_efl_file_file_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED) 887_efl_ui_layout_efl_file_file_get(const Eo *obj, void *_pd EINA_UNUSED)
887{ 888{
888 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 889 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
889 return efl_file_get(wd->resize_obj); 890 return efl_file_get(wd->resize_obj);
890} 891}
891 892
892EOLIAN static void 893EOLIAN static void
893_efl_ui_layout_efl_file_key_set(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *key) 894_efl_ui_layout_efl_file_key_set(Eo *obj, void *_pd EINA_UNUSED, const char *key)
894{ 895{
895 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 896 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
896 return efl_file_key_set(wd->resize_obj, key); 897 return efl_file_key_set(wd->resize_obj, key);
897} 898}
898 899
899EOLIAN static const char * 900EOLIAN static const char *
900_efl_ui_layout_efl_file_key_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED) 901_efl_ui_layout_efl_file_key_get(const Eo *obj, void *_pd EINA_UNUSED)
901{ 902{
902 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 903 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
903 return efl_file_key_get(wd->resize_obj); 904 return efl_file_key_get(wd->resize_obj);
904} 905}
905 906
906EOLIAN static Eina_Error 907EOLIAN static Eina_Error
907_efl_ui_layout_efl_file_mmap_set(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const Eina_File *file) 908_efl_ui_layout_efl_file_mmap_set(Eo *obj, void *_pd EINA_UNUSED, const Eina_File *file)
908{ 909{
909 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 910 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
910 return efl_file_mmap_set(wd->resize_obj, file); 911 return efl_file_mmap_set(wd->resize_obj, file);
911} 912}
912 913
913EOLIAN static const Eina_File * 914EOLIAN static const Eina_File *
914_efl_ui_layout_efl_file_mmap_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED) 915_efl_ui_layout_efl_file_mmap_get(const Eo *obj, void *_pd EINA_UNUSED)
915{ 916{
916 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 917 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
917 return efl_file_mmap_get(wd->resize_obj); 918 return efl_file_mmap_get(wd->resize_obj);
918} 919}
919 920
920EOLIAN static Efl_Ui_Theme_Apply_Result 921EOLIAN static Efl_Ui_Theme_Apply_Result
921_efl_ui_layout_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *klass, const char *group, const char *style) 922_efl_ui_layout_base_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *klass, const char *group, const char *style)
922{ 923{
923 Eina_Bool changed = EINA_FALSE; 924 Eina_Bool changed = EINA_FALSE;
924 925
@@ -940,7 +941,7 @@ _efl_ui_layout_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *klass, con
940} 941}
941 942
942EOLIAN static void 943EOLIAN static void
943_efl_ui_layout_efl_layout_signal_signal_emit(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *emission, const char *source) 944_efl_ui_layout_base_efl_layout_signal_signal_emit(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *emission, const char *source)
944{ 945{
945 // Don't do anything else than call forward here 946 // Don't do anything else than call forward here
946 EINA_SAFETY_ON_TRUE_RETURN(efl_invalidated_get(obj)); 947 EINA_SAFETY_ON_TRUE_RETURN(efl_invalidated_get(obj));
@@ -949,7 +950,7 @@ _efl_ui_layout_efl_layout_signal_signal_emit(Eo *obj, Efl_Ui_Layout_Data *_pd EI
949} 950}
950 951
951static Eina_Bool 952static Eina_Bool
952_efl_ui_layout_efl_layout_signal_signal_callback_add(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb) 953_efl_ui_layout_base_efl_layout_signal_signal_callback_add(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb)
953{ 954{
954 // Don't do anything else than call forward here 955 // Don't do anything else than call forward here
955 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 956 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
@@ -957,7 +958,7 @@ _efl_ui_layout_efl_layout_signal_signal_callback_add(Eo *obj, Efl_Ui_Layout_Data
957} 958}
958 959
959static Eina_Bool 960static Eina_Bool
960_efl_ui_layout_efl_layout_signal_signal_callback_del(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb) 961_efl_ui_layout_base_efl_layout_signal_signal_callback_del(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, const char *emission, const char *source, void *func_data, EflLayoutSignalCb func, Eina_Free_Cb func_free_cb)
961{ 962{
962 // Don't do anything else than call forward here 963 // Don't do anything else than call forward here
963 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 964 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
@@ -1151,7 +1152,7 @@ _efl_ui_layout_content_unset(Eo *obj, Efl_Ui_Layout_Data *sd, const char *part)
1151} 1152}
1152 1153
1153EOLIAN static Eina_Bool 1154EOLIAN static Eina_Bool
1154_efl_ui_layout_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, 1155_efl_ui_layout_base_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
1155 Efl_Gfx_Entity *content) 1156 Efl_Gfx_Entity *content)
1156{ 1157{
1157 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 1158 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
@@ -1232,13 +1233,13 @@ _sub_iterator_create(Eo *eo_obj, Efl_Ui_Layout_Data *sd)
1232} 1233}
1233 1234
1234EOLIAN static Eina_Iterator * 1235EOLIAN static Eina_Iterator *
1235_efl_ui_layout_efl_container_content_iterate(Eo *eo_obj EINA_UNUSED, Efl_Ui_Layout_Data *sd) 1236_efl_ui_layout_base_efl_container_content_iterate(Eo *eo_obj EINA_UNUSED, Efl_Ui_Layout_Data *sd)
1236{ 1237{
1237 return _sub_iterator_create(eo_obj, sd); 1238 return _sub_iterator_create(eo_obj, sd);
1238} 1239}
1239 1240
1240EOLIAN static int 1241EOLIAN static int
1241_efl_ui_layout_efl_container_content_count(Eo *eo_obj EINA_UNUSED, Efl_Ui_Layout_Data *sd) 1242_efl_ui_layout_base_efl_container_content_count(Eo *eo_obj EINA_UNUSED, Efl_Ui_Layout_Data *sd)
1242{ 1243{
1243 return eina_list_count(sd->subs); 1244 return eina_list_count(sd->subs);
1244} 1245}
@@ -1678,7 +1679,7 @@ elm_layout_edje_get(const Eo *obj)
1678} 1679}
1679 1680
1680EOLIAN static const char * 1681EOLIAN static const char *
1681_efl_ui_layout_efl_layout_group_group_data_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *key) 1682_efl_ui_layout_base_efl_layout_group_group_data_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *key)
1682{ 1683{
1683 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 1684 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
1684 1685
@@ -1686,7 +1687,7 @@ _efl_ui_layout_efl_layout_group_group_data_get(const Eo *obj, Efl_Ui_Layout_Data
1686} 1687}
1687 1688
1688EOLIAN static Eina_Size2D 1689EOLIAN static Eina_Size2D
1689_efl_ui_layout_efl_layout_group_group_size_min_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED) 1690_efl_ui_layout_base_efl_layout_group_group_size_min_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED)
1690{ 1691{
1691 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_SIZE2D(0, 0)); 1692 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_SIZE2D(0, 0));
1692 1693
@@ -1694,7 +1695,7 @@ _efl_ui_layout_efl_layout_group_group_size_min_get(const Eo *obj, Efl_Ui_Layout_
1694} 1695}
1695 1696
1696EOLIAN static Eina_Size2D 1697EOLIAN static Eina_Size2D
1697_efl_ui_layout_efl_layout_group_group_size_max_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED) 1698_efl_ui_layout_base_efl_layout_group_group_size_max_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED)
1698{ 1699{
1699 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_SIZE2D(0, 0)); 1700 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_SIZE2D(0, 0));
1700 1701
@@ -1702,7 +1703,7 @@ _efl_ui_layout_efl_layout_group_group_size_max_get(const Eo *obj, Efl_Ui_Layout_
1702} 1703}
1703 1704
1704EOLIAN static Eina_Bool 1705EOLIAN static Eina_Bool
1705_efl_ui_layout_efl_layout_group_part_exist_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *part) 1706_efl_ui_layout_base_efl_layout_group_part_exist_get(const Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, const char *part)
1706{ 1707{
1707 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 1708 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
1708 1709
@@ -1737,7 +1738,7 @@ elm_layout_sizing_restricted_eval(Eo *obj, Eina_Bool w, Eina_Bool h)
1737} 1738}
1738 1739
1739EOLIAN static int 1740EOLIAN static int
1740_efl_ui_layout_efl_layout_calc_calc_freeze(Eo *obj, Efl_Ui_Layout_Data *sd) 1741_efl_ui_layout_base_efl_layout_calc_calc_freeze(Eo *obj, Efl_Ui_Layout_Data *sd)
1741{ 1742{
1742 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0); 1743 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0);
1743 1744
@@ -1749,7 +1750,7 @@ _efl_ui_layout_efl_layout_calc_calc_freeze(Eo *obj, Efl_Ui_Layout_Data *sd)
1749} 1750}
1750 1751
1751EOLIAN static int 1752EOLIAN static int
1752_efl_ui_layout_efl_layout_calc_calc_thaw(Eo *obj, Efl_Ui_Layout_Data *sd) 1753_efl_ui_layout_base_efl_layout_calc_calc_thaw(Eo *obj, Efl_Ui_Layout_Data *sd)
1753{ 1754{
1754 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0); 1755 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0);
1755 1756
@@ -1763,35 +1764,35 @@ _efl_ui_layout_efl_layout_calc_calc_thaw(Eo *obj, Efl_Ui_Layout_Data *sd)
1763} 1764}
1764 1765
1765EOLIAN void 1766EOLIAN void
1766_efl_ui_layout_efl_layout_calc_calc_auto_update_hints_set(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED, Eina_Bool update) 1767_efl_ui_layout_base_efl_layout_calc_calc_auto_update_hints_set(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED, Eina_Bool update)
1767{ 1768{
1768 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 1769 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
1769 efl_layout_calc_auto_update_hints_set(wd->resize_obj, update); 1770 efl_layout_calc_auto_update_hints_set(wd->resize_obj, update);
1770} 1771}
1771 1772
1772EOLIAN Eina_Bool 1773EOLIAN Eina_Bool
1773_efl_ui_layout_efl_layout_calc_calc_auto_update_hints_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED) 1774_efl_ui_layout_base_efl_layout_calc_calc_auto_update_hints_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED)
1774{ 1775{
1775 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 1776 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
1776 return efl_layout_calc_auto_update_hints_get(wd->resize_obj); 1777 return efl_layout_calc_auto_update_hints_get(wd->resize_obj);
1777} 1778}
1778 1779
1779EOLIAN Eina_Size2D 1780EOLIAN Eina_Size2D
1780_efl_ui_layout_efl_layout_calc_calc_size_min(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED, Eina_Size2D restricted) 1781_efl_ui_layout_base_efl_layout_calc_calc_size_min(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED, Eina_Size2D restricted)
1781{ 1782{
1782 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, restricted); 1783 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, restricted);
1783 return efl_layout_calc_size_min(wd->resize_obj, restricted); 1784 return efl_layout_calc_size_min(wd->resize_obj, restricted);
1784} 1785}
1785 1786
1786EOLIAN Eina_Rect 1787EOLIAN Eina_Rect
1787_efl_ui_layout_efl_layout_calc_calc_parts_extends(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED) 1788_efl_ui_layout_base_efl_layout_calc_calc_parts_extends(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED)
1788{ 1789{
1789 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, (Eina_Rect){.rect = {0, 0, 0, 0}}); 1790 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, (Eina_Rect){.rect = {0, 0, 0, 0}});
1790 return efl_layout_calc_parts_extends(wd->resize_obj); 1791 return efl_layout_calc_parts_extends(wd->resize_obj);
1791} 1792}
1792 1793
1793EOLIAN void 1794EOLIAN void
1794_efl_ui_layout_efl_layout_calc_calc_force(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED) 1795_efl_ui_layout_base_efl_layout_calc_calc_force(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *sd EINA_UNUSED)
1795{ 1796{
1796 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 1797 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
1797 efl_layout_calc_force(wd->resize_obj); 1798 efl_layout_calc_force(wd->resize_obj);
@@ -1962,7 +1963,7 @@ elm_layout_edje_object_can_access_get(const Eo *obj)
1962} 1963}
1963 1964
1964EOLIAN static void 1965EOLIAN static void
1965_efl_ui_layout_efl_object_dbg_info_get(Eo *eo_obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Efl_Dbg_Info *root) 1966_efl_ui_layout_base_efl_object_dbg_info_get(Eo *eo_obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Efl_Dbg_Info *root)
1966{ 1967{
1967 efl_dbg_info_get(efl_super(eo_obj, MY_CLASS), root); 1968 efl_dbg_info_get(efl_super(eo_obj, MY_CLASS), root);
1968 ELM_WIDGET_DATA_GET_OR_RETURN(eo_obj, wd); 1969 ELM_WIDGET_DATA_GET_OR_RETURN(eo_obj, wd);
@@ -2223,7 +2224,7 @@ _efl_ui_layout_connect_hash(Efl_Ui_Layout_Data *pd)
2223} 2224}
2224 2225
2225EOLIAN static void 2226EOLIAN static void
2226_efl_ui_layout_efl_ui_view_model_set(Eo *obj, Efl_Ui_Layout_Data *pd, Efl_Model *model) 2227_efl_ui_layout_base_efl_ui_view_model_set(Eo *obj, Efl_Ui_Layout_Data *pd, Efl_Model *model)
2227{ 2228{
2228 Eina_Stringshare *key; 2229 Eina_Stringshare *key;
2229 Eina_Hash_Tuple *tuple; 2230 Eina_Hash_Tuple *tuple;
@@ -2276,13 +2277,13 @@ _efl_ui_layout_efl_ui_view_model_set(Eo *obj, Efl_Ui_Layout_Data *pd, Efl_Model
2276} 2277}
2277 2278
2278EOLIAN static Efl_Model * 2279EOLIAN static Efl_Model *
2279_efl_ui_layout_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd) 2280_efl_ui_layout_base_efl_ui_view_model_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd)
2280{ 2281{
2281 return pd->connect.model; 2282 return pd->connect.model;
2282} 2283}
2283 2284
2284EOLIAN static void 2285EOLIAN static void
2285_efl_ui_layout_efl_ui_property_bind_property_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd, const char *key, const char *property) 2286_efl_ui_layout_base_efl_ui_property_bind_property_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd, const char *key, const char *property)
2286{ 2287{
2287 EINA_SAFETY_ON_NULL_RETURN(key); 2288 EINA_SAFETY_ON_NULL_RETURN(key);
2288 Eina_Stringshare *sprop; 2289 Eina_Stringshare *sprop;
@@ -2331,7 +2332,7 @@ _efl_ui_layout_efl_ui_property_bind_property_bind(Eo *obj EINA_UNUSED, Efl_Ui_La
2331} 2332}
2332 2333
2333EOLIAN static void 2334EOLIAN static void
2334_efl_ui_layout_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd, 2335_efl_ui_layout_base_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd,
2335 const char *key, Efl_Ui_Factory *factory) 2336 const char *key, Efl_Ui_Factory *factory)
2336{ 2337{
2337 EINA_SAFETY_ON_NULL_RETURN(key); 2338 EINA_SAFETY_ON_NULL_RETURN(key);
@@ -2380,7 +2381,7 @@ _efl_ui_layout_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layo
2380} 2381}
2381 2382
2382EOLIAN static Eo * 2383EOLIAN static Eo *
2383_efl_ui_layout_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd) 2384_efl_ui_layout_base_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd)
2384{ 2385{
2385 sd->obj = obj; 2386 sd->obj = obj;
2386 obj = efl_constructor(efl_super(obj, MY_CLASS)); 2387 obj = efl_constructor(efl_super(obj, MY_CLASS));
@@ -2391,7 +2392,7 @@ _efl_ui_layout_efl_object_constructor(Eo *obj, Efl_Ui_Layout_Data *sd)
2391} 2392}
2392 2393
2393EOLIAN static Efl_Object* 2394EOLIAN static Efl_Object*
2394_efl_ui_layout_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED) 2395_efl_ui_layout_base_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED)
2395{ 2396{
2396 Eo *eo; 2397 Eo *eo;
2397 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 2398 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
@@ -2404,14 +2405,14 @@ _efl_ui_layout_efl_object_finalize(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED)
2404} 2405}
2405 2406
2406EOLIAN static void 2407EOLIAN static void
2407_efl_ui_layout_efl_layout_signal_message_send(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, int id, const Eina_Value msg) 2408_efl_ui_layout_base_efl_layout_signal_message_send(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, int id, const Eina_Value msg)
2408{ 2409{
2409 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 2410 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
2410 efl_layout_signal_message_send(wd->resize_obj, id, msg); 2411 efl_layout_signal_message_send(wd->resize_obj, id, msg);
2411} 2412}
2412 2413
2413EOLIAN static void 2414EOLIAN static void
2414_efl_ui_layout_efl_layout_signal_signal_process(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, Eina_Bool recurse) 2415_efl_ui_layout_base_efl_layout_signal_signal_process(Eo *obj, Efl_Ui_Layout_Data *pd EINA_UNUSED, Eina_Bool recurse)
2415{ 2416{
2416 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 2417 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
2417 efl_layout_signal_process(wd->resize_obj, recurse); 2418 efl_layout_signal_process(wd->resize_obj, recurse);
@@ -2420,7 +2421,7 @@ _efl_ui_layout_efl_layout_signal_signal_process(Eo *obj, Efl_Ui_Layout_Data *pd
2420/* Efl.Part implementation */ 2421/* Efl.Part implementation */
2421 2422
2422EOLIAN static Eo * 2423EOLIAN static Eo *
2423_efl_ui_layout_efl_part_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part) 2424_efl_ui_layout_base_efl_part_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part)
2424{ 2425{
2425 Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE; 2426 Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE;
2426 2427
@@ -2485,7 +2486,7 @@ _efl_ui_layout_efl_part_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUS
2485} 2486}
2486 2487
2487static const char * 2488static const char *
2488_efl_ui_layout_default_content_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED) 2489_efl_ui_layout_base_default_content_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
2489{ 2490{
2490 const char *part = NULL; 2491 const char *part = NULL;
2491 if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_FALSE)) 2492 if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_FALSE))
@@ -2494,7 +2495,7 @@ _efl_ui_layout_default_content_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EI
2494} 2495}
2495 2496
2496static const char * 2497static const char *
2497_efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED) 2498_efl_ui_layout_base_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED)
2498{ 2499{
2499 const char *part = NULL; 2500 const char *part = NULL;
2500 if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE)) 2501 if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
@@ -2518,11 +2519,11 @@ _efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_
2518 ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ 2519 ELM_PART_OVERRIDE_TEXT_MARKUP_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \
2519 2520
2520/* Efl.Ui.Layout_Part_Content */ 2521/* Efl.Ui.Layout_Part_Content */
2521CONTENT_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2522CONTENT_FULL(efl_ui_layout_part_content, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2522 2523
2523/* Efl.Ui.Layout_Part_Text */ 2524/* Efl.Ui.Layout_Part_Text */
2524TEXT_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2525TEXT_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2525MARKUP_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2526MARKUP_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2526 2527
2527EOLIAN static const char * 2528EOLIAN static const char *
2528_efl_ui_layout_part_text_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain) 2529_efl_ui_layout_part_text_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain)
@@ -2539,9 +2540,9 @@ _efl_ui_layout_part_text_efl_ui_l10n_l10n_text_set(Eo *obj, void *_pd EINA_UNUSE
2539} 2540}
2540 2541
2541/* Efl.Ui.Layout_Part_Legacy */ 2542/* Efl.Ui.Layout_Part_Legacy */
2542CONTENT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2543CONTENT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2543TEXT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2544TEXT_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2544MARKUP_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) 2545MARKUP_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT_BASE, Efl_Ui_Layout_Data)
2545 2546
2546EOLIAN static const char * 2547EOLIAN static const char *
2547_efl_ui_layout_part_legacy_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain) 2548_efl_ui_layout_part_legacy_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain)
@@ -2600,15 +2601,16 @@ EFL_FUNC_BODY_CONST(elm_layout_content_aliases_get, const Elm_Layout_Part_Alias_
2600ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX) 2601ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
2601ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX) 2602ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
2602 2603
2603#define EFL_UI_LAYOUT_EXTRA_OPS \ 2604#define EFL_UI_LAYOUT_BASE_EXTRA_OPS \
2604 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_layout), \ 2605 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_layout_base), \
2605 ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_layout), \ 2606 ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_layout_base), \
2606 ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout), \ 2607 ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout_base), \
2607 ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \ 2608 ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \
2608 ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \ 2609 ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
2609 EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \ 2610 EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \
2610 EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_layout_efl_object_dbg_info_get) 2611 EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_layout_base_efl_object_dbg_info_get)
2611 2612
2613#include "efl_ui_layout_base.eo.c"
2612#include "efl_ui_layout.eo.c" 2614#include "efl_ui_layout.eo.c"
2613 2615
2614#include "efl_ui_layout_legacy.eo.h" 2616#include "efl_ui_layout_legacy.eo.h"
diff --git a/src/lib/elementary/efl_ui_layout.eo b/src/lib/elementary/efl_ui_layout.eo
index b46af45a01..35f239e8c1 100644
--- a/src/lib/elementary/efl_ui_layout.eo
+++ b/src/lib/elementary/efl_ui_layout.eo
@@ -1,87 +1,13 @@
1import efl_ui; 1import efl_ui;
2 2
3class @beta Efl.Ui.Layout extends Efl.Ui.Widget implements Efl.Container, Efl.File, 3class @beta Efl.Ui.Layout extends Efl.Ui.Layout_Base implements Efl.File
4 Efl.Ui.View, Efl.Ui.Property_Bind, Efl.Ui.Factory_Bind,
5 Efl.Layout.Calc, Efl.Layout.Signal,
6 Efl.Layout.Group
7{ 4{
8 [[Elementary layout class]] 5 [[Elementary layout class]]
9 methods { 6 data: null;
10 @property theme {
11 [[The theme of this widget, defines which edje group will be used.
12
13 Based on the type of widget ($klass), a given $group and a
14 $style (usually "default"), the edje group name will be formed
15 for this object.
16
17 Widgets that inherit from this class will call this function
18 automatically so it should not be called by applications, unless
19 you are dealing directly with a @Efl.Ui.Layout object.
20 ]]
21 set {
22 [[Sets the edje group from the elementary theme that will be used
23 as layout. Note that $style will be the new style of this object,
24 as in an @Efl.Ui.Widget.style. As a consequence this function can
25 only be called during construction of the object, before finalize.
26
27 If this returns $false the widget is very likely to become
28 non-functioning.
29 ]]
30 return: Efl.Ui.Theme_Apply_Result(0);
31 [[Whether the style was successfully applied or not, see
32 the values of @Efl.Ui.Theme_Apply_Result for more information.]]
33 }
34 /*
35 TODO:
36 get {
37 [[Get information about the current theme in use.]]
38 }
39 */
40 values {
41 klass: string; [[The class of the group, eg. "button".]]
42 group: string("base"); [[The group, eg. "base".]]
43 style: string("default"); [[The style to use, eg "default".]]
44 }
45 }
46 }
47 implements { 7 implements {
48 class.constructor;
49 Efl.Object.constructor;
50 Efl.Object.finalize;
51 Efl.File.file { get; set; } 8 Efl.File.file { get; set; }
52 Efl.File.key { get; set; } 9 Efl.File.key { get; set; }
53 Efl.File.mmap { get; set; } 10 Efl.File.mmap { get; set; }
54 Efl.File.load; 11 Efl.File.load;
55 Efl.Canvas.Group.group_calculate;
56 Efl.Layout.Calc.calc_freeze;
57 Efl.Layout.Calc.calc_thaw;
58 Efl.Layout.Calc.calc_auto_update_hints { get; set; }
59 Efl.Layout.Calc.calc_size_min;
60 Efl.Layout.Calc.calc_parts_extends;
61 Efl.Layout.Calc.calc_force;
62 Efl.Layout.Signal.signal_callback_add;
63 Efl.Layout.Signal.signal_callback_del;
64 Efl.Layout.Signal.signal_emit;
65 Efl.Layout.Signal.message_send;
66 Efl.Layout.Signal.signal_process;
67 Efl.Layout.Group.group_data { get; }
68 Efl.Layout.Group.group_size_min { get; }
69 Efl.Layout.Group.group_size_max { get; }
70 Efl.Layout.Group.part_exist { get; }
71 Efl.Ui.Widget.widget_sub_object_add;
72 Efl.Ui.Widget.theme_apply;
73 Efl.Ui.Widget.on_disabled_update;
74 Efl.Ui.Widget.widget_sub_object_del;
75 Efl.Ui.Focus.Object.on_focus_update;
76 Efl.Container.content_count;
77 Efl.Container.content_remove;
78 Efl.Container.content_iterate;
79 Efl.Part.part_get;
80 Efl.Ui.View.model { get; set; }
81 Efl.Ui.Property_Bind.property_bind;
82 Efl.Ui.Factory_Bind.factory_bind;
83 }
84 events {
85 theme,changed: void; [[Called when theme changed]]
86 } 12 }
87} 13}
diff --git a/src/lib/elementary/efl_ui_layout_base.eo b/src/lib/elementary/efl_ui_layout_base.eo
new file mode 100644
index 0000000000..e2384c06e0
--- /dev/null
+++ b/src/lib/elementary/efl_ui_layout_base.eo
@@ -0,0 +1,85 @@
1import efl_ui;
2
3abstract @beta Efl.Ui.Layout_Base extends Efl.Ui.Widget implements Efl.Container,
4 Efl.Ui.View, Efl.Ui.Property_Bind, Efl.Ui.Factory_Bind,
5 Efl.Layout.Calc, Efl.Layout.Signal,
6 Efl.Layout.Group
7{
8 [[Elementary layout abstract]]
9 eo_prefix: efl_ui_layout;
10 data: Efl_Ui_Layout_Data;
11 methods {
12 @property theme {
13 [[The theme of this widget, defines which edje group will be used.
14
15 Based on the type of widget ($klass), a given $group and a
16 $style (usually "default"), the edje group name will be formed
17 for this object.
18
19 Widgets that inherit from this class will call this function
20 automatically so it should not be called by applications, unless
21 you are dealing directly with a @Efl.Ui.Layout object.
22 ]]
23 set {
24 [[Sets the edje group from the elementary theme that will be used
25 as layout. Note that $style will be the new style of this object,
26 as in an @Efl.Ui.Widget.style. As a consequence this function can
27 only be called during construction of the object, before finalize.
28
29 If this returns $false the widget is very likely to become
30 non-functioning.
31 ]]
32 return: Efl.Ui.Theme_Apply_Result(0);
33 [[Whether the style was successfully applied or not, see
34 the values of @Efl.Ui.Theme_Apply_Result for more information.]]
35 }
36 /*
37 TODO:
38 get {
39 [[Get information about the current theme in use.]]
40 }
41 */
42 values {
43 klass: string; [[The class of the group, eg. "button".]]
44 group: string("base"); [[The group, eg. "base".]]
45 style: string("default"); [[The style to use, eg "default".]]
46 }
47 }
48 }
49 implements {
50 class.constructor;
51 Efl.Object.constructor;
52 Efl.Object.finalize;
53 Efl.Canvas.Group.group_calculate;
54 Efl.Layout.Calc.calc_freeze;
55 Efl.Layout.Calc.calc_thaw;
56 Efl.Layout.Calc.calc_auto_update_hints { get; set; }
57 Efl.Layout.Calc.calc_size_min;
58 Efl.Layout.Calc.calc_parts_extends;
59 Efl.Layout.Calc.calc_force;
60 Efl.Layout.Signal.signal_callback_add;
61 Efl.Layout.Signal.signal_callback_del;
62 Efl.Layout.Signal.signal_emit;
63 Efl.Layout.Signal.message_send;
64 Efl.Layout.Signal.signal_process;
65 Efl.Layout.Group.group_data { get; }
66 Efl.Layout.Group.group_size_min { get; }
67 Efl.Layout.Group.group_size_max { get; }
68 Efl.Layout.Group.part_exist { get; }
69 Efl.Ui.Widget.widget_sub_object_add;
70 Efl.Ui.Widget.theme_apply;
71 Efl.Ui.Widget.on_disabled_update;
72 Efl.Ui.Widget.widget_sub_object_del;
73 Efl.Ui.Focus.Object.on_focus_update;
74 Efl.Container.content_count;
75 Efl.Container.content_remove;
76 Efl.Container.content_iterate;
77 Efl.Part.part_get;
78 Efl.Ui.View.model { get; set; }
79 Efl.Ui.Property_Bind.property_bind;
80 Efl.Ui.Factory_Bind.factory_bind;
81 }
82 events {
83 theme,changed: void; [[Called when theme changed]]
84 }
85}
diff --git a/src/lib/elementary/efl_ui_layout_pack.c b/src/lib/elementary/efl_ui_layout_pack.c
index e01ba6616f..9e89df4eb5 100644
--- a/src/lib/elementary/efl_ui_layout_pack.c
+++ b/src/lib/elementary/efl_ui_layout_pack.c
@@ -67,7 +67,7 @@ EOLIAN static void
67_efl_ui_layout_part_box_real_part_set(Eo *obj, Efl_Ui_Layout_Box_Data *pd, Eo *layout, const char *part) 67_efl_ui_layout_part_box_real_part_set(Eo *obj, Efl_Ui_Layout_Box_Data *pd, Eo *layout, const char *part)
68{ 68{
69 pd->obj = layout; 69 pd->obj = layout;
70 pd->sd = efl_data_xref(pd->obj, EFL_UI_LAYOUT_CLASS, obj); 70 pd->sd = efl_data_xref(pd->obj, EFL_UI_LAYOUT_BASE_CLASS, obj);
71 eina_stringshare_replace(&pd->part, part); 71 eina_stringshare_replace(&pd->part, part);
72 pd->temp = 1; 72 pd->temp = 1;
73} 73}
@@ -225,7 +225,7 @@ EOLIAN static void
225_efl_ui_layout_part_table_real_part_set(Eo *obj, Efl_Ui_Layout_Table_Data *pd, Eo *layout, const char *part) 225_efl_ui_layout_part_table_real_part_set(Eo *obj, Efl_Ui_Layout_Table_Data *pd, Eo *layout, const char *part)
226{ 226{
227 pd->obj = layout; 227 pd->obj = layout;
228 pd->sd = efl_data_xref(pd->obj, EFL_UI_LAYOUT_CLASS, obj); 228 pd->sd = efl_data_xref(pd->obj, EFL_UI_LAYOUT_BASE_CLASS, obj);
229 eina_stringshare_replace(&pd->part, part); 229 eina_stringshare_replace(&pd->part, part);
230 pd->temp = 1; 230 pd->temp = 1;
231} 231}
diff --git a/src/lib/elementary/efl_ui_navigation_layout.c b/src/lib/elementary/efl_ui_navigation_layout.c
index 843dcbbe34..16bcea2462 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.c
+++ b/src/lib/elementary/efl_ui_navigation_layout.c
@@ -15,7 +15,7 @@
15EOLIAN static void 15EOLIAN static void
16_efl_ui_navigation_layout_bar_set(Eo *obj, Efl_Ui_Navigation_Layout_Data *pd, Efl_Ui_Layout *bar) 16_efl_ui_navigation_layout_bar_set(Eo *obj, Efl_Ui_Navigation_Layout_Data *pd, Efl_Ui_Layout *bar)
17{ 17{
18 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(bar, EFL_UI_LAYOUT_CLASS)); 18 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(bar, EFL_UI_LAYOUT_BASE_CLASS));
19 19
20 efl_content_set(efl_part(obj, "efl.bar"), bar); 20 efl_content_set(efl_part(obj, "efl.bar"), bar);
21 pd->bar = bar; 21 pd->bar = bar;
diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo
index 7394a61929..c4f4bf955b 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -1,7 +1,7 @@
1/* FIXME - Text object must stop using elm_general! */ 1/* FIXME - Text object must stop using elm_general! */
2import elm_general; 2import elm_general;
3 3
4class @beta Efl.Ui.Text extends Efl.Ui.Layout implements Efl.Ui.Clickable, 4class @beta Efl.Ui.Text extends Efl.Ui.Layout_Base implements Efl.Ui.Clickable,
5 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File, 5 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File,
6 Efl.Ui.Selectable, Efl.Text_Interactive 6 Efl.Ui.Selectable, Efl.Text_Interactive
7{ 7{
diff --git a/src/lib/elementary/efl_ui_video.eo b/src/lib/elementary/efl_ui_video.eo
index d418cb4511..7ef6975f3a 100644
--- a/src/lib/elementary/efl_ui_video.eo
+++ b/src/lib/elementary/efl_ui_video.eo
@@ -1,4 +1,4 @@
1class @beta Efl.Ui.Video extends Efl.Ui.Layout implements Efl.Player, Efl.Access.Widget.Action 1class @beta Efl.Ui.Video extends Efl.Ui.Layout_Base implements Efl.File, Efl.Player, Efl.Access.Widget.Action
2{ 2{
3 [[Efl UI video class]] 3 [[Efl UI video class]]
4 legacy_prefix: elm_video; 4 legacy_prefix: elm_video;
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 2f51767e37..fe65abbd87 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -236,7 +236,7 @@ _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *eo_it)
236 { 236 {
237 Elm_Widget_Item_Data *it = efl_data_scope_get(eo_it, ELM_WIDGET_ITEM_CLASS); 237 Elm_Widget_Item_Data *it = efl_data_scope_get(eo_it, ELM_WIDGET_ITEM_CLASS);
238 238
239 if (efl_isa(it->view, EFL_UI_LAYOUT_CLASS)) 239 if (efl_isa(it->view, EFL_UI_LAYOUT_BASE_CLASS))
240 str = edje_object_data_get(elm_layout_edje_get(it->view), "focus_highlight"); 240 str = edje_object_data_get(elm_layout_edje_get(it->view), "focus_highlight");
241 else 241 else
242 str = edje_object_data_get(it->view, "focus_highlight"); 242 str = edje_object_data_get(it->view, "focus_highlight");
@@ -2821,7 +2821,7 @@ elm_widget_part_text_set(Eo *obj, const char *part, const char *label)
2821 /* legacy support: combobox was special (internal entry is text object). */ 2821 /* legacy support: combobox was special (internal entry is text object). */
2822 if (efl_isa(obj, ELM_COMBOBOX_CLASS)) 2822 if (efl_isa(obj, ELM_COMBOBOX_CLASS))
2823 _elm_combobox_part_text_set(obj, part, label); 2823 _elm_combobox_part_text_set(obj, part, label);
2824 else if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 2824 else if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
2825 elm_layout_text_set(obj, part, label); 2825 elm_layout_text_set(obj, part, label);
2826} 2826}
2827 2827
@@ -2831,7 +2831,7 @@ elm_widget_part_text_get(const Eo *obj, const char *part)
2831 /* legacy support: combobox was special (internal entry is text object). */ 2831 /* legacy support: combobox was special (internal entry is text object). */
2832 if (efl_isa(obj, ELM_COMBOBOX_CLASS)) 2832 if (efl_isa(obj, ELM_COMBOBOX_CLASS))
2833 return _elm_combobox_part_text_get(obj, part); 2833 return _elm_combobox_part_text_get(obj, part);
2834 else if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 2834 else if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
2835 return elm_layout_text_get(obj, part); 2835 return elm_layout_text_get(obj, part);
2836 2836
2837 return NULL; 2837 return NULL;
@@ -3486,7 +3486,7 @@ elm_widget_focus_highlight_focus_part_geometry_get(const Evas_Object *obj,
3486 if (!(target_hl_part = edje_object_data_get(edje_obj, "focus_part"))) 3486 if (!(target_hl_part = edje_object_data_get(edje_obj, "focus_part")))
3487 return; 3487 return;
3488 } 3488 }
3489 else if (obj && efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 3489 else if (obj && efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
3490 { 3490 {
3491 edje_obj = elm_layout_edje_get(obj); 3491 edje_obj = elm_layout_edje_get(obj);
3492 if (!(target_hl_part = elm_layout_data_get(obj, "focus_part"))) 3492 if (!(target_hl_part = elm_layout_data_get(obj, "focus_part")))
@@ -5671,7 +5671,7 @@ EAPI void
5671elm_widget_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content) 5671elm_widget_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content)
5672{ 5672{
5673 ELM_WIDGET_CHECK(obj); 5673 ELM_WIDGET_CHECK(obj);
5674 if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 5674 if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
5675 { 5675 {
5676 elm_layout_content_set(obj, part, content); 5676 elm_layout_content_set(obj, part, content);
5677 return; 5677 return;
@@ -5689,7 +5689,7 @@ EAPI Evas_Object *
5689elm_widget_content_part_get(const Evas_Object *obj, const char *part) 5689elm_widget_content_part_get(const Evas_Object *obj, const char *part)
5690{ 5690{
5691 ELM_WIDGET_CHECK(obj) NULL; 5691 ELM_WIDGET_CHECK(obj) NULL;
5692 if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 5692 if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
5693 return elm_layout_content_get(obj, part); 5693 return elm_layout_content_get(obj, part);
5694 if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL; 5694 if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL;
5695 if (!part) 5695 if (!part)
@@ -5704,7 +5704,7 @@ EAPI Evas_Object *
5704elm_widget_content_part_unset(Evas_Object *obj, const char *part) 5704elm_widget_content_part_unset(Evas_Object *obj, const char *part)
5705{ 5705{
5706 ELM_WIDGET_CHECK(obj) NULL; 5706 ELM_WIDGET_CHECK(obj) NULL;
5707 if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 5707 if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
5708 return elm_layout_content_unset(obj, part); 5708 return elm_layout_content_unset(obj, part);
5709 if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL; 5709 if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL;
5710 if (!part) 5710 if (!part)
@@ -5720,7 +5720,7 @@ elm_widget_signal_emit(Eo *obj, const char *emission, const char *source)
5720{ 5720{
5721 ELM_WIDGET_CHECK(obj); 5721 ELM_WIDGET_CHECK(obj);
5722 5722
5723 if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 5723 if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
5724 elm_layout_signal_emit(obj, emission, source); 5724 elm_layout_signal_emit(obj, emission, source);
5725 else if (evas_object_smart_type_check(obj, "elm_icon")) 5725 else if (evas_object_smart_type_check(obj, "elm_icon"))
5726 { 5726 {
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index d5cbe8202b..d91c4232fd 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -3,7 +3,7 @@ import elm_general;
3type Elm_Entry_Item_Provider_Cb: __undefined_type; [[Elementary entry item provider callback type]] 3type Elm_Entry_Item_Provider_Cb: __undefined_type; [[Elementary entry item provider callback type]]
4type Elm_Entry_Filter_Cb: __undefined_type; [[Elementary entry filter callback type]] 4type Elm_Entry_Filter_Cb: __undefined_type; [[Elementary entry filter callback type]]
5 5
6class Elm.Entry extends Efl.Ui.Layout implements Elm.Interface_Scrollable, Efl.Ui.Clickable, 6class Elm.Entry extends Efl.Ui.Layout_Base implements Elm.Interface_Scrollable, Efl.Ui.Clickable,
7 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File, 7 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File,
8 Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Access.Widget.Action, 8 Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Access.Widget.Action,
9 Efl.Ui.Legacy 9 Efl.Ui.Legacy
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index e6f4ec1d8c..86c3ab22eb 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -456,7 +456,7 @@ _item_content_realize(Elm_Gen_Item *it,
456 ELM_WIDGET_DATA_GET_OR_RETURN(content, wd); 456 ELM_WIDGET_DATA_GET_OR_RETURN(content, wd);
457 457
458 // FIXME : Layout need sizing eval before group calculate 458 // FIXME : Layout need sizing eval before group calculate
459 if (efl_class_get(content) == EFL_UI_LAYOUT_CLASS) 459 if (efl_class_get(content) == EFL_UI_LAYOUT_BASE_CLASS)
460 elm_layout_sizing_eval(content); 460 elm_layout_sizing_eval(content);
461 461
462 _widget_calculate_recursive(content); 462 _widget_calculate_recursive(content);
diff --git a/src/lib/elementary/elm_layout.h b/src/lib/elementary/elm_layout.h
index a59fd7c650..2947f169f8 100644
--- a/src/lib/elementary/elm_layout.h
+++ b/src/lib/elementary/elm_layout.h
@@ -168,6 +168,7 @@
168 168
169#include <elm_layout_common.h> 169#include <elm_layout_common.h>
170#ifdef EFL_EO_API_SUPPORT 170#ifdef EFL_EO_API_SUPPORT
171#include <efl_ui_layout_base.eo.h>
171#include <efl_ui_layout.eo.h> 172#include <efl_ui_layout.eo.h>
172#endif 173#endif
173#ifndef EFL_NOLEGACY_API_SUPPORT 174#ifndef EFL_NOLEGACY_API_SUPPORT
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index 6cab53b217..71e4325221 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1477,7 +1477,7 @@ elm_object_domain_translatable_part_text_set(Evas_Object *obj, const char *part,
1477 { 1477 {
1478 if (!part) 1478 if (!part)
1479 part = efl_ui_widget_default_text_part_get(obj); 1479 part = efl_ui_widget_default_text_part_get(obj);
1480 else if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 1480 else if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
1481 _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE); 1481 _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE);
1482 1482
1483 elm_widget_part_translatable_text_set(obj, part, text, domain); 1483 elm_widget_part_translatable_text_set(obj, part, text, domain);
@@ -1499,7 +1499,7 @@ elm_object_translatable_part_text_get(const Evas_Object *obj, const char *part)
1499 { 1499 {
1500 if (!part) 1500 if (!part)
1501 part = efl_ui_widget_default_text_part_get(obj); 1501 part = efl_ui_widget_default_text_part_get(obj);
1502 else if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) 1502 else if (efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))
1503 _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE); 1503 _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE);
1504 1504
1505 return elm_widget_part_translatable_text_get(obj, part, NULL); 1505 return elm_widget_part_translatable_text_get(obj, part, NULL);
diff --git a/src/lib/elementary/elm_thumb.eo b/src/lib/elementary/elm_thumb.eo
index 22fd890377..76837b35ce 100644
--- a/src/lib/elementary/elm_thumb.eo
+++ b/src/lib/elementary/elm_thumb.eo
@@ -1,4 +1,4 @@
1class Elm.Thumb extends Efl.Ui.Layout implements Efl.File, Efl.Ui.Clickable, 1class Elm.Thumb extends Efl.Ui.Layout_Base implements Efl.File, Efl.Ui.Clickable,
2 Efl.Ui.Draggable, Efl.Ui.Legacy 2 Efl.Ui.Draggable, Efl.Ui.Legacy
3{ 3{
4 [[Elementary thumbnail class]] 4 [[Elementary thumbnail class]]
diff --git a/src/lib/elementary/elm_widget_layout.h b/src/lib/elementary/elm_widget_layout.h
index 96a2cd0b94..5628067691 100644
--- a/src/lib/elementary/elm_widget_layout.h
+++ b/src/lib/elementary/elm_widget_layout.h
@@ -78,10 +78,10 @@ typedef struct _Elm_Layout_Smart_Data
78 */ 78 */
79 79
80#define EFL_UI_LAYOUT_DATA_GET(o, sd) \ 80#define EFL_UI_LAYOUT_DATA_GET(o, sd) \
81 Efl_Ui_Layout_Data * sd = efl_data_scope_get(o, EFL_UI_LAYOUT_CLASS) 81 Efl_Ui_Layout_Data * sd = efl_data_scope_get(o, EFL_UI_LAYOUT_BASE_CLASS)
82 82
83#define EFL_UI_LAYOUT_CHECK(obj) \ 83#define EFL_UI_LAYOUT_CHECK(obj) \
84 if (EINA_UNLIKELY(!efl_isa(obj, EFL_UI_LAYOUT_CLASS))) \ 84 if (EINA_UNLIKELY(!efl_isa(obj, EFL_UI_LAYOUT_BASE_CLASS))) \
85 return 85 return
86 86
87#endif 87#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 4363984615..9c7cc1ed90 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -138,6 +138,7 @@ pub_eo_files = [
138 'efl_ui_image.eo', 138 'efl_ui_image.eo',
139 'efl_ui_image_zoomable.eo', 139 'efl_ui_image_zoomable.eo',
140 'efl_ui_layout.eo', 140 'efl_ui_layout.eo',
141 'efl_ui_layout_base.eo',
141 'efl_ui_nstate.eo', 142 'efl_ui_nstate.eo',
142 'efl_ui_navigation_bar.eo', 143 'efl_ui_navigation_bar.eo',
143 'efl_ui_navigation_bar_part.eo', 144 'efl_ui_navigation_bar_part.eo',