progressbar handles theme change right

SVN revision: 52280
This commit is contained in:
Carsten Haitzler 2010-09-15 00:09:03 +00:00
parent 3577e9b78f
commit 480ce38b8e
1 changed files with 19 additions and 17 deletions

View File

@ -67,32 +67,31 @@ _theme_hook(Evas_Object *obj)
{ {
Widget_Data *wd = elm_widget_data_get(obj); Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return; if (!wd) return;
edje_object_part_unswallow(NULL, wd->spacer);
if (wd->horizontal) if (wd->horizontal)
_elm_theme_object_set(obj, wd->progressbar, "progressbar", "horizontal", elm_widget_style_get(obj)); _elm_theme_object_set(obj, wd->progressbar, "progressbar", "horizontal", elm_widget_style_get(obj));
else else
_elm_theme_object_set(obj, wd->progressbar, "progressbar", "vertical", elm_widget_style_get(obj)); _elm_theme_object_set(obj, wd->progressbar, "progressbar", "vertical", elm_widget_style_get(obj));
if (wd->inverted)
edje_object_signal_emit(wd->progressbar, "elm,state,inverted,on", "elm");
else
edje_object_signal_emit(wd->progressbar, "elm,state,inverted,off", "elm");
if (wd->icon) if (wd->icon)
edje_object_signal_emit(wd->progressbar, "elm,state,icon,visible", "elm"); {
else edje_object_part_swallow(wd->progressbar, "elm.swallow.content", wd->icon);
edje_object_signal_emit(wd->progressbar, "elm,state,icon,hidden", "elm"); edje_object_signal_emit(wd->progressbar, "elm,state,icon,visible", "elm");
}
if (wd->label) if (wd->label)
edje_object_signal_emit(wd->progressbar, "elm,state,text,visible", "elm"); {
else edje_object_part_text_set(wd->progressbar, "elm.text", wd->label);
edje_object_signal_emit(wd->progressbar, "elm,state,text,hidden", "elm"); edje_object_signal_emit(wd->progressbar, "elm,state,text,visible", "elm");
edje_object_part_text_set(wd->progressbar, "elm.text", wd->label); }
if (wd->pulse) if (wd->pulse)
edje_object_signal_emit(wd->progressbar, "elm,state,pulse", "elm"); edje_object_signal_emit(wd->progressbar, "elm,state,pulse", "elm");
else else
edje_object_signal_emit(wd->progressbar, "elm,state,fraction", "elm"); edje_object_signal_emit(wd->progressbar, "elm,state,fraction", "elm");
if (wd->pulse_state)
edje_object_signal_emit(wd->progressbar, "elm,state,pulse,start", "elm");
if (wd->units && !wd->pulse) if (wd->units && !wd->pulse)
edje_object_signal_emit(wd->progressbar, "elm,state,units,visible", "elm"); edje_object_signal_emit(wd->progressbar, "elm,state,units,visible", "elm");
else
edje_object_signal_emit(wd->progressbar, "elm,state,units,hidden", "elm");
if (wd->horizontal) if (wd->horizontal)
evas_object_size_hint_min_set(wd->spacer, (double)wd->size * elm_widget_scale_get(obj) * _elm_config->scale, 1); evas_object_size_hint_min_set(wd->spacer, (double)wd->size * elm_widget_scale_get(obj) * _elm_config->scale, 1);
else else
@ -100,6 +99,9 @@ _theme_hook(Evas_Object *obj)
edje_object_part_swallow(wd->progressbar, "elm.swallow.bar", wd->spacer); edje_object_part_swallow(wd->progressbar, "elm.swallow.bar", wd->spacer);
if (wd->inverted)
edje_object_signal_emit(wd->progressbar, "elm,state,inverted,on", "elm");
_units_set(obj); _units_set(obj);
edje_object_message_signal_process(wd->progressbar); edje_object_message_signal_process(wd->progressbar);
edje_object_scale_set(wd->progressbar, elm_widget_scale_get(obj) * _elm_config->scale); edje_object_scale_set(wd->progressbar, elm_widget_scale_get(obj) * _elm_config->scale);