summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am5
-rw-r--r--src/lib/elementary/efl_ui_button.c2
-rw-r--r--src/lib/elementary/efl_ui_text.c258
-rw-r--r--src/lib/elementary/efl_ui_text.eo1
-rw-r--r--src/lib/elementary/elc_fileselector.c17
-rw-r--r--src/lib/elementary/elc_fileselector_entry.c10
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c21
-rw-r--r--src/lib/elementary/elc_naviframe.c6
-rw-r--r--src/lib/elementary/elc_popup.c6
-rw-r--r--src/lib/elementary/elm_actionslider.c21
-rw-r--r--src/lib/elementary/elm_actionslider.eo2
-rw-r--r--src/lib/elementary/elm_actionslider_internal_part.eo8
-rw-r--r--src/lib/elementary/elm_bubble.c15
-rw-r--r--src/lib/elementary/elm_bubble.eo2
-rw-r--r--src/lib/elementary/elm_bubble_internal_part.eo8
-rw-r--r--src/lib/elementary/elm_entry.c10
-rw-r--r--src/lib/elementary/elm_entry.eo1
-rw-r--r--src/lib/elementary/elm_entry_internal_part.eo3
-rw-r--r--src/lib/elementary/elm_fileselector.eo2
-rw-r--r--src/lib/elementary/elm_fileselector_entry.eo1
-rw-r--r--src/lib/elementary/elm_fileselector_entry_internal_part.eo3
-rw-r--r--src/lib/elementary/elm_fileselector_internal_part.eo9
-rw-r--r--src/lib/elementary/elm_label.c16
-rw-r--r--src/lib/elementary/elm_label.eo2
-rw-r--r--src/lib/elementary/elm_label_internal_part.eo8
-rw-r--r--src/lib/elementary/elm_layout.c15
-rw-r--r--src/lib/elementary/elm_layout.eo15
-rw-r--r--src/lib/elementary/elm_layout_internal_part.eo3
-rw-r--r--src/lib/elementary/elm_layout_legacy.h23
-rw-r--r--src/lib/elementary/elm_multibuttonentry.eo2
-rw-r--r--src/lib/elementary/elm_multibuttonentry_internal_part.eo9
-rw-r--r--src/lib/elementary/elm_naviframe.eo1
-rw-r--r--src/lib/elementary/elm_naviframe_internal_part.eo1
-rw-r--r--src/lib/elementary/elm_part_helper.h42
-rw-r--r--src/lib/elementary/elm_popup.eo1
-rw-r--r--src/lib/elementary/elm_popup_internal_part.eo3
36 files changed, 228 insertions, 324 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 234a02c..d4a17ea 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -110,6 +110,11 @@ elm_public_eolian_files = \
110 lib/elementary/efl_ui_progressbar_internal_part.eo \ 110 lib/elementary/efl_ui_progressbar_internal_part.eo \
111 lib/elementary/elm_popup_internal_part.eo \ 111 lib/elementary/elm_popup_internal_part.eo \
112 lib/elementary/elm_scroller_internal_part.eo \ 112 lib/elementary/elm_scroller_internal_part.eo \
113 lib/elementary/elm_label_internal_part.eo \
114 lib/elementary/elm_actionslider_internal_part.eo \
115 lib/elementary/elm_bubble_internal_part.eo \
116 lib/elementary/elm_fileselector_internal_part.eo \
117 lib/elementary/elm_multibuttonentry_internal_part.eo \
113 lib/elementary/elm_code_widget.eo \ 118 lib/elementary/elm_code_widget.eo \
114 lib/elementary/efl_ui_text_interactive.eo \ 119 lib/elementary/efl_ui_text_interactive.eo \
115 lib/elementary/efl_ui_text.eo \ 120 lib/elementary/efl_ui_text.eo \
diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c
index 5303386..f8b68d5 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -445,7 +445,7 @@ _efl_ui_button_class_constructor(Efl_Class *klass)
445 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 445 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
446} 446}
447 447
448EFL_TEXT_DEFAULT_IMPLEMENT(efl_ui_button, Efl_Ui_Button_Data) 448EFL_TEXT_PART_DEFAULT_IMPLEMENT(efl_ui_button, Efl_Ui_Button_Data)
449 449
450/* Efl.Part begin */ 450/* Efl.Part begin */
451 451
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index fbb882f..7440427 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -2565,99 +2565,6 @@ _markup_filter_cb(void *data,
2565 } 2565 }
2566} 2566}
2567 2567
2568/* This function is used to insert text by chunks in jobs */
2569static Eina_Bool
2570_text_append_idler(void *data)
2571{
2572 int start;
2573 char backup;
2574 Evas_Object *obj = (Evas_Object *)data;
2575
2576 EFL_UI_TEXT_DATA_GET(obj, sd);
2577
2578 evas_event_freeze(evas_object_evas_get(obj));
2579 ELM_SAFE_FREE(sd->text, eina_stringshare_del);
2580 sd->changed = EINA_TRUE;
2581
2582 start = sd->append_text_position;
2583 if ((start + EFL_UI_TEXT_CHUNK_SIZE) < sd->append_text_len)
2584 {
2585 int pos = start;
2586 int tag_start, esc_start;
2587
2588 tag_start = esc_start = -1;
2589 /* Find proper markup cut place */
2590 while (pos - start < EFL_UI_TEXT_CHUNK_SIZE)
2591 {
2592 int prev_pos = pos;
2593 Eina_Unicode tmp =
2594 eina_unicode_utf8_next_get(sd->append_text_left, &pos);
2595
2596 if (esc_start == -1)
2597 {
2598 if (tmp == '<')
2599 tag_start = prev_pos;
2600 else if (tmp == '>')
2601 tag_start = -1;
2602 }
2603 if (tag_start == -1)
2604 {
2605 if (tmp == '&')
2606 esc_start = prev_pos;
2607 else if (tmp == ';')
2608 esc_start = -1;
2609 }
2610 }
2611
2612 if (tag_start >= 0)
2613 {
2614 sd->append_text_position = tag_start;
2615 }
2616 else if (esc_start >= 0)
2617 {
2618 sd->append_text_position = esc_start;
2619 }
2620 else
2621 {
2622 sd->append_text_position = pos;
2623 }
2624 }
2625 else
2626 {
2627 sd->append_text_position = sd->append_text_len;
2628 }
2629
2630 backup = sd->append_text_left[sd->append_text_position];
2631 sd->append_text_left[sd->append_text_position] = '\0';
2632
2633 edje_object_part_text_append
2634 (sd->entry_edje, "elm.text", sd->append_text_left + start);
2635
2636 sd->append_text_left[sd->append_text_position] = backup;
2637
2638 evas_event_thaw(evas_object_evas_get(obj));
2639 evas_event_thaw_eval(evas_object_evas_get(obj));
2640
2641 _efl_ui_text_guide_update(obj, EINA_TRUE);
2642
2643 /* If there's still more to go, renew the idler, else, cleanup */
2644 if (sd->append_text_position < sd->append_text_len)
2645 {
2646 return ECORE_CALLBACK_RENEW;
2647 }
2648 else
2649 {
2650 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text",
2651 EDJE_CURSOR_MAIN, sd->cursor_pos);
2652 free(sd->append_text_left);
2653 sd->append_text_left = NULL;
2654 sd->append_text_idler = NULL;
2655 efl_event_callback_legacy_call
2656 (obj, EFL_UI_TEXT_EVENT_TEXT_SET_DONE, NULL);
2657 return ECORE_CALLBACK_CANCEL;
2658 }
2659}
2660
2661EOLIAN static void 2568EOLIAN static void
2662_efl_ui_text_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source) 2569_efl_ui_text_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source)
2663{ 2570{
@@ -2763,171 +2670,6 @@ _efl_ui_text_content_unset(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, const cha
2763} 2670}
2764#endif 2671#endif
2765 2672
2766static void
2767_entry_text_append(Evas_Object* obj, const char* entry, Eina_Bool set)
2768{
2769 int len = 0;
2770 if (!entry) return;
2771
2772 EFL_UI_TEXT_DATA_GET(obj, sd);
2773 len = strlen(entry);
2774
2775 if (sd->append_text_left)
2776 {
2777 char *tmpbuf;
2778
2779 tmpbuf = realloc(sd->append_text_left, sd->append_text_len + len + 1);
2780 if (!tmpbuf)
2781 {
2782 /* Do something */
2783 return;
2784 }
2785 sd->append_text_left = tmpbuf;
2786 memcpy(sd->append_text_left + sd->append_text_len, entry, len + 1);
2787 sd->append_text_len += len;
2788 }
2789 else
2790 {
2791 if (len > EFL_UI_TEXT_CHUNK_SIZE)
2792 {
2793 sd->append_text_left = (char *)malloc(len + 1);
2794 }
2795
2796 if (sd->append_text_left)
2797 {
2798 memcpy(sd->append_text_left, entry, len + 1);
2799 sd->append_text_position = 0;
2800 sd->append_text_len = len;
2801 sd->append_text_idler = ecore_idler_add(_text_append_idler, obj);
2802 }
2803 else
2804 {
2805 if (set)
2806 {
2807 edje_object_part_text_set(sd->entry_edje, "elm.text", entry);
2808 }
2809 else
2810 {
2811 edje_object_part_text_append(sd->entry_edje, "elm.text", entry);
2812 }
2813 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text",
2814 EDJE_CURSOR_MAIN, sd->cursor_pos);
2815 efl_event_callback_legacy_call(obj, EFL_UI_TEXT_EVENT_TEXT_SET_DONE, NULL);
2816 }
2817 }
2818}
2819
2820EOLIAN static Eina_Bool
2821_efl_ui_text_elm_layout_text_set(Eo *obj, Efl_Ui_Text_Data *sd, const char *part, const char *entry)
2822{
2823 int len = 0;
2824
2825 if (!entry) entry = "";
2826 if (part)
2827 {
2828 if (!strcmp(part, "guide"))
2829 edje_object_part_text_set(sd->entry_edje, "elm.guide", entry);
2830 else
2831 edje_object_part_text_set(sd->entry_edje, part, entry);
2832
2833 return EINA_TRUE;
2834 }
2835
2836 evas_event_freeze(evas_object_evas_get(obj));
2837 ELM_SAFE_FREE(sd->text, eina_stringshare_del);
2838 sd->changed = EINA_TRUE;
2839
2840 /* Clear currently pending job if there is one */
2841 if (sd->append_text_idler)
2842 {
2843 ecore_idler_del(sd->append_text_idler);
2844 ELM_SAFE_FREE(sd->append_text_left, free);
2845 sd->append_text_idler = NULL;
2846 }
2847
2848 len = strlen(entry);
2849 if (sd->append_text_left)
2850 {
2851 free(sd->append_text_left);
2852 sd->append_text_left = NULL;
2853 }
2854
2855 /* Need to clear the entry first */
2856 edje_object_part_text_set(sd->entry_edje, "elm.text", "");
2857 _entry_text_append(obj, entry, EINA_TRUE);
2858
2859 if (len > 0)
2860 _efl_ui_text_guide_update(obj, EINA_TRUE);
2861 else
2862 _efl_ui_text_guide_update(obj, EINA_FALSE);
2863
2864 evas_event_thaw(evas_object_evas_get(obj));
2865 evas_event_thaw_eval(evas_object_evas_get(obj));
2866 return EINA_TRUE;
2867}
2868
2869EOLIAN static const char *
2870_efl_ui_text_elm_layout_text_get(Eo *obj, Efl_Ui_Text_Data *sd, const char *item)
2871{
2872 const char *text;
2873 Eo *text_obj = edje_object_part_swallow_get(sd->entry_edje, "elm.text");
2874 sd->text_obj = text_obj;
2875
2876 if (item)
2877 {
2878 if (!strcmp(item, "default")) goto proceed;
2879 else if (!strcmp(item, "guide"))
2880 {
2881 return edje_object_part_text_get(sd->entry_edje, "elm.guide");
2882 }
2883 else
2884 {
2885 return edje_object_part_text_get(sd->entry_edje, item);
2886 }
2887 }
2888
2889proceed:
2890
2891 text = efl_text_get(text_obj);
2892 if (!text)
2893 {
2894 ERR("text=NULL for edje %p, part 'elm.text'", sd->entry_edje);
2895
2896 return NULL;
2897 }
2898
2899 if (sd->append_text_len > 0)
2900 {
2901 char *tmpbuf;
2902 size_t len, tlen;
2903
2904 tlen = strlen(text);
2905 len = tlen + sd->append_text_len - sd->append_text_position;
2906 /* FIXME: need that or we do copy uninitialised data */
2907 tmpbuf = calloc(1, len + 1);
2908 if (!tmpbuf)
2909 {
2910 ERR("Failed to allocate memory for entry's text %p", obj);
2911 return NULL;
2912 }
2913 memcpy(tmpbuf, text, tlen);
2914
2915 if (sd->append_text_left)
2916 memcpy(tmpbuf + tlen, sd->append_text_left
2917 + sd->append_text_position, sd->append_text_len
2918 - sd->append_text_position);
2919 tmpbuf[len] = '\0';
2920 eina_stringshare_replace(&sd->text, tmpbuf);
2921 free(tmpbuf);
2922 }
2923 else
2924 {
2925 eina_stringshare_replace(&sd->text, text);
2926 }
2927
2928 return sd->text;
2929}
2930
2931static char * 2673static char *
2932_access_info_cb(void *data EINA_UNUSED, Evas_Object *obj) 2674_access_info_cb(void *data EINA_UNUSED, Evas_Object *obj)
2933{ 2675{
diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo
index 9a305da..d834c99 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -414,7 +414,6 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
414 Elm.Widget.focus_next_manager_is; 414 Elm.Widget.focus_next_manager_is;
415 Elm.Layout.theme_enable; 415 Elm.Layout.theme_enable;
416 Elm.Layout.sizing_eval; 416 Elm.Layout.sizing_eval;
417 Elm.Layout.text { get; set; }
418 Elm.Layout.signal_callback_add; 417 Elm.Layout.signal_callback_add;
419 Elm.Layout.signal_callback_del; 418 Elm.Layout.signal_callback_del;
420 Elm.Layout.signal_emit; 419 Elm.Layout.signal_emit;
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index cba2001..9db4a64 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -19,6 +19,9 @@
19#include "elm_interface_fileselector.h" 19#include "elm_interface_fileselector.h"
20#include "elm_widget_fileselector.h" 20#include "elm_widget_fileselector.h"
21 21
22#include "elm_fileselector_internal_part.eo.h"
23#include "elm_part_helper.h"
24
22#define MY_CLASS ELM_FILESELECTOR_CLASS 25#define MY_CLASS ELM_FILESELECTOR_CLASS
23 26
24#define MY_CLASS_NAME "Elm_Fileselector" 27#define MY_CLASS_NAME "Elm_Fileselector"
@@ -3108,7 +3111,7 @@ _elm_fileselector_elm_widget_focus_direction(Eo *obj EINA_UNUSED, Elm_Fileselect
3108} 3111}
3109 3112
3110EOLIAN static Eina_Bool 3113EOLIAN static Eina_Bool
3111_elm_fileselector_elm_layout_text_set(Eo *obj EINA_UNUSED, Elm_Fileselector_Data *sd, const char *part, const char *label) 3114_elm_fileselector_text_set(Eo *obj EINA_UNUSED, Elm_Fileselector_Data *sd, const char *part, const char *label)
3112{ 3115{
3113 if (!part) return EINA_FALSE; 3116 if (!part) return EINA_FALSE;
3114 3117
@@ -3124,8 +3127,8 @@ _elm_fileselector_elm_layout_text_set(Eo *obj EINA_UNUSED, Elm_Fileselector_Data
3124 } 3127 }
3125 else 3128 else
3126 { 3129 {
3127 Eina_Bool int_ret = EINA_FALSE; 3130 Eina_Bool int_ret = EINA_TRUE;
3128 int_ret = elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, label); 3131 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
3129 return int_ret; 3132 return int_ret;
3130 } 3133 }
3131 3134
@@ -3188,6 +3191,14 @@ _elm_fileselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA
3188 return &atspi_actions[0]; 3191 return &atspi_actions[0];
3189} 3192}
3190 3193
3194
3195/* Efl.Part begin */
3196
3197ELM_PART_OVERRIDE(elm_fileselector, ELM_FILESELECTOR, ELM_LAYOUT, Elm_Fileselector_Data, Elm_Part_Data)
3198ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector, ELM_FILESELECTOR, ELM_LAYOUT, Elm_Fileselector_Data, Elm_Part_Data)
3199#include "elm_fileselector_internal_part.eo.c"
3200
3201/* Efl.Part end */
3191/* Internal EO APIs and hidden overrides */ 3202/* Internal EO APIs and hidden overrides */
3192 3203
3193#define ELM_FILESELECTOR_EXTRA_OPS \ 3204#define ELM_FILESELECTOR_EXTRA_OPS \
diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c
index 2f011b7..9c31c5e 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -256,11 +256,11 @@ _elm_fileselector_entry_elm_widget_disable(Eo *obj, Elm_Fileselector_Entry_Data
256} 256}
257 257
258EOLIAN static Eina_Bool 258EOLIAN static Eina_Bool
259_elm_fileselector_entry_elm_layout_text_set(Eo *obj, Elm_Fileselector_Entry_Data *sd, const char *part, const char *label) 259_elm_fileselector_entry_text_set(Eo *obj, Elm_Fileselector_Entry_Data *sd, const char *part, const char *label)
260{ 260{
261 if (part && strcmp(part, "default")) 261 if (part && strcmp(part, "default"))
262 { 262 {
263 return elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, label); 263 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
264 } 264 }
265 265
266 elm_object_text_set(sd->button, label); 266 elm_object_text_set(sd->button, label);
@@ -268,12 +268,12 @@ _elm_fileselector_entry_elm_layout_text_set(Eo *obj, Elm_Fileselector_Entry_Data
268} 268}
269 269
270EOLIAN static const char * 270EOLIAN static const char *
271_elm_fileselector_entry_elm_layout_text_get(Eo *obj, Elm_Fileselector_Entry_Data *sd, const char *part) 271_elm_fileselector_entry_text_get(Eo *obj, Elm_Fileselector_Entry_Data *sd, const char *part)
272{ 272{
273 if (part && strcmp(part, "default")) 273 if (part && strcmp(part, "default"))
274 { 274 {
275 const char *text = NULL; 275 const char *text = NULL;
276 text = elm_obj_layout_text_get(efl_super(obj, MY_CLASS), part); 276 text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
277 return text; 277 return text;
278 } 278 }
279 279
@@ -681,6 +681,8 @@ ELM_PART_OVERRIDE(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, El
681ELM_PART_OVERRIDE_CONTENT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data) 681ELM_PART_OVERRIDE_CONTENT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
682ELM_PART_OVERRIDE_CONTENT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data) 682ELM_PART_OVERRIDE_CONTENT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
683ELM_PART_OVERRIDE_CONTENT_UNSET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data) 683ELM_PART_OVERRIDE_CONTENT_UNSET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
684ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
685ELM_PART_OVERRIDE_TEXT_GET(elm_fileselector_entry, ELM_FILESELECTOR_ENTRY, ELM_LAYOUT, Elm_Fileselector_Entry_Data, Elm_Part_Data)
684#include "elm_fileselector_entry_internal_part.eo.c" 686#include "elm_fileselector_entry_internal_part.eo.c"
685 687
686/* Efl.Part end */ 688/* Efl.Part end */
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index f3098ea..7d00d6d 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -10,6 +10,9 @@
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "elm_widget_multibuttonentry.h" 11#include "elm_widget_multibuttonentry.h"
12 12
13#include "elm_multibuttonentry_internal_part.eo.h"
14#include "elm_part_helper.h"
15
13#define MY_CLASS ELM_MULTIBUTTONENTRY_CLASS 16#define MY_CLASS ELM_MULTIBUTTONENTRY_CLASS
14 17
15#define MY_CLASS_NAME "Elm_Multibuttonentry" 18#define MY_CLASS_NAME "Elm_Multibuttonentry"
@@ -1505,9 +1508,9 @@ _view_init(Evas_Object *obj, Elm_Multibuttonentry_Data *sd)
1505} 1508}
1506 1509
1507EOLIAN static Eina_Bool 1510EOLIAN static Eina_Bool
1508_elm_multibuttonentry_elm_layout_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, const char *part, const char *label) 1511_elm_multibuttonentry_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, const char *part, const char *label)
1509{ 1512{
1510 Eina_Bool int_ret = EINA_FALSE; 1513 Eina_Bool int_ret = EINA_TRUE;
1511 1514
1512 if (!part || !strcmp(part, "default")) 1515 if (!part || !strcmp(part, "default"))
1513 { 1516 {
@@ -1520,13 +1523,13 @@ _elm_multibuttonentry_elm_layout_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd
1520 int_ret = EINA_TRUE; 1523 int_ret = EINA_TRUE;
1521 } 1524 }
1522 else 1525 else
1523 int_ret = elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, label); 1526 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
1524 1527
1525 return int_ret; 1528 return int_ret;
1526} 1529}
1527 1530
1528EOLIAN static const char* 1531EOLIAN static const char*
1529_elm_multibuttonentry_elm_layout_text_get(Eo *obj, Elm_Multibuttonentry_Data *sd, const char *part) 1532_elm_multibuttonentry_text_get(Eo *obj, Elm_Multibuttonentry_Data *sd, const char *part)
1530{ 1533{
1531 const char *text = NULL; 1534 const char *text = NULL;
1532 1535
@@ -1539,7 +1542,7 @@ _elm_multibuttonentry_elm_layout_text_get(Eo *obj, Elm_Multibuttonentry_Data *sd
1539 text = sd->guide_text_str; 1542 text = sd->guide_text_str;
1540 } 1543 }
1541 else 1544 else
1542 text = elm_obj_layout_text_get(efl_super(obj, MY_CLASS), part); 1545 text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
1543 1546
1544 return text; 1547 return text;
1545} 1548}
@@ -2101,6 +2104,14 @@ _elm_multibuttonentry_item_elm_interface_atspi_widget_action_elm_actions_get(Eo
2101 return &atspi_actions[0]; 2104 return &atspi_actions[0];
2102} 2105}
2103 2106
2107/* Efl.Part begin */
2108
2109ELM_PART_OVERRIDE(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, ELM_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
2110ELM_PART_OVERRIDE_TEXT_SET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, ELM_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
2111ELM_PART_OVERRIDE_TEXT_GET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, ELM_LAYOUT, Elm_Multibuttonentry_Data, Elm_Part_Data)
2112#include "elm_multibuttonentry_internal_part.eo.c"
2113
2114/* Efl.Part end */
2104/* Internal EO APIs and hidden overrides */ 2115/* Internal EO APIs and hidden overrides */
2105 2116
2106#define ELM_MULTIBUTTONENTRY_EXTRA_OPS \ 2117#define ELM_MULTIBUTTONENTRY_EXTRA_OPS \
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index dbae4ec..8d908eb 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1028,7 +1028,7 @@ _elm_naviframe_elm_layout_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSE
1028/* content/text smart functions proxying things to the top item, which 1028/* content/text smart functions proxying things to the top item, which
1029 * is the resize object of the layout */ 1029 * is the resize object of the layout */
1030EOLIAN static Eina_Bool 1030EOLIAN static Eina_Bool
1031_elm_naviframe_elm_layout_text_set(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *part, const char *label) 1031_elm_naviframe_text_set(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *part, const char *label)
1032{ 1032{
1033 Elm_Object_Item *it; 1033 Elm_Object_Item *it;
1034 const char *text = NULL; 1034 const char *text = NULL;
@@ -1044,7 +1044,7 @@ _elm_naviframe_elm_layout_text_set(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED,
1044} 1044}
1045 1045
1046EOLIAN static const char* 1046EOLIAN static const char*
1047_elm_naviframe_elm_layout_text_get(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *part) 1047_elm_naviframe_text_get(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *part)
1048{ 1048{
1049 Elm_Object_Item *it = elm_naviframe_top_item_get(obj); 1049 Elm_Object_Item *it = elm_naviframe_top_item_get(obj);
1050 if (!it) return NULL; 1050 if (!it) return NULL;
@@ -2074,6 +2074,8 @@ ELM_PART_OVERRIDE(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data,
2074ELM_PART_OVERRIDE_CONTENT_SET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data) 2074ELM_PART_OVERRIDE_CONTENT_SET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
2075ELM_PART_OVERRIDE_CONTENT_GET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data) 2075ELM_PART_OVERRIDE_CONTENT_GET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
2076ELM_PART_OVERRIDE_CONTENT_UNSET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data) 2076ELM_PART_OVERRIDE_CONTENT_UNSET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
2077ELM_PART_OVERRIDE_TEXT_SET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
2078ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Naviframe_Data, Elm_Part_Data)
2077#include "elm_naviframe_internal_part.eo.c" 2079#include "elm_naviframe_internal_part.eo.c"
2078 2080
2079/* Efl.Part end */ 2081/* Efl.Part end */
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 9608630..afeb003 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1057,7 +1057,7 @@ end:
1057} 1057}
1058 1058
1059EOLIAN static Eina_Bool 1059EOLIAN static Eina_Bool
1060_elm_popup_elm_layout_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, const char *label) 1060_elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, const char *label)
1061{ 1061{
1062 Eina_Bool int_ret = EINA_FALSE; 1062 Eina_Bool int_ret = EINA_FALSE;
1063 1063
@@ -1091,7 +1091,7 @@ _content_text_get(const Elm_Popup_Data *sd)
1091} 1091}
1092 1092
1093EOLIAN static const char* 1093EOLIAN static const char*
1094_elm_popup_elm_layout_text_get(Eo *obj EINA_UNUSED, Elm_Popup_Data *_pd, const char *part) 1094_elm_popup_text_get(Eo *obj EINA_UNUSED, Elm_Popup_Data *_pd, const char *part)
1095{ 1095{
1096 const char *text = NULL; 1096 const char *text = NULL;
1097 1097
@@ -1915,6 +1915,8 @@ ELM_PART_OVERRIDE(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Dat
1915ELM_PART_OVERRIDE_CONTENT_SET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data) 1915ELM_PART_OVERRIDE_CONTENT_SET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
1916ELM_PART_OVERRIDE_CONTENT_GET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data) 1916ELM_PART_OVERRIDE_CONTENT_GET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
1917ELM_PART_OVERRIDE_CONTENT_UNSET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data) 1917ELM_PART_OVERRIDE_CONTENT_UNSET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
1918ELM_PART_OVERRIDE_TEXT_SET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
1919ELM_PART_OVERRIDE_TEXT_GET(elm_popup, ELM_POPUP, ELM_LAYOUT, Elm_Popup_Data, Elm_Part_Data)
1918#include "elm_popup_internal_part.eo.c" 1920#include "elm_popup_internal_part.eo.c"
1919 1921
1920/* Efl.Part end */ 1922/* Efl.Part end */
diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c
index e3e09db..b4a9508 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -13,6 +13,9 @@
13 13
14#include "elm_actionslider.eo.h" 14#include "elm_actionslider.eo.h"
15 15
16#include "elm_actionslider_internal_part.eo.h"
17#include "elm_part_helper.h"
18
16#define MY_CLASS ELM_ACTIONSLIDER_CLASS 19#define MY_CLASS ELM_ACTIONSLIDER_CLASS
17 20
18#define MY_CLASS_NAME "Elm_Actionslider" 21#define MY_CLASS_NAME "Elm_Actionslider"
@@ -449,24 +452,24 @@ _mirrored_part_fix(const Evas_Object *obj,
449} 452}
450 453
451EOLIAN static Eina_Bool 454EOLIAN static Eina_Bool
452_elm_actionslider_elm_layout_text_set(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, const char *part, const char *text) 455_elm_actionslider_text_set(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, const char *part, const char *text)
453{ 456{
454 Eina_Bool int_ret = EINA_FALSE; 457 Eina_Bool int_ret = EINA_TRUE;
455 458
456 _mirrored_part_fix(obj, &part); 459 _mirrored_part_fix(obj, &part);
457 int_ret = elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, text); 460 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text);
458 461
459 return int_ret; 462 return int_ret;
460} 463}
461 464
462EOLIAN static const char* 465EOLIAN static const char*
463_elm_actionslider_elm_layout_text_get(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, const char *part) 466_elm_actionslider_text_get(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, const char *part)
464{ 467{
465 const char *text = NULL; 468 const char *text = NULL;
466 469
467 _mirrored_part_fix(obj, &part); 470 _mirrored_part_fix(obj, &part);
468 471
469 text = elm_obj_layout_text_get(efl_super(obj, MY_CLASS), part); 472 text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
470 473
471 return text; 474 return text;
472} 475}
@@ -654,6 +657,14 @@ _elm_actionslider_class_constructor(Efl_Class *klass)
654 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 657 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
655} 658}
656 659
660/* Efl.Part begin */
661ELM_PART_OVERRIDE(elm_actionslider, ELM_ACTIONSLIDER, ELM_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
662ELM_PART_OVERRIDE_TEXT_SET(elm_actionslider, ELM_ACTIONSLIDER, ELM_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
663ELM_PART_OVERRIDE_TEXT_GET(elm_actionslider, ELM_ACTIONSLIDER, ELM_LAYOUT, Elm_Actionslider_Data, Elm_Part_Data)
664
665#include "elm_actionslider_internal_part.eo.c"
666/* Efl.Part end */
667
657/* Internal EO APIs and hidden overrides */ 668/* Internal EO APIs and hidden overrides */
658 669
659#define ELM_ACTIONSLIDER_EXTRA_OPS \ 670#define ELM_ACTIONSLIDER_EXTRA_OPS \
diff --git a/src/lib/elementary/elm_actionslider.eo b/src/lib/elementary/elm_actionslider.eo
index c7d4328..1b65127 100644
--- a/src/lib/elementary/elm_actionslider.eo
+++ b/src/lib/elementary/elm_actionslider.eo
@@ -74,9 +74,9 @@ class Elm.Actionslider (Elm.Layout, Efl.Ui.Selectable)
74 Elm.Widget.focus_next_manager_is; 74 Elm.Widget.focus_next_manager_is;
75 Elm.Widget.focus_direction_manager_is; 75 Elm.Widget.focus_direction_manager_is;
76 Elm.Widget.theme_apply; 76 Elm.Widget.theme_apply;
77 Elm.Layout.text { get; set; }
78 Elm.Layout.text_aliases { get; } 77 Elm.Layout.text_aliases { get; }
79 Elm.Layout.sizing_eval; 78 Elm.Layout.sizing_eval;
79 Efl.Part.part;
80 } 80 }
81 events { 81 events {
82 pos_changed; [[The position of the actionslider has changed]] 82 pos_changed; [[The position of the actionslider has changed]]
diff --git a/src/lib/elementary/elm_actionslider_internal_part.eo b/src/lib/elementary/elm_actionslider_internal_part.eo
new file mode 100644
index 0000000..cd5b42f
--- /dev/null
+++ b/src/lib/elementary/elm_actionslider_internal_part.eo
@@ -0,0 +1,8 @@
1class Elm_Actionslider.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{
3 [[Elementary Actionslider internal part class]]
4 data: null;
5 implements {
6 Efl.Text.text { set; get; }
7 }
8}
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 15d67e4..520a161 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -11,6 +11,9 @@
11#include "elm_widget_bubble.h" 11#include "elm_widget_bubble.h"
12#include "elm_widget_layout.h" 12#include "elm_widget_layout.h"
13 13
14#include "elm_bubble_internal_part.eo.h"
15#include "elm_part_helper.h"
16
14#define MY_CLASS ELM_BUBBLE_CLASS 17#define MY_CLASS ELM_BUBBLE_CLASS
15 18
16#define MY_CLASS_NAME "Elm_Bubble" 19#define MY_CLASS_NAME "Elm_Bubble"
@@ -114,11 +117,11 @@ _elm_bubble_elm_widget_focus_direction(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED
114} 117}
115 118
116EOLIAN static Eina_Bool 119EOLIAN static Eina_Bool
117_elm_bubble_elm_layout_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part, const char *label) 120_elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part, const char *label)
118{ 121{
119 Eina_Bool int_ret = EINA_FALSE; 122 Eina_Bool int_ret = EINA_TRUE;
120 123
121 int_ret = elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, label); 124 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
122 if (!int_ret) return EINA_FALSE; 125 if (!int_ret) return EINA_FALSE;
123 126
124 if (part && (!strcmp(part, "info") || !strcmp(part, "elm.info"))) 127 if (part && (!strcmp(part, "info") || !strcmp(part, "elm.info")))
@@ -288,6 +291,12 @@ _elm_bubble_class_constructor(Efl_Class *klass)
288 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 291 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
289} 292}
290 293
294/* Efl.Part begin */
295ELM_PART_OVERRIDE(elm_bubble, ELM_BUBBLE, ELM_LAYOUT, Elm_Bubble_Data, Elm_Part_Data)
296ELM_PART_OVERRIDE_TEXT_SET(elm_bubble, ELM_BUBBLE, ELM_LAYOUT, Elm_Bubble_Data, Elm_Part_Data)
297
298#include "elm_bubble_internal_part.eo.c"
299/* Efl.Part end */
291/* Internal EO APIs and hidden overrides */ 300/* Internal EO APIs and hidden overrides */
292 301
293#define ELM_BUBBLE_EXTRA_OPS \ 302#define ELM_BUBBLE_EXTRA_OPS \
diff --git a/src/lib/elementary/elm_bubble.eo b/src/lib/elementary/elm_bubble.eo
index 2c0efba..0fb9557 100644
--- a/src/lib/elementary/elm_bubble.eo
+++ b/src/lib/elementary/elm_bubble.eo
@@ -43,9 +43,9 @@ class Elm.Bubble (Elm.Layout, Efl.Ui.Clickable)
43 Elm.Widget.focus_next; 43 Elm.Widget.focus_next;
44 Elm.Widget.focus_direction_manager_is; 44 Elm.Widget.focus_direction_manager_is;
45 Elm.Widget.access; 45 Elm.Widget.access;
46 Elm.Layout.text { set; }
47 Elm.Layout.text_aliases { get; } 46 Elm.Layout.text_aliases { get; }
48 Elm.Layout.content_aliases { get; } 47 Elm.Layout.content_aliases { get; }
49 Elm.Layout.sizing_eval; 48 Elm.Layout.sizing_eval;
49 Efl.Part.part;
50 } 50 }
51} 51}
diff --git a/src/lib/elementary/elm_bubble_internal_part.eo b/src/lib/elementary/elm_bubble_internal_part.eo
new file mode 100644
index 0000000..60654cf
--- /dev/null
+++ b/src/lib/elementary/elm_bubble_internal_part.eo
@@ -0,0 +1,8 @@
1class Elm_Bubble.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{
3 [[Elementary Bubble internal part class]]
4 data: null;
5 implements {
6 Efl.Text.text { set; }
7 }
8}
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 1880a03..16db1db 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3187,7 +3187,7 @@ _entry_text_append(Evas_Object* obj, const char* entry, Eina_Bool set)
3187} 3187}
3188 3188
3189EOLIAN static Eina_Bool 3189EOLIAN static Eina_Bool
3190_elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, const char *entry) 3190_elm_entry_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, const char *entry)
3191{ 3191{
3192 int len = 0; 3192 int len = 0;
3193 3193
@@ -3238,7 +3238,7 @@ _elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, co
3238} 3238}
3239 3239
3240EOLIAN static const char * 3240EOLIAN static const char *
3241_elm_entry_elm_layout_text_get(Eo *obj, Elm_Entry_Data *sd, const char *item) 3241_elm_entry_text_get(Eo *obj, Elm_Entry_Data *sd, const char *item)
3242{ 3242{
3243 const char *text; 3243 const char *text;
3244 3244
@@ -4139,7 +4139,7 @@ elm_entry_entry_set(Evas_Object *obj,
4139 const char *entry) 4139 const char *entry)
4140{ 4140{
4141 ELM_ENTRY_CHECK(obj); 4141 ELM_ENTRY_CHECK(obj);
4142 elm_obj_layout_text_set(obj, NULL, entry); 4142 efl_text_set(efl_part(efl_super(obj, MY_CLASS), "elm.text"), entry);
4143} 4143}
4144 4144
4145EAPI const char * 4145EAPI const char *
@@ -4147,7 +4147,7 @@ elm_entry_entry_get(const Evas_Object *obj)
4147{ 4147{
4148 ELM_ENTRY_CHECK(obj) NULL; 4148 ELM_ENTRY_CHECK(obj) NULL;
4149 const char *text = NULL; 4149 const char *text = NULL;
4150 text = elm_obj_layout_text_get((Eo *)obj, NULL); 4150 text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), "elm.text"));
4151 return text; 4151 return text;
4152} 4152}
4153 4153
@@ -6021,6 +6021,8 @@ _elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
6021ELM_PART_OVERRIDE(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data) 6021ELM_PART_OVERRIDE(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
6022ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data) 6022ELM_PART_OVERRIDE_CONTENT_SET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
6023ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data) 6023ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
6024ELM_PART_OVERRIDE_TEXT_SET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
6025ELM_PART_OVERRIDE_TEXT_GET(elm_entry, ELM_ENTRY, ELM_LAYOUT, Elm_Entry_Data, Elm_Part_Data)
6024#include "elm_entry_internal_part.eo.c" 6026#include "elm_entry_internal_part.eo.c"
6025 6027
6026/* Efl.Part end */ 6028/* Efl.Part end */
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index 5a208d4..cb028fa 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -955,7 +955,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
955 Elm.Widget.focus_next_manager_is; 955 Elm.Widget.focus_next_manager_is;
956 Elm.Layout.theme_enable; 956 Elm.Layout.theme_enable;
957 Elm.Layout.sizing_eval; 957 Elm.Layout.sizing_eval;
958 Elm.Layout.text { get; set; }
959 Elm.Layout.signal_callback_add; 958 Elm.Layout.signal_callback_add;
960 Elm.Layout.signal_callback_del; 959 Elm.Layout.signal_callback_del;
961 Elm.Layout.signal_emit; 960 Elm.Layout.signal_emit;
diff --git a/src/lib/elementary/elm_entry_internal_part.eo b/src/lib/elementary/elm_entry_internal_part.eo
index b0c0e95..c58037f 100644
--- a/src/lib/elementary/elm_entry_internal_part.eo
+++ b/src/lib/elementary/elm_entry_internal_part.eo
@@ -1,9 +1,10 @@
1class Elm.Entry.Internal.Part (Elm.Layout.Internal.Part) 1class Elm.Entry.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{ 2{
3 [[Elementary entry internal part class]] 3 [[Elementary entry internal part class]]
4 data: null; 4 data: null;
5 implements { 5 implements {
6 Efl.Container.content { set; } 6 Efl.Container.content { set; }
7 Efl.Container.content_unset; 7 Efl.Container.content_unset;
8 Efl.Text.text { set; get; }
8 } 9 }
9} 10}
diff --git a/src/lib/elementary/elm_fileselector.eo b/src/lib/elementary/elm_fileselector.eo
index 82ec570..d9f1e82 100644
--- a/src/lib/elementary/elm_fileselector.eo
+++ b/src/lib/elementary/elm_fileselector.eo
@@ -41,7 +41,6 @@ class Elm.Fileselector (Elm.Layout, Elm.Interface.Fileselector,
41 Elm.Widget.widget_event; 41 Elm.Widget.widget_event;
42 Elm.Widget.theme_apply; 42 Elm.Widget.theme_apply;
43 Elm.Widget.focus_next_manager_is; 43 Elm.Widget.focus_next_manager_is;
44 Elm.Layout.text { set; }
45 Elm.Interface.Fileselector.selected_models { get; } 44 Elm.Interface.Fileselector.selected_models { get; }
46 Elm.Interface.Fileselector.selected_model_get; 45 Elm.Interface.Fileselector.selected_model_get;
47 Elm.Interface.Fileselector.selected_model_set; 46 Elm.Interface.Fileselector.selected_model_set;
@@ -59,6 +58,7 @@ class Elm.Fileselector (Elm.Layout, Elm.Interface.Fileselector,
59 Elm.Interface.Fileselector.mode { get; set; } 58 Elm.Interface.Fileselector.mode { get; set; }
60 Elm.Interface.Fileselector.current_name { get; set; } 59 Elm.Interface.Fileselector.current_name { get; set; }
61 Elm.Interface.Atspi_Widget_Action.elm_actions { get; } 60 Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
61 Efl.Part.part;
62 } 62 }
63 events { 63 events {
64 done; [[Called when OK button was pressed]] 64 done; [[Called when OK button was pressed]]
diff --git a/src/lib/elementary/elm_fileselector_entry.eo b/src/lib/elementary/elm_fileselector_entry.eo
index e695055..50667a9 100644
--- a/src/lib/elementary/elm_fileselector_entry.eo
+++ b/src/lib/elementary/elm_fileselector_entry.eo
@@ -11,7 +11,6 @@ class Elm.Fileselector_Entry (Elm.Layout, Elm.Interface.Fileselector,
11 Elm.Widget.focus_next; 11 Elm.Widget.focus_next;
12 Elm.Widget.disable; 12 Elm.Widget.disable;
13 Elm.Widget.focus_direction_manager_is; 13 Elm.Widget.focus_direction_manager_is;
14 Elm.Layout.text { get; set; }
15 Elm.Layout.sizing_eval; 14 Elm.Layout.sizing_eval;
16 Elm.Interface.Fileselector.selected_model_get; 15 Elm.Interface.Fileselector.selected_model_get;
17 Elm.Interface.Fileselector.selected_model_set; 16 Elm.Interface.Fileselector.selected_model_set;
diff --git a/src/lib/elementary/elm_fileselector_entry_internal_part.eo b/src/lib/elementary/elm_fileselector_entry_internal_part.eo
index 6c1ede2..b5cb388 100644
--- a/src/lib/elementary/elm_fileselector_entry_internal_part.eo
+++ b/src/lib/elementary/elm_fileselector_entry_internal_part.eo
@@ -1,9 +1,10 @@
1class Elm.Fileselector.Entry.Internal.Part (Elm.Layout.Internal.Part) 1class Elm.Fileselector.Entry.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{ 2{
3 [[Elementary fileselector entry internal part class]] 3 [[Elementary fileselector entry internal part class]]
4 data: null; 4 data: null;
5 implements { 5 implements {
6 Efl.Container.content { get; set; } 6 Efl.Container.content { get; set; }
7 Efl.Container.content_unset; 7 Efl.Container.content_unset;
8 Efl.Text.text { set; get; }
8 } 9 }
9} 10}
diff --git a/src/lib/elementary/elm_fileselector_internal_part.eo b/src/lib/elementary/elm_fileselector_internal_part.eo
new file mode 100644
index 0000000..2403b5f
--- /dev/null
+++ b/src/lib/elementary/elm_fileselector_internal_part.eo
@@ -0,0 +1,9 @@
1class Elm.Fileselector.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{
3 [[Elementary fileselector entry internal part class]]
4 data: null;
5 implements {
6 Efl.Text.text { set; }
7 }
8}
9
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 982cd49..10a009c 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -10,6 +10,8 @@
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "elm_widget_layout.h" 11#include "elm_widget_layout.h"
12#include "elm_widget_label.h" 12#include "elm_widget_label.h"
13#include "elm_label_internal_part.eo.h"
14#include "elm_part_helper.h"
13 15
14#define MY_CLASS ELM_LABEL_CLASS 16#define MY_CLASS ELM_LABEL_CLASS
15 17
@@ -338,15 +340,16 @@ _stringshare_key_value_replace(const char **srcstring, const char *key, const ch
338} 340}
339 341
340EOLIAN static Eina_Bool 342EOLIAN static Eina_Bool
341_elm_label_elm_layout_text_set(Eo *obj, Elm_Label_Data *sd, const char *part, const char *label) 343_elm_label_text_set(Eo *obj, Elm_Label_Data *sd, const char *part, const char *label)
342{ 344{
343 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 345 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
344 Eina_Bool int_ret = EINA_FALSE; 346 Eina_Bool int_ret = EINA_TRUE;
345 347
346 if (!label) label = ""; 348 if (!label) label = "";
347 _label_format_set(wd->resize_obj, sd->format); 349 _label_format_set(wd->resize_obj, sd->format);
348 350
349 int_ret = elm_obj_layout_text_set(efl_super(obj, MY_CLASS), part, label); 351 efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
352
350 if (int_ret) 353 if (int_ret)
351 { 354 {
352 sd->lastw = -1; 355 sd->lastw = -1;
@@ -643,6 +646,13 @@ _elm_label_class_constructor(Efl_Class *klass)
643 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 646 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
644} 647}
645 648
649/* Efl.Part begin */
650ELM_PART_OVERRIDE(elm_label, ELM_LABEL, ELM_LAYOUT, Elm_Label_Data, Elm_Part_Data)
651ELM_PART_OVERRIDE_TEXT_SET(elm_label, ELM_LABEL, ELM_LAYOUT, Elm_Label_Data, Elm_Part_Data)
652
653#include "elm_label_internal_part.eo.c"
654/* Efl.Part end */
655
646/* Internal EO APIs and hidden overrides */ 656/* Internal EO APIs and hidden overrides */
647 657
648#define ELM_LABEL_EXTRA_OPS \ 658#define ELM_LABEL_EXTRA_OPS \
diff --git a/src/lib/elementary/elm_label.eo b/src/lib/elementary/elm_label.eo
index a8d6f28..c6525c3 100644
--- a/src/lib/elementary/elm_label.eo
+++ b/src/lib/elementary/elm_label.eo
@@ -127,9 +127,9 @@ class Elm.Label (Elm.Layout)
127 Elm.Widget.focus_next_manager_is; 127 Elm.Widget.focus_next_manager_is;
128 Elm.Widget.focus_direction_manager_is; 128 Elm.Widget.focus_direction_manager_is;
129 Elm.Widget.theme_apply; 129 Elm.Widget.theme_apply;
130 Elm.Layout.text { set; }
131 Elm.Layout.text_aliases { get; } 130 Elm.Layout.text_aliases { get; }
132 Elm.Layout.sizing_eval; 131 Elm.Layout.sizing_eval;
132 Efl.Part.part;
133 } 133 }
134 events { 134 events {
135 slide,end; [[Called when slide stopped]] 135 slide,end; [[Called when slide stopped]]
diff --git a/src/lib/elementary/elm_label_internal_part.eo b/src/lib/elementary/elm_label_internal_part.eo
new file mode 100644
index 0000000..881c7fd
--- /dev/null
+++ b/src/lib/elementary/elm_label_internal_part.eo
@@ -0,0 +1,8 @@
1class Elm_Label.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{
3 [[Elementary button internal part class]]
4 data: null;
5 implements {
6 Efl.Text.text { set; }
7 }
8}
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index d63b015..18e6f5a 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -2315,6 +2315,19 @@ elm_layout_table_clear(Elm_Layout *obj, const char *part, Eina_Bool clear)
2315 return efl_pack_unpack_all(efl_part(obj, part)); 2315 return efl_pack_unpack_all(efl_part(obj, part));
2316} 2316}
2317 2317
2318EAPI Eina_Bool
2319elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text)
2320{
2321 efl_text_set(efl_part(obj, part), text);
2322 return EINA_TRUE;
2323}
2324
2325EAPI const char *
2326elm_layout_text_get(const Elm_Layout *obj, const char *part)
2327{
2328 return efl_text_get(efl_part(obj, part));
2329}
2330
2318/* Efl.Part implementation */ 2331/* Efl.Part implementation */
2319 2332
2320static EOLIAN Efl_Object * 2333static EOLIAN Efl_Object *
@@ -2354,6 +2367,8 @@ ELM_PART_IMPLEMENT_DESTRUCTOR(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm
2354ELM_PART_IMPLEMENT_CONTENT_SET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data) 2367ELM_PART_IMPLEMENT_CONTENT_SET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
2355ELM_PART_IMPLEMENT_CONTENT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data) 2368ELM_PART_IMPLEMENT_CONTENT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
2356ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data) 2369ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
2370ELM_PART_IMPLEMENT_TEXT_SET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
2371ELM_PART_IMPLEMENT_TEXT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
2357#include "elm_layout_internal_part.eo.c" 2372#include "elm_layout_internal_part.eo.c"
2358 2373
2359/* Efl.Part end */ 2374/* Efl.Part end */
diff --git a/src/lib/elementary/elm_layout.eo b/src/lib/elementary/elm_layout.eo
index 2e83d1d..48ce1d5 100644
--- a/src/lib/elementary/elm_layout.eo
+++ b/src/lib/elementary/elm_layout.eo
@@ -196,21 +196,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File,
196 @in part_name: string; [[A part from loaded edje group.]] 196 @in part_name: string; [[A part from loaded edje group.]]
197 } 197 }
198 } 198 }
199 @property text {
200 set {
201 [[Set the text of the given part.]]
202 return: bool; [[$true on success, $false otherwise]]
203 }
204 get {
205 [[Get the text set in the given part.]]
206 }
207 keys {
208 part: string @nullable; [[The TEXT part where to set the text.]]
209 }
210 values {
211 text: string @nullable; [[The text to set.]]
212 }
213 }
214 signal_callback_add { 199 signal_callback_add {
215 [[Add a callback for a (Edje) signal emitted by a layout widget's 200 [[Add a callback for a (Edje) signal emitted by a layout widget's
216 underlying Edje object. 201 underlying Edje object.
diff --git a/src/lib/elementary/elm_layout_internal_part.eo b/src/lib/elementary/elm_layout_internal_part.eo
index 4ce15a3..d790cd4 100644
--- a/src/lib/elementary/elm_layout_internal_part.eo
+++ b/src/lib/elementary/elm_layout_internal_part.eo
@@ -1,4 +1,4 @@
1class Elm.Layout.Internal.Part (Efl.Object, Efl.Container) 1class Elm.Layout.Internal.Part (Efl.Object, Efl.Container, Efl.Text)
2{ 2{
3 [[Elementary layout internal part class]] 3 [[Elementary layout internal part class]]
4 data: Elm_Part_Data; 4 data: Elm_Part_Data;
@@ -6,5 +6,6 @@ class Elm.Layout.Internal.Part (Efl.Object, Efl.Container)
6 Efl.Object.destructor; 6 Efl.Object.destructor;
7 Efl.Container.content { get; set; } 7 Efl.Container.content { get; set; }
8 Efl.Container.content_unset; 8 Efl.Container.content_unset;
9 Efl.Text.text { set; get; }
9 } 10 }
10} 11}
diff --git a/src/lib/elementary/elm_layout_legacy.h b/src/lib/elementary/elm_layout_legacy.h
index c9654d2..0bae5a0 100644
--- a/src/lib/elementary/elm_layout_legacy.h
+++ b/src/lib/elementary/elm_layout_legacy.h
@@ -368,4 +368,27 @@ EAPI int elm_layout_freeze(Evas_Object *obj);
368 */ 368 */
369EAPI int elm_layout_thaw(Evas_Object *obj); 369EAPI int elm_layout_thaw(Evas_Object *obj);
370 370
371/**
372 * @brief Set the text of the given part.
373 *
374 * @param[in] part The TEXT part where to set the text.
375 * @param[in] text The text to set.
376 *
377 * @return @c true on success, @c false otherwise
378 *
379 * @ingroup Elm_Layout
380 */
381EAPI Eina_Bool elm_layout_text_set(Elm_Layout *obj, const char * part, const char *text);
382
383/**
384 * @brief Get the text set in the given part.
385 *
386 * @param[in] part The TEXT part where to set the text.
387 *
388 * @return The text to set.
389 *
390 * @ingroup Elm_Layout
391 */
392EAPI const char *elm_layout_text_get(const Elm_Layout *obj, const char * part);
393
371#include "elm_layout.eo.legacy.h" 394#include "elm_layout.eo.legacy.h"
diff --git a/src/lib/elementary/elm_multibuttonentry.eo b/src/lib/elementary/elm_multibuttonentry.eo
index 51cfc61..bc32aef 100644
--- a/src/lib/elementary/elm_multibuttonentry.eo
+++ b/src/lib/elementary/elm_multibuttonentry.eo
@@ -187,9 +187,9 @@ class Elm.Multibuttonentry (Elm.Layout)
187 Elm.Widget.on_focus; 187 Elm.Widget.on_focus;
188 Elm.Widget.translate; 188 Elm.Widget.translate;
189 Elm.Widget.widget_event; 189 Elm.Widget.widget_event;
190 Elm.Layout.text { get; set; }
191 Elm.Layout.sizing_eval; 190 Elm.Layout.sizing_eval;
192 Elm.Interface.Atspi_Accessible.children { get; } 191 Elm.Interface.Atspi_Accessible.children { get; }
192 Efl.Part.part;
193 } 193 }
194 events { 194 events {
195 item,selected; [[Called when item was selected]] 195 item,selected; [[Called when item was selected]]
diff --git a/src/lib/elementary/elm_multibuttonentry_internal_part.eo b/src/lib/elementary/elm_multibuttonentry_internal_part.eo
new file mode 100644
index 0000000..1471fbb
--- /dev/null
+++ b/src/lib/elementary/elm_multibuttonentry_internal_part.eo
@@ -0,0 +1,9 @@
1class Elm.Multibuttonentry.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{
3 [[Elementary multibuttonentry internal part class]]
4 data: null;
5 implements {
6 Efl.Text.text { set; get; }
7 }
8}
9
diff --git a/src/lib/elementary/elm_naviframe.eo b/src/lib/elementary/elm_naviframe.eo
index 2fe7e4a..4619bd7 100644
--- a/src/lib/elementary/elm_naviframe.eo
+++ b/src/lib/elementary/elm_naviframe.eo
@@ -152,7 +152,6 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
152 Elm.Widget.translate; 152 Elm.Widget.translate;
153 Elm.Widget.theme_apply; 153 Elm.Widget.theme_apply;
154 Elm.Widget.widget_event; 154 Elm.Widget.widget_event;
155 Elm.Layout.text { get; set; }
156 Elm.Layout.signal_emit; 155 Elm.Layout.signal_emit;
157 Elm.Layout.sizing_eval; 156 Elm.Layout.sizing_eval;
158 Elm.Interface.Atspi_Widget_Action.elm_actions { get; } 157 Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
diff --git a/src/lib/elementary/elm_naviframe_internal_part.eo b/src/lib/elementary/elm_naviframe_internal_part.eo
index 1427e78..a3821cb 100644
--- a/src/lib/elementary/elm_naviframe_internal_part.eo
+++ b/src/lib/elementary/elm_naviframe_internal_part.eo
@@ -5,5 +5,6 @@ class Elm.Naviframe.Internal.Part (Elm.Layout.Internal.Part)
5 implements { 5 implements {
6 Efl.Container.content { get; set; } 6 Efl.Container.content { get; set; }
7 Efl.Container.content_unset; 7 Efl.Container.content_unset;
8 Efl.Text.text { set; get; }
8 } 9 }
9} 10}
diff --git a/src/lib/elementary/elm_part_helper.h b/src/lib/elementary/elm_part_helper.h
index 36c7888..71d34c9 100644
--- a/src/lib/elementary/elm_part_helper.h
+++ b/src/lib/elementary/elm_part_helper.h
@@ -77,6 +77,21 @@ _ ## type ## _internal_part_efl_container_content_unset(Eo *obj, partdata *pd) \
77 ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, pd->sd, pd->part)); \ 77 ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, pd->sd, pd->part)); \
78} 78}
79 79
80#define ELM_PART_IMPLEMENT_TEXT_SET(type, TYPE, typedata, partdata) \
81static EOLIAN void \
82_ ## type ## _internal_part_efl_text_text_set(Eo *obj EINA_UNUSED, partdata *pd, const char *text) \
83{ \
84 _ ## type ## _text_set(pd->obj, pd->sd, pd->part, text); \
85}
86
87#define ELM_PART_IMPLEMENT_TEXT_GET(type, TYPE, typedata, partdata) \
88static EOLIAN const char * \
89_ ## type ## _internal_part_efl_text_text_get(Eo *obj, partdata *pd) \
90{ \
91 ELM_PART_RETURN_VAL(_ ## type ## _text_get(pd->obj, pd->sd, pd->part)); \
92}
93
94
80// For widgets that inherit from something with parts (eg. from Elm.Layout) 95// For widgets that inherit from something with parts (eg. from Elm.Layout)
81#define ELM_PART_OVERRIDE(type, TYPE, SUPER, typedata, partdata) \ 96#define ELM_PART_OVERRIDE(type, TYPE, SUPER, typedata, partdata) \
82static EOLIAN Efl_Object * \ 97static EOLIAN Efl_Object * \
@@ -125,17 +140,34 @@ _ ## type ## _internal_part_efl_container_content_unset(Eo *obj, void *_pd EINA_
125 ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, sd, pd->part)); \ 140 ELM_PART_RETURN_VAL(_ ## type ## _content_unset(pd->obj, sd, pd->part)); \
126} 141}
127 142
128#define EFL_TEXT_DEFAULT_IMPLEMENT(type, Type) \ 143#define ELM_PART_OVERRIDE_TEXT_SET(type, TYPE, SUPER, typedata, partdata) \
144static EOLIAN void \
145_ ## type ## _internal_part_efl_text_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text) \
146{ \
147 partdata *pd = efl_data_scope_get(obj, SUPER ## _INTERNAL_PART_CLASS); \
148 typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
149 ELM_PART_CALL(_ ## type ## _text_set(pd->obj, sd, pd->part, text)); \
150}
151
152#define ELM_PART_OVERRIDE_TEXT_GET(type, TYPE, SUPER, typedata, partdata) \
153static EOLIAN const char *\
154_ ## type ## _internal_part_efl_text_text_get(Eo *obj, void *_pd EINA_UNUSED) \
155{ \
156 partdata *pd = efl_data_scope_get(obj, SUPER ## _INTERNAL_PART_CLASS); \
157 typedata *sd = efl_data_scope_get(pd->obj, TYPE ## _CLASS); \
158 ELM_PART_RETURN_VAL(_ ## type ## _text_get(pd->obj, sd, pd->part)); \
159}
160
161#define EFL_TEXT_PART_DEFAULT_IMPLEMENT(type, Type) \
129EOLIAN static void \ 162EOLIAN static void \
130_ ## type ## _efl_text_text_set(Eo *obj, Type *pd EINA_UNUSED, const char *text) \ 163_ ## type ## _efl_text_text_set(Eo *obj, Type *pd EINA_UNUSED, const char *text) \
131{ \ 164{ \
132 elm_layout_text_set(obj, NULL, text); \ 165 efl_text_set(efl_part(efl_super(obj, MY_CLASS), "elm.text"), text); \
133} \ 166} \
134\
135EOLIAN static const char * \ 167EOLIAN static const char * \
136_ ## type ## _efl_text_text_get(Eo *obj, Efl_Ui_Button_Data *pd EINA_UNUSED) \ 168_ ## type ## _efl_text_text_get(Eo *obj, Type *pd EINA_UNUSED) \
137{ \ 169{ \
138 return elm_layout_text_get(obj, NULL); \ 170 return efl_text_get(efl_part(efl_super(obj, MY_CLASS), "elm.text")); \
139} 171}
140 172
141#endif 173#endif
diff --git a/src/lib/elementary/elm_popup.eo b/src/lib/elementary/elm_popup.eo
index 38f220b..83011a0 100644
--- a/src/lib/elementary/elm_popup.eo
+++ b/src/lib/elementary/elm_popup.eo
@@ -178,7 +178,6 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
178 Elm.Widget.translate; 178 Elm.Widget.translate;
179 Elm.Widget.sub_object_del; 179 Elm.Widget.sub_object_del;
180 Elm.Widget.widget_event; 180 Elm.Widget.widget_event;
181 Elm.Layout.text { get; set; }
182 Elm.Layout.sizing_eval; 181 Elm.Layout.sizing_eval;
183 Elm.Layout.signal_emit; 182 Elm.Layout.signal_emit;
184 Elm.Interface.Atspi_Widget_Action.elm_actions { get; } 183 Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
diff --git a/src/lib/elementary/elm_popup_internal_part.eo b/src/lib/elementary/elm_popup_internal_part.eo
index 8aa8432..76a26ba 100644
--- a/src/lib/elementary/elm_popup_internal_part.eo
+++ b/src/lib/elementary/elm_popup_internal_part.eo
@@ -1,9 +1,10 @@
1class Elm.Popup.Internal.Part (Elm.Layout.Internal.Part) 1class Elm.Popup.Internal.Part (Elm.Layout.Internal.Part, Efl.Text)
2{ 2{
3 [[Elementary popup internal part class]] 3 [[Elementary popup internal part class]]
4 data: null; 4 data: null;
5 implements { 5 implements {
6 Efl.Container.content { get; set; } 6 Efl.Container.content { get; set; }
7 Efl.Container.content_unset; 7 Efl.Container.content_unset;
8 Efl.Text.text { set; get; }
8 } 9 }
9} 10}