return EINA_TRUE;
}
-EOLIAN static Eina_Bool
+static Eina_Bool
_elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, const char *label)
{
Eina_Bool int_ret = EINA_FALSE;
- if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return EINA_FALSE;
+
+ if (!strcmp(part, "elm.text"))
int_ret = _content_text_set(obj, label);
else if (!strcmp(part, "title,text"))
int_ret = _title_text_set(obj, label);
{
const char *text = NULL;
- if (!part || !strcmp(part, "default"))
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return NULL;
+
+ if (!strcmp(part, "elm.text"))
text = _content_text_get(_pd);
else if (!strcmp(part, "title,text"))
text = _title_text_get(_pd);
{
Eina_Bool int_ret = EINA_TRUE;
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return EINA_FALSE;
+
_mirrored_part_fix(obj, &part);
- if (!part || !strcmp(part, "elm.text")) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text);
return int_ret;
{
const char *text = NULL;
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return NULL;
+
_mirrored_part_fix(obj, &part);
- if (!part) part = _text_aliases[0].real_part;
text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
return text;
EOLIAN static Eina_Bool
_elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part, const char *label)
{
- Eina_Bool int_ret = EINA_TRUE;
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return EINA_FALSE;
- if (!part) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
- if (!int_ret) return EINA_FALSE;
- if (part && (!strcmp(part, "info") || !strcmp(part, "elm.info")))
+ if (!strcmp(part, "elm.info"))
{
if (label)
elm_layout_signal_emit(obj, "elm,state,info,visible", "elm");
{NULL, NULL}
};
-static const Elm_Layout_Part_Alias_Description _text_aliases[] =
-{
- {"default", "elm.text"},
- {NULL, NULL}
-};
-
static void
_recalc(void *data)
{
if (!label) label = "";
_label_format_set(wd->resize_obj, sd->format);
- if (!part) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
if (int_ret)
return sd->slide_duration;
}
-EOLIAN static const Elm_Layout_Part_Alias_Description*
-_elm_label_elm_layout_text_aliases_get(Eo *obj EINA_UNUSED, Elm_Label_Data *_pd EINA_UNUSED)
-{
- return _text_aliases;
-}
-
EOLIAN static Eina_Bool
_elm_label_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Label_Data *_pd EINA_UNUSED)
{
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
- Elm.Layout.text_aliases { get; }
Elm.Layout.sizing_eval;
Efl.Part.part;
}
EAPI Eina_Bool
elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text)
{
- if (!part) part = "elm.text";
+ if (!part)
+ {
+ part = elm_widget_default_text_part_get(obj);
+ if (!part) return EINA_FALSE;
+ }
efl_text_set(efl_part(obj, part), text);
return EINA_TRUE;
}
EAPI const char *
elm_layout_text_get(const Elm_Layout *obj, const char *part)
{
- if (!part || (*part == '\0'))
+ if (!part)
{
- part = "elm.text";
+ part = elm_widget_default_text_part_get(obj);
+ if (!part) return NULL;
}
return efl_text_get(efl_part(obj, part));
}
return part;
}
+static const char *
+_elm_layout_default_text_part_get(const Eo *obj, Elm_Layout_Smart_Data *sd EINA_UNUSED)
+{
+ const char *part = NULL;
+ if (!_elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE))
+ return NULL;
+ return part;
+}
+
ELM_PART_IMPLEMENT_DESTRUCTOR(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
ELM_PART_IMPLEMENT_CONTENT_SET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
ELM_PART_IMPLEMENT_CONTENT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_Part_Data)
#define ELM_LAYOUT_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_layout), \
ELM_PART_CONTENT_DEFAULT_OPS(elm_layout), \
+ ELM_PART_TEXT_DEFAULT_OPS(elm_layout), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _elm_layout_efl_object_dbg_info_get)
#include "elm_layout.eo.c"
#define ELM_PART_CONTENT_DEFAULT_OPS(type) \
EFL_OBJECT_OP_FUNC(elm_widget_default_content_part_get, _ ## type ## _default_content_part_get)
+#define ELM_PART_TEXT_DEFAULT_GET(type, part) \
+ static const char * _ ## type ## _default_text_part_get(const Eo *obj EINA_UNUSED, void *sd EINA_UNUSED) { return part; }
+
+#define ELM_PART_TEXT_DEFAULT_OPS(type) \
+ EFL_OBJECT_OP_FUNC(elm_widget_default_text_part_get, _ ## type ## _default_text_part_get)
+
// For widgets that inherit from something with parts (eg. from Elm.Layout)
#define ELM_PART_OVERRIDE(type, TYPE, SUPER, typedata, partdata) \
static EOLIAN Efl_Object * \
/* Internal EO APIs and hidden overrides */
EFL_FUNC_BODY_CONST(elm_widget_default_content_part_get, const char *, NULL)
+EFL_FUNC_BODY_CONST(elm_widget_default_text_part_get, const char *, NULL)
ELM_PART_CONTENT_DEFAULT_SET(elm_widget, NULL)
+ELM_PART_TEXT_DEFAULT_GET(elm_widget, NULL)
#define ELM_WIDGET_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_widget), \
ELM_PART_CONTENT_DEFAULT_OPS(elm_widget), \
+ ELM_PART_TEXT_DEFAULT_OPS(elm_widget), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _elm_widget_efl_object_dbg_info_get)
#include "elm_widget_item.eo.c"
/* Internal EO APIs */
const char *elm_widget_default_content_part_get(const Eo *obj);
+const char *elm_widget_default_text_part_get(const Eo *obj);
#define ELM_WIDGET_ITEM_PROTECTED