/* FIXME: replicated from elm_layout just because button's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ static Eina_Bool _elm_button_smart_theme(Evas_Object *obj) { if (!ELM_WIDGET_CLASS(_elm_button_parent_sc)->theme(obj)) return EINA_FALSE; _icon_signal_emit(obj); return EINA_TRUE; }
static Eina_Bool _elm_mapbuf_smart_theme(Evas_Object *obj) { if (!ELM_WIDGET_CLASS(_elm_mapbuf_parent_sc)->theme(obj)) return EINA_FALSE; _sizing_eval(obj); return EINA_TRUE; }
/* final routine on deletion */ static void _elm_fileselector_smart_del_do(Elm_Fileselector_Smart_Data *sd) { if (sd->path) eina_stringshare_del(sd->path); if (sd->selection) eina_stringshare_del(sd->selection); if (sd->sel_idler) free(ecore_idler_del(sd->sel_idler)); ELM_WIDGET_CLASS(_elm_fileselector_parent_sc)->base.del (ELM_WIDGET_DATA(sd)->obj); }
/* FIXME: replicated from elm_layout just because button's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ static Eina_Bool _elm_button_smart_sub_object_del(Evas_Object *obj, Evas_Object *sobj) { if (!ELM_WIDGET_CLASS(_elm_button_parent_sc)->sub_object_del(obj, sobj)) return EINA_FALSE; _icon_signal_emit(obj); return EINA_TRUE; }
static Eina_Bool _elm_conformant_smart_theme(Evas_Object *obj) { if (!ELM_WIDGET_CLASS(_elm_conformant_parent_sc)->theme(obj)) return EINA_FALSE; _conformant_parts_swallow(obj); elm_layout_sizing_eval(obj); return EINA_TRUE; }
static Eina_Bool _elm_label_smart_theme(Evas_Object *obj) { Eina_Bool ret; ELM_LABEL_DATA_GET(obj, sd); evas_event_freeze(evas_object_evas_get(obj)); ret = ELM_WIDGET_CLASS(_elm_label_parent_sc)->theme(obj); if (!ret) goto end; _label_format_set(ELM_WIDGET_DATA(sd)->resize_obj, sd->format); _label_sliding_change(obj); end: evas_event_thaw(evas_object_evas_get(obj)); evas_event_thaw_eval(evas_object_evas_get(obj)); return ret; }
static Eina_Bool _elm_photo_smart_theme(Evas_Object *obj) { ELM_PHOTO_DATA_GET(obj, sd); if (!ELM_WIDGET_CLASS(_elm_photo_parent_sc)->theme(obj)) return EINA_FALSE; edje_object_mirrored_set (ELM_WIDGET_DATA(sd)->resize_obj, elm_widget_mirrored_get(obj)); elm_widget_theme_object_set (obj, ELM_WIDGET_DATA(sd)->resize_obj, "photo", "base", elm_widget_style_get(obj)); elm_object_scale_set(sd->icon, elm_widget_scale_get(obj)); edje_object_scale_set(ELM_WIDGET_DATA(sd)->resize_obj, elm_widget_scale_get(obj) * elm_config_scale_get()); _sizing_eval(obj); return EINA_TRUE; }
static Eina_Bool _elm_fileselector_button_smart_theme(Evas_Object *obj) { char buf[4096]; const char *style; ELM_FILESELECTOR_BUTTON_DATA_GET(obj, sd); style = eina_stringshare_add(elm_widget_style_get(obj)); snprintf(buf, sizeof(buf), "fileselector_button/%s", style); /* file selector button's style has an extra bit */ eina_stringshare_replace(&(ELM_WIDGET_DATA(sd)->style), buf); if (!ELM_WIDGET_CLASS(_elm_fileselector_button_parent_sc)->theme(obj)) return EINA_FALSE; eina_stringshare_replace(&(ELM_WIDGET_DATA(sd)->style), style); eina_stringshare_del(style); return EINA_TRUE; }
static Eina_Bool _elm_fileselector_smart_theme(Evas_Object *obj) { const char *style; const char *data; char buf[1024]; ELM_FILESELECTOR_DATA_GET(obj, sd); if (!ELM_WIDGET_CLASS(_elm_fileselector_parent_sc)->theme(obj)) return EINA_FALSE; style = elm_widget_style_get(obj); _mirrored_set(obj, elm_widget_mirrored_get(obj)); data = edje_object_data_get (ELM_WIDGET_DATA(sd)->resize_obj, "path_separator"); if (data) sd->path_separator = data; else sd->path_separator = "/"; snprintf(buf, sizeof(buf), "fileselector/%s", style); #define SWALLOW(part_name, object_ptn) \ if (object_ptn) \ { \ elm_widget_style_set(object_ptn, buf); \ if (!elm_layout_content_set(obj, part_name, object_ptn)) \ evas_object_hide(object_ptn); \ } SWALLOW("elm.swallow.up", sd->up_button); SWALLOW("elm.swallow.home", sd->home_button); SWALLOW("elm.swallow.spinner", sd->spinner); elm_object_style_set(sd->spinner, "wheel"); if (sd->mode == ELM_FILESELECTOR_LIST) { if (elm_layout_content_set(obj, "elm.swallow.files", sd->files_list)) evas_object_hide(sd->files_grid); else evas_object_hide(sd->files_list); } else { if (elm_layout_content_set(obj, "elm.swallow.files", sd->files_grid)) evas_object_hide(sd->files_list); else evas_object_hide(sd->files_grid); } SWALLOW("elm.swallow.filename", sd->filename_entry); SWALLOW("elm.swallow.path", sd->path_entry); snprintf(buf, sizeof(buf), "fileselector/actions/%s", style); SWALLOW("elm.swallow.cancel", sd->cancel_button); SWALLOW("elm.swallow.ok", sd->ok_button); #undef SWALLOW edje_object_message_signal_process(ELM_WIDGET_DATA(sd)->resize_obj); elm_layout_sizing_eval(obj); return EINA_TRUE; }