diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-25 15:33:31 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-26 17:58:07 +0900 |
commit | e9dfcb44ffe370f6507d563f45676609bd93a41a (patch) | |
tree | 2f16541b4afde5d4a623bcdbe54a75fa4345b240 | |
parent | 839c4ed395f4aa20c3d8089bad828f2ebdc95a4b (diff) | |
download | efl-e9dfcb44ffe370f6507d563f45676609bd93a41a.tar.gz |
widget: Implement translation API in layout
This moves the API entry points from Widget to Layout parts. I don't
think the other widgets support translation, but that is easy to fix.
The actual code implementation remains in elm_widget.c.
Legacy-only widgets are covered by Part_Legacy, while all EO widgets
that have text inherit from Layout (except Win but I don't think the
window title was translatable in legacy).
This removes 2/3 remaining part APIs from Widget.
Ref T5363
-rw-r--r-- | src/lib/elementary/efl_ui_clock.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_layout.c | 29 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_layout_part_legacy.eo | 4 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_layout_part_text.eo | 4 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_win.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elc_combobox.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elc_ctxpopup.c | 2 | ||||
-rw-r--r-- | src/lib/elementary/elc_hoversel.c | 3 | ||||
-rw-r--r-- | src/lib/elementary/elc_multibuttonentry.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elc_naviframe.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elc_popup.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_dayselector.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_diskselector.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_list.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_main.c | 10 | ||||
-rw-r--r-- | src/lib/elementary/elm_menu.c | 3 | ||||
-rw-r--r-- | src/lib/elementary/elm_segment_control.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_toolbar.c | 1 | ||||
-rw-r--r-- | src/lib/elementary/elm_widget.c | 54 | ||||
-rw-r--r-- | src/lib/elementary/elm_widget.eo | 17 | ||||
-rw-r--r-- | src/lib/elementary/elm_widget.h | 5 |
21 files changed, 81 insertions, 61 deletions
diff --git a/src/lib/elementary/efl_ui_clock.c b/src/lib/elementary/efl_ui_clock.c index 5de015f2e5..6ab8fd99e0 100644 --- a/src/lib/elementary/efl_ui_clock.c +++ b/src/lib/elementary/efl_ui_clock.c @@ -3,6 +3,7 @@ #endif #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c index d31c39db64..6ba041d75d 100644 --- a/src/lib/elementary/efl_ui_layout.c +++ b/src/lib/elementary/efl_ui_layout.c @@ -2565,6 +2565,20 @@ ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_content, efl_ui_layout, ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_text, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) +EOLIAN static const char * +_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain); +} + +EOLIAN static void +_efl_ui_layout_part_text_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain); +} + /* Efl.Ui.Layout.Part_Legacy */ ELM_PART_OVERRIDE_CONTENT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) ELM_PART_OVERRIDE_CONTENT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) @@ -2572,6 +2586,21 @@ ELM_PART_OVERRIDE_CONTENT_UNSET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, E ELM_PART_OVERRIDE_TEXT_GET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) ELM_PART_OVERRIDE_TEXT_SET_FULL(efl_ui_layout_part_legacy, efl_ui_layout, EFL_UI_LAYOUT, Efl_Ui_Layout_Data) +EOLIAN static const char * +_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_get(Eo *obj, void *_pd EINA_UNUSED, const char **domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain); +} + +EOLIAN static void +_efl_ui_layout_part_legacy_efl_ui_translatable_translatable_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *label, const char *domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + elm_widget_part_translatable_text_set(pd->obj, pd->part, label, domain); +} + +/* Efl.Ui.Layout.Part_Xxx includes */ #include "efl_ui_layout_part.eo.c" #include "efl_ui_layout_part_content.eo.c" #include "efl_ui_layout_part_text.eo.c" diff --git a/src/lib/elementary/efl_ui_layout_part_legacy.eo b/src/lib/elementary/efl_ui_layout_part_legacy.eo index 8904b90222..3d4d335521 100644 --- a/src/lib/elementary/efl_ui_layout_part_legacy.eo +++ b/src/lib/elementary/efl_ui_layout_part_legacy.eo @@ -1,4 +1,5 @@ -class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Container, Efl.Text) +class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Container, Efl.Text, + Efl.Ui.Translatable) { [[Elementary layout internal part class]] data: null; @@ -6,5 +7,6 @@ class Efl.Ui.Layout.Part_Legacy (Efl.Ui.Layout.Part, Efl.Container, Efl.Text) Efl.Container.content { get; set; } Efl.Container.content_unset; Efl.Text.text { set; get; } + Efl.Ui.Translatable.translatable_text { get; set; } } } diff --git a/src/lib/elementary/efl_ui_layout_part_text.eo b/src/lib/elementary/efl_ui_layout_part_text.eo index ce53d49f00..b117a5fbae 100644 --- a/src/lib/elementary/efl_ui_layout_part_text.eo +++ b/src/lib/elementary/efl_ui_layout_part_text.eo @@ -1,8 +1,10 @@ -class Efl.Ui.Layout.Part_Text (Efl.Ui.Layout.Part, Efl.Text) +class Efl.Ui.Layout.Part_Text (Efl.Ui.Layout.Part, Efl.Text, + Efl.Ui.Translatable) { [[Elementary layout internal part class]] data: null; implements { Efl.Text.text { set; get; } + Efl.Ui.Translatable.translatable_text { get; set; } } } diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 1a94b70c2e..06607a6ed6 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -9,6 +9,7 @@ #define EFL_GFX_SIZE_HINT_PROTECTED #define EFL_CANVAS_OBJECT_BETA #define EFL_CANVAS_OBJECT_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #define EFL_UI_WIN_INLINED_PROTECTED #define EFL_UI_WIN_BETA diff --git a/src/lib/elementary/elc_combobox.c b/src/lib/elementary/elc_combobox.c index b172153e7c..e11feb208d 100644 --- a/src/lib/elementary/elc_combobox.c +++ b/src/lib/elementary/elc_combobox.c @@ -5,6 +5,7 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define ELM_WIDGET_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c index d53cb203e8..166ef966c4 100644 --- a/src/lib/elementary/elc_ctxpopup.c +++ b/src/lib/elementary/elc_ctxpopup.c @@ -4,9 +4,9 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED - #define ELM_WIDGET_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c index d4973b103c..3f0f12611f 100644 --- a/src/lib/elementary/elc_hoversel.c +++ b/src/lib/elementary/elc_hoversel.c @@ -4,9 +4,10 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED - #define ELM_WIDGET_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED + #include <Elementary.h> #include "elm_priv.h" #include "elm_hoversel.eo.h" diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c index 90538e4bcb..3740e09061 100644 --- a/src/lib/elementary/elc_multibuttonentry.c +++ b/src/lib/elementary/elc_multibuttonentry.c @@ -5,6 +5,7 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 6975a701b4..c6a3e56c13 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -6,6 +6,7 @@ #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED #define ELM_WIDGET_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 7f0e45ef82..63130ca7ad 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -6,6 +6,7 @@ #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define ELM_WIDGET_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elm_dayselector.c b/src/lib/elementary/elm_dayselector.c index 7274b84985..88de718a65 100644 --- a/src/lib/elementary/elm_dayselector.c +++ b/src/lib/elementary/elm_dayselector.c @@ -3,6 +3,7 @@ #endif #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c index eea10e492b..cc72466fab 100644 --- a/src/lib/elementary/elm_diskselector.c +++ b/src/lib/elementary/elm_diskselector.c @@ -5,6 +5,7 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c index e0f2f92f34..26d88065dc 100644 --- a/src/lib/elementary/elm_list.c +++ b/src/lib/elementary/elm_list.c @@ -6,6 +6,7 @@ #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define EFL_ACCESS_SELECTION_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index 4d65e56052..f433d57030 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -1484,14 +1484,20 @@ EAPI void elm_object_domain_translatable_part_text_set(Evas_Object *obj, const char *part, const char *domain, const char *text) { EINA_SAFETY_ON_NULL_RETURN(obj); - elm_widget_domain_translatable_part_text_set(obj, part, domain, text); + if (!part) + efl_ui_translatable_text_set(obj, text, domain); + else + efl_ui_translatable_text_set(efl_part(obj, part), text, domain); } EAPI const char * elm_object_translatable_part_text_get(const Evas_Object *obj, const char *part) { EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL); - return elm_widget_translatable_part_text_get(obj, part); + if (!part) + return efl_ui_translatable_text_get(obj, NULL); + else + return efl_ui_translatable_text_get(efl_part(obj, part), NULL); } EAPI void diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c index 29d8caaa13..5348ea707f 100644 --- a/src/lib/elementary/elm_menu.c +++ b/src/lib/elementary/elm_menu.c @@ -5,8 +5,9 @@ #define ELM_WIDGET_PROTECTED #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define EFL_ACCESS_SELECTION_PROTECTED - #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED + #include <Elementary.h> #include "elm_priv.h" diff --git a/src/lib/elementary/elm_segment_control.c b/src/lib/elementary/elm_segment_control.c index 8ea9689ee7..11a1753b8c 100644 --- a/src/lib/elementary/elm_segment_control.c +++ b/src/lib/elementary/elm_segment_control.c @@ -4,6 +4,7 @@ #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c index 37955b7738..4e96ac6a07 100644 --- a/src/lib/elementary/elm_toolbar.c +++ b/src/lib/elementary/elm_toolbar.c @@ -6,6 +6,7 @@ #define EFL_ACCESS_SELECTION_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #define ELM_WIDGET_ITEM_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index fca0787b42..3efab18acf 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -8,6 +8,7 @@ #define ELM_WIDGET_ITEM_PROTECTED #define EFL_CANVAS_OBJECT_BETA #define EFL_INPUT_EVENT_PROTECTED +#define EFL_UI_TRANSLATABLE_PROTECTED #include <Elementary.h> @@ -3787,11 +3788,15 @@ _part_text_translatable_set(Eina_Inlist **translate_strings, const char *part, E return ts; } -EOLIAN static void -_elm_widget_domain_translatable_part_text_set(Eo *obj, Elm_Widget_Smart_Data *sd, const char *part, const char *domain, const char *label) +/* internal */ +void +elm_widget_part_translatable_text_set(Eo *obj, const char *part, const char *label, const char *domain) { - Elm_Translate_String_Data *ts; + Elm_Widget_Smart_Data *sd; + + sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; if (!label) { @@ -3817,16 +3822,6 @@ _elm_widget_domain_translatable_part_text_set(Eo *obj, Elm_Widget_Smart_Data *sd sd->on_translate = EINA_FALSE; } -EOLIAN static const char* -_elm_widget_translatable_part_text_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, const char *part) -{ - Elm_Translate_String_Data *ts; - - ts = _translate_string_data_get(sd->translate_strings, part); - if (ts) return ts->string; - else return NULL; -} - EOLIAN static void _elm_widget_domain_part_text_translatable_set(Eo *obj, Elm_Widget_Smart_Data *sd, const char *part, const char *domain, Eina_Bool translatable) { @@ -3853,32 +3848,23 @@ _elm_widget_domain_part_text_translatable_set(Eo *obj, Elm_Widget_Smart_Data *sd sd->on_translate = EINA_FALSE; } -static const char* -_part_text_translate(Eina_Inlist *translate_strings, - const char *part, - const char *text) +/* internal */ +const char * +elm_widget_part_translatable_text_get(const Eo *obj, const char *part, const char **domain) { + Elm_Widget_Smart_Data *sd; Elm_Translate_String_Data *ts; - ts = _translate_string_data_get(translate_strings, part); - if (!ts) return text; - if (!ts->string) ts->string = eina_stringshare_add(text); - else eina_stringshare_replace(&ts->string, text); -#ifdef HAVE_GETTEXT - if (text && text[0]) - text = dgettext(ts->domain, text); -#endif - return text; -} + if (domain) *domain = NULL; -EAPI const char* -elm_widget_part_text_translate(Eo *obj, const char *part, const char *text) -{ - Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return NULL; + + ts = _translate_string_data_get(sd->translate_strings, part); + if (!ts) return NULL; - if (!sd) return text; - if (!sd->translate_strings || sd->on_translate) return text; - return _part_text_translate(sd->translate_strings, part, text); + if (domain) *domain = ts->domain; + return ts->string; } EOLIAN static void diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 123c8baecc..679b7beff0 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -296,23 +296,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, translatable: bool; [[$true if translatable, $false otherwise]] } } - translatable_part_text_get @const { - [[Get translatable part text]] - return: string; [[Part text]] - params { - @in part: string; [[Part name]] - } - } - @property domain_translatable_part_text { - [[Domain translatable text part property]] - set { - } - values { - part: string; [[Part name]] - domain: string; [[Domain name]] - label: string; [[Label]] - } - } /* Internal hooks. */ widget_sub_object_add @protected { diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index a57630fd28..dd99b0273b 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -635,7 +635,6 @@ EAPI Eina_Bool elm_widget_api_check(int ver); EAPI Eina_Bool elm_widget_access(Evas_Object *obj, Eina_Bool is_access); EAPI Efl_Ui_Theme_Apply elm_widget_theme(Evas_Object *obj); EAPI void elm_widget_theme_specific(Evas_Object *obj, Elm_Theme *th, Eina_Bool force); -EAPI void efl_ui_translatable_translation_update(Evas_Object *obj); EAPI void elm_widget_on_show_region_hook_set(Evas_Object *obj, void *data, Efl_Ui_Scrollable_On_Show_Region func, Eina_Free_Cb data_free); EAPI Eina_Bool elm_widget_sub_object_parent_add(Evas_Object *sobj); EAPI Eina_Bool elm_widget_sub_object_add(Evas_Object *obj, Evas_Object *sobj); @@ -728,10 +727,8 @@ EAPI void elm_widget_focus_mouse_up_handle(Evas_Object *obj); EAPI void elm_widget_activate(Evas_Object *obj, Elm_Activate act); EAPI void elm_widget_part_text_set(Evas_Object *obj, const char *part, const char *label); EAPI const char *elm_widget_part_text_get(const Evas_Object *obj, const char *part); -EAPI void elm_widget_domain_translatable_part_text_set(Evas_Object *obj, const char *part, const char *domain, const char *text); EAPI const char *elm_widget_translatable_part_text_get(const Evas_Object *obj, const char *part); EAPI void elm_widget_domain_part_text_translatable_set(Evas_Object *obj, const char *part, const char *domain, Eina_Bool translatable); -EAPI const char * elm_widget_part_text_translate(Evas_Object *obj, const char *part, const char *text); EAPI void elm_widget_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content); EAPI Evas_Object *elm_widget_content_part_get(const Evas_Object *obj, const char *part); EAPI Evas_Object *elm_widget_content_part_unset(Evas_Object *obj, const char *part); @@ -743,6 +740,8 @@ EAPI Eina_Rect elm_widget_focus_highlight_geometry_get(const Evas_Object void _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it); EAPI void elm_widget_focus_region_show_mode_set(Evas_Object *obj, Elm_Focus_Region_Show_Mode mode); EAPI Elm_Focus_Region_Show_Mode elm_widget_focus_region_show_mode_get(const Evas_Object *obj); +const char *elm_widget_part_translatable_text_get(const Eo *obj, const char *part, const char **domain); +void elm_widget_part_translatable_text_set(Eo *obj, const char *part, const char *label, const char *domain); /* debug function. don't use it unless you are tracking parenting issues */ EAPI void elm_widget_tree_dump(const Evas_Object *top); |