rendered paste body/* Called when the label is realized */
static void _etk_label_realize_cb(Etk_Object *object, void *data)
{
Etk_Label *label;
Evas *evas;
const char *text_style = NULL;
Etk_Widget *widget;
Etk_Widget *parent, *tmp_parent;
if (!(label = ETK_LABEL(object)) || !(evas = etk_widget_toplevel_evas_get(ETK_WIDGET(label))))
return;
// if (!_etk_label_style)
{
_etk_label_style = evas_textblock_style_new();
/* try to find a text_style in the widgets hierarchy*/
widget = ETK_WIDGET(object);
parent = widget;
text_style = edje_object_data_get(parent->theme_object, "text_style");
//printf("TEXT STYLE: %s\n", text_style);
printf("LABEL TEXT: %s\n",label->text);
while(parent)
{
printf("PARENT NAME: %s\n",parent->name);
if ((tmp_parent = etk_widget_theme_parent_get(parent)))
{
text_style = edje_object_data_get(tmp_parent->theme_object, "text_style");
printf("TEXT STYLE FOUND");
if(text_style)
break;
}
printf("NEXT PARENT\n");
parent = etk_widget_parent_get(parent);
}
/* to provide a default label style which can be overwritten by widget text styles */
if(!text_style)
text_style = edje_object_data_get(widget->theme_object, "text_style");
if (text_style)
evas_textblock_style_set(_etk_label_style, text_style);
else
evas_textblock_style_set(_etk_label_style,
"DEFAULT='font=Vera font_size=10 align=left color=#000000 wrap=word style=shadow shadow_color=#ffffff80'"
"center='+ align=center'"
"/center='- \n'"
"right='+ align=right'"
"/right='- \n'"
"h1='+ font_size=20'"
"b='+font=Vera-Bold'"
"i='+font=Vera-Italic'"
"glow='+ style=glow color=#fff glow2_color=#fe87 glow_color=#fa14'"
"link='+ underline=on underline_color=#0000aa color=#0000aa'"
"red='+ color=#ff0000'"
"br='\n'"
"tab='\t'");
_etk_label_style_use = 0;
}
label->clip = evas_object_rectangle_add(evas);
evas_object_show(label->clip);
etk_widget_member_object_add(ETK_WIDGET(label), label->clip);
label->text_object = evas_object_textblock_add(evas);
evas_object_textblock_style_set(label->text_object, _etk_label_style);
evas_object_show(label->text_object);
etk_widget_member_object_add(ETK_WIDGET(label), label->text_object);
evas_object_clip_set(label->text_object, label->clip);
_etk_label_style_use++;
evas_object_textblock_text_markup_set(label->text_object, label->text);
etk_widget_size_recalc_queue(ETK_WIDGET(label));
}