void enna_panel_infos_set_rating(Evas_Object *obj, Enna_Metadata *m) { Evas_Object *rating = NULL; const char *rt; Smart_Data *sd = evas_object_data_get(obj, "sd"); if (!sd) return; rt = enna_metadata_meta_get(m, "rating", 1); if (rt) { char rate[16]; int r; r = MMAX(atoi(rt), 0); r = MMIN(r, 5); memset(rate, '\0', sizeof(rate)); snprintf(rate, sizeof(rate), "rating/%d", r); rating = edje_object_add(evas_object_evas_get(sd->o_edje)); edje_object_file_set(rating, enna_config_theme_get(), rate); } ENNA_OBJECT_DEL(sd->o_rating); sd->o_rating = rating; edje_object_part_swallow(sd->o_edje, "panel.rating.swallow", sd->o_rating); eina_stringshare_del(rt); }
int elicit_cslider_theme_set(Evas_Object *o, const char *file, const char *group) { Elicit_Cslider *cs; cs = evas_object_smart_data_get(o); if (cs->gui && cs->spectrum) edje_object_part_unswallow(cs->gui, cs->spectrum); if(!edje_object_file_set(cs->gui, file, group)) { fprintf(stderr, "[Elicit] Error setting cslider theme (%s, %s)\n", file, group); return 0; } edje_object_signal_callback_add(cs->gui, "drag", "slider", cb_drag, cs); edje_object_signal_callback_add(cs->gui, "elicit,scroll,*", "*", cb_scroll, cs); if (edje_object_part_exists(cs->gui, "spectrum")) { if (!cs->spectrum) { //cs->spectrum = evas_object_gradient_add(evas_object_evas_get(o)); //evas_object_gradient_angle_set(cs->spectrum, 270); } edje_object_part_swallow(cs->gui, "spectrum", cs->spectrum); } return 1; }
static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; _elm_widget_mirrored_reload(obj); _mirrored_set(obj, elm_widget_mirrored_get(obj)); _elm_theme_object_set(obj, wd->bbl, "bubble", wd->corner, elm_widget_style_get(obj)); edje_object_part_text_set(wd->bbl, "elm.text", wd->label); if (wd->label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", "elm"); else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm"); edje_object_part_text_set(wd->bbl, "elm.info", wd->info); if (wd->info) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", "elm"); else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm"); if (wd->content) { edje_object_part_swallow(wd->bbl, "elm.swallow.content", wd->content); edje_object_message_signal_process(wd->bbl); } if (wd->icon) edje_object_signal_emit(wd->bbl, "elm,state,icon,visible", "elm"); else edje_object_signal_emit(wd->bbl, "elm,state,icon,hidden", "elm"); edje_object_scale_set(wd->bbl, elm_widget_scale_get(obj) * _elm_config->scale); _sizing_eval(obj); }
EAPI void e_widget_button_icon_set(Evas_Object *obj, Evas_Object *icon) { E_Widget_Data *wd; int mw, mh; wd = e_widget_data_get(obj); if (wd->o_icon) { e_widget_sub_object_del(obj, wd->o_icon); evas_object_hide(wd->o_icon); edje_object_part_unswallow(wd->o_button, wd->o_icon); evas_object_del(wd->o_icon); wd->o_icon = NULL; } if (icon) { wd->o_icon = icon; edje_object_part_swallow(wd->o_button, "e.swallow.icon", icon); evas_object_pass_events_set(icon, 1); evas_object_show(icon); e_widget_sub_object_add(obj, icon); wd->type |= E_WIDGET_BUTTON_ICON; } else wd->type = ~(wd->type & E_WIDGET_BUTTON_ICON); _e_wid_button_state_send(wd); edje_object_size_min_calc(wd->o_button, &mw, &mh); e_widget_size_min_set(obj, mw, mh); }
static void _right_values_update(Instance *inst) { char buf[4096], name[60]; int i; for (i = 0; i < 2; i++) { Evas_Object *swallow; snprintf(name, sizeof(name), "e.text.day%d.date", i); edje_object_part_text_set(inst->forecasts->forecasts_obj, name, inst->forecast[i].date); snprintf(name, sizeof(name), "e.text.day%d.description", i); edje_object_part_text_set(inst->forecasts->forecasts_obj, name, inst->forecast[i].desc); snprintf(name, sizeof(name), "e.text.day%d.high", i); snprintf(buf, sizeof(buf), "%d°%c", inst->forecast[i].high, inst->units.temp); edje_object_part_text_set(inst->forecasts->forecasts_obj, name, buf); snprintf(name, sizeof(name), "e.text.day%d.low", i); snprintf(buf, sizeof(buf), "%d°%c", inst->forecast[i].low, inst->units.temp); edje_object_part_text_set(inst->forecasts->forecasts_obj, name, buf); snprintf(name, sizeof(name), "e.swallow.day%d.icon", i); swallow = edje_object_part_swallow_get(inst->forecasts->forecasts_obj, name); if (swallow) evas_object_del(swallow); edje_object_part_swallow(inst->forecasts->forecasts_obj, name, _forecasts_popup_icon_create(inst->gcc->gadcon->evas, inst->forecast[i].code)); } }
void enna_panel_infos_set_cover(Evas_Object *obj, Enna_Metadata *m) { Evas_Object *cover; char *file = NULL; int from_vfs = 1; const char *cv; Smart_Data *sd = evas_object_data_get(obj, "sd"); if (!sd) return; if (!m) { file = strdup(VIDEO_DEFAULT_COVER); from_vfs = 0; } cv = enna_metadata_meta_get(m, "cover", 1); if (!file && cv) { char dst[1024] = { 0 }; snprintf(dst, sizeof(dst), "%s/covers/%s", enna_util_data_home_get(), cv); if (ecore_file_exists(dst)) file = strdup(dst); } if (!file) { file = strdup(VIDEO_DEFAULT_COVER); from_vfs = 0; } if (from_vfs) { cover = elm_icon_add(sd->o_edje); elm_image_file_set(cover, file, NULL); } else { cover = edje_object_add(evas_object_evas_get(sd->o_edje)); edje_object_file_set(cover, enna_config_theme_get(), file); } ENNA_OBJECT_DEL(sd->o_cover); sd->o_cover = cover; edje_object_part_swallow(sd->o_edje, "panel.cover.swallow", sd->o_cover); /* hide underlying shadows with default movie poster cover */ edje_object_signal_emit(sd->o_edje, (!strcmp(file, VIDEO_DEFAULT_COVER)) ? "shadow,hide" : "shadow,show", "enna"); eina_stringshare_del(cv); eina_stringshare_del(file); }
void _eyelight_viewer_slideshow_slides_load(Eyelight_Viewer* pres) { int i; Evas_Object *o_image; char buf[EYELIGHT_BUFLEN]; int nb_slides = pres->slideshow_nb_slides; int first_slide = pres->slideshow_current - (nb_slides/2); if(!pres->slideshow_image_thumbnails) pres->slideshow_image_thumbnails = calloc(nb_slides,sizeof(Evas_Object*)); for(i=0;i<nb_slides; i++) { if(first_slide+i<0 || i+first_slide>=pres->size) { snprintf(buf,EYELIGHT_BUFLEN,"slideshow,slide,hide,%d",i+1); edje_object_signal_emit(pres->slideshow_background, buf,"eyelight"); } else { snprintf(buf,EYELIGHT_BUFLEN,"slideshow,slide,show,%d",i+1); edje_object_signal_emit(pres->slideshow_background, buf,"eyelight"); if(!pres->slideshow_image_thumbnails[i]) { const Eyelight_Thumb* thumb = eyelight_viewer_thumbnails_get(pres,first_slide+i); o_image = evas_object_image_add(pres->evas); pres->slideshow_image_thumbnails[i] = o_image; if (thumb->thumb) { evas_object_image_size_set(o_image, thumb->w, thumb->h); evas_object_image_data_set(o_image,thumb->thumb); evas_object_image_filled_set(o_image,1); } else { char key[256]; int w; int h; snprintf(key, sizeof (key), "eyelight/thumb/%i", thumb->pos); evas_object_image_file_set(o_image, pres->dump_in, key); evas_object_image_size_get(o_image, &w, &h); evas_object_image_fill_set(o_image, 0, 0, w, h); } evas_object_show(o_image); snprintf(buf,EYELIGHT_BUFLEN,"object.swallow_%d",i+1); edje_object_part_swallow(pres->slideshow_background,buf,o_image); } } } eyelight_viewer_thumbnails_clean(pres,first_slide,first_slide+nb_slides); }
static void _smart_add(Evas_Object *obj) { Smart_Data *sd; /* Initialize smart data and clipping */ sd = calloc(1, sizeof(Smart_Data)); if (!sd) return; sd->obj = obj; sd->parent = NULL; sd->clip = evas_object_rectangle_add(evas_object_evas_get(obj)); evas_object_smart_member_add(sd->clip, obj); /* Set up edje object and canvas */ sd->edje = edje_object_add(evas_object_evas_get(obj)); edje_object_file_set(sd->edje, enscribi_theme_find("enscribi"), "enscribi/input"); evas_object_move(sd->edje, 0, 0); evas_object_show(sd->edje); sd->canvas = enscribi_canvas_add(evas_object_evas_get(obj)); edje_object_part_swallow(sd->edje, "canvas", sd->canvas); /* Set up callbacks */ edje_object_signal_callback_add(sd->edje, "canvas,matches,updated", "canvas", _enscribi_input_frame_cb_matches, sd); edje_object_signal_callback_add(sd->edje, "result,finished", "result", _enscribi_input_frame_cb_finished, sd); evas_object_smart_data_set(obj, sd); }
static void _forecasts_display_set(Instance *inst, int ok) { char buf[4096]; char m[4096]; if (!inst) return; snprintf(m, sizeof(m), "%s/forecasts.edj", e_module_dir_get(forecasts_config->module)); snprintf(buf, sizeof(buf), "modules/forecasts/icons/%d", inst->condition.code); if (!e_theme_edje_object_set(inst->forecasts->icon_obj, "base/theme/modules/forecasts/icons", buf)) edje_object_file_set(inst->forecasts->icon_obj, m, buf); edje_object_part_swallow(inst->forecasts->forecasts_obj, "icon", inst->forecasts->icon_obj); if (!inst->ci->show_text) edje_object_signal_emit(inst->forecasts_obj, "e,state,description,hide", "e"); else edje_object_signal_emit(inst->forecasts_obj, "e,state,description,show", "e"); snprintf(buf, sizeof(buf), "%d°%c", inst->condition.temp, inst->units.temp); edje_object_part_text_set(inst->forecasts->forecasts_obj, "e.text.temp", buf); edje_object_part_text_set(inst->forecasts->forecasts_obj, "e.text.description", inst->condition.desc); edje_object_part_text_set(inst->forecasts->forecasts_obj, "e.text.location", inst->location); if (inst->gcc->gadcon->orient == E_GADCON_ORIENT_FLOAT) _right_values_update(inst); //Updating right two icons description if (inst->popup) _forecasts_popup_destroy(inst); inst->popup = NULL; }
/* externally accessible functions */ EAPI Evas_Object * e_widget_frametable_add(Evas *evas, const char *label, int homogenous) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); e_widget_del_hook_set(obj, _e_wid_del_hook); e_widget_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); e_widget_data_set(obj, wd); o = edje_object_add(evas); wd->o_frame = o; e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/frame"); edje_object_part_text_set(o, "e.text.label", label); evas_object_show(o); e_widget_sub_object_add(obj, o); e_widget_resize_object_set(obj, o); o = e_table_add(evas); wd->o_table = o; e_table_homogenous_set(o, homogenous); edje_object_part_swallow(wd->o_frame, "e.swallow.content", o); e_widget_sub_object_add(obj, o); evas_object_show(o); edje_object_size_min_calc(wd->o_frame, &mw, &mh); e_widget_size_min_set(obj, mw, mh); return obj; }
static Forecasts * _forecasts_new(Evas *evas) { Forecasts *w; char buf[4096]; w = E_NEW(Forecasts, 1); w->forecasts_obj = edje_object_add(evas); snprintf(buf, sizeof(buf), "%s/forecasts.edj", e_module_dir_get(forecasts_config->module)); if (!e_theme_edje_object_set(w->forecasts_obj, "base/theme/modules/forecasts", "modules/forecasts/main")) edje_object_file_set(w->forecasts_obj, buf, "modules/forecasts/main"); evas_object_show(w->forecasts_obj); w->icon_obj = edje_object_add(evas); if (!e_theme_edje_object_set(w->icon_obj, "base/theme/modules/forecasts/icons", "modules/forecasts/icons/3200")) edje_object_file_set(w->icon_obj, buf, "modules/forecasts/icons/3200"); edje_object_part_swallow(w->forecasts_obj, "icon", w->icon_obj); return w; }
EAPI void e_widget_frametable_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h) { E_Widget_Data *wd; Evas_Coord mw = 0, mh = 0; wd = e_widget_data_get(obj); e_table_pack(wd->o_table, sobj, col, row, colspan, rowspan); e_widget_size_min_get(sobj, &mw, &mh); e_table_pack_options_set(sobj, fill_w, fill_h, /* fill */ expand_w, expand_h, /* expand */ 0.5, 0.5, /* align */ mw, mh, /* min */ 99999, 99999 /* max */ ); e_table_size_min_get(wd->o_table, &mw, &mh); edje_extern_object_min_size_set(wd->o_table, mw, mh); edje_object_part_swallow(wd->o_frame, "e.swallow.content", wd->o_table); edje_object_size_min_calc(wd->o_frame, &mw, &mh); e_widget_size_min_set(obj, mw, mh); e_widget_sub_object_add(obj, sobj); evas_object_show(sobj); }
int emusic_slider_creat(Em_Smart_Data *em) { Evas_Object *slider, *obj; sd = calloc(1, sizeof(Smart_Data)); if (!sd) return FALSE; obj = edje_object_add(em->evas); if (!edje_object_file_set(obj, emusic_config_theme_get(), "widget/slider")) { int err = edje_object_load_error_get(obj); const char *errmsg = edje_load_error_str(err); ERR("cannot load theme '%s', group '%s': %s\n", emusic_config_theme_get(),"widget/slider", errmsg); evas_object_del(obj); return NULL; } em->slider = obj; slider = elm_slider_add(obj); evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, em); elm_slider_label_set(slider, "Label"); elm_slider_unit_format_set(slider, "%1.1f units"); elm_slider_span_size_set(slider, 120); evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); edje_object_part_swallow(obj, "slider.swallow", slider); evas_object_show(slider); sd->slider = slider; return 1; }
int emusic_playlist_ctl_creat(Em_Smart_Data *em) { Evas_Object *obj, *box, *ic, *bt; sd = calloc(1, sizeof(Smart_Data)); if (!sd) return FALSE; obj = edje_object_add(em->evas); if (!edje_object_file_set(obj, emusic_config_theme_get(), "widget/playlist_ctl")) { int err = edje_object_load_error_get(obj); const char *errmsg = edje_load_error_str(err); ERR("cannot load theme '%s', group '%s': %s\n", emusic_config_theme_get(),"widget/playlist_ctl", errmsg); evas_object_del(obj); return NULL; } em->playlist_ctl = obj; box = elm_box_add(obj); elm_box_homogenous_set(box, 0); elm_box_horizontal_set(box, 1); ic = elm_icon_add(obj); elm_icon_file_set(ic, emusic_config_theme_get(), "icon/mp_playlist"); bt = elm_button_add(obj); evas_object_smart_callback_add(bt, "clicked", _button_clicked_playlist_cb, em); elm_button_icon_set(bt, ic); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_show(ic); ic = elm_icon_add(obj); elm_icon_file_set(ic, emusic_config_theme_get(), "icon/mp_repeat_off"); bt = elm_button_add(obj); evas_object_smart_callback_add(bt, "clicked", _button_clicked_repeat_cb, em); elm_button_icon_set(bt, ic); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_show(ic); sd->repeat_btn = bt; ic = elm_icon_add(obj); elm_icon_file_set(ic, emusic_config_theme_get(), "icon/mp_shuffle_off"); bt = elm_button_add(obj); evas_object_smart_callback_add(bt, "clicked", _button_clicked_shuffle_cb, em); elm_button_icon_set(bt, ic); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_show(ic); sd->shuffle_btn = bt; edje_object_part_swallow(obj, "box.swallow", box); evas_object_show(box); return TRUE; }
//Set the cover displayed on the GUI //Remove it if cover_path == NULL void eclair_gui_cover_set(Eclair *eclair, const char *cover_path, Evas_Bool force_cover_update) { char *current_path; if (!eclair || !eclair->cover_owner || !eclair->cover) return; current_path = NULL; evas_object_image_file_get(eclair->cover, ¤t_path, NULL); if (!current_path && !cover_path) return; if (!force_cover_update && current_path && cover_path && (strcmp(current_path, cover_path) == 0)) return; if (eclair->previous_cover) { Evas_Object *tmp; edje_object_part_unswallow(eclair->cover_owner->edje_object, eclair->cover); edje_object_part_unswallow(eclair->cover_owner->edje_object, eclair->previous_cover); tmp = eclair->previous_cover; eclair->previous_cover = eclair->cover; eclair->cover = tmp; edje_object_part_swallow(eclair->cover_owner->edje_object, "cover", eclair->cover); edje_object_part_swallow(eclair->cover_owner->edje_object, "previous_cover", eclair->previous_cover); } evas_object_image_file_set(eclair->cover, cover_path, NULL); //TODO: evas_object_image_reload bug? need to do two reloads to really reload the image?! if (current_path && cover_path && (strcmp(current_path, cover_path) == 0)) { evas_object_image_reload(eclair->cover); evas_object_image_reload(eclair->cover); } if (cover_path) { edje_object_signal_emit(eclair->cover_owner->edje_object, "signal_cover_set", "eclair_bin"); evas_object_show(eclair->cover); } else { edje_object_signal_emit(eclair->cover_owner->edje_object, "signal_cover_unset", "eclair_bin"); evas_object_hide(eclair->cover); } }
Evas_Object * e_widget_spectrum_add(Evas *evas, E_Color_Component mode, E_Color *cv) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); e_widget_del_hook_set(obj, _e_wid_del_hook); e_widget_focus_hook_set(obj, _e_wid_focus_hook); e_widget_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); e_widget_data_set(obj, wd); wd->cv = cv; wd->mode = mode; o = edje_object_add(evas); wd->o_edje = o; e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/spectrum"); evas_object_show(o); edje_object_size_min_calc(o, &mw, &mh); e_widget_size_min_set(obj, mw, mh); e_widget_sub_object_add(obj, o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); e_widget_resize_object_set(obj, o); evas_object_intercept_resize_callback_add(o, _e_wid_resize, wd); evas_object_intercept_move_callback_add(o, _e_wid_move, wd); o = e_spectrum_add(evas); e_spectrum_color_value_set(o, cv); e_spectrum_mode_set(o, mode); e_widget_sub_object_add(obj, o); evas_object_show(o); wd->o_spectrum = o; edje_object_part_swallow(wd->o_edje, "e.swallow.content", o); o = evas_object_rectangle_add(evas); evas_object_repeat_events_set(o, EINA_TRUE); evas_object_color_set(o, 0, 0, 0, 0); e_widget_sub_object_add(obj, o); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_cb_down, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, _e_wid_cb_move, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, _e_wid_cb_up, obj); wd->o_event = o; e_widget_spectrum_update(obj, 0); return obj; }
/* Private Functions */ static void _e_toolbar_smart_add(Evas_Object *obj) { Evas *evas; E_Toolbar_Smart_Data *sd; Evas_Object *o; char buf[4096]; if ((!obj) || !(evas = evas_object_evas_get(obj))) return; sd = malloc(sizeof(E_Toolbar_Smart_Data)); if (!sd) return; sd->valign = 0.0; sd->path = NULL; evas_object_smart_data_set(obj, sd); snprintf(buf, sizeof(buf), "%s/fileman.edj", e_module_dir_get(conf_module)); o = edje_object_add(evas); sd->o_base = o; if (!e_theme_edje_object_set(o, "base/theme/modules/fileman", "modules/fileman/toolbar")) edje_object_file_set(o, buf, "modules/fileman/toolbar"); evas_object_smart_member_add(o, obj); edje_object_size_min_calc(o, &sd->w, &sd->h); o = e_widget_button_add(evas, _("Up"), "widget/up_dir", _e_toolbar_btn_cb, obj, NULL); sd->o_btn = o; edje_object_part_swallow(sd->o_base, "e.swallow.button", o); evas_object_show(o); edje_object_part_text_set(sd->o_base, "e.text.location", _("Location:")); o = e_widget_entry_add(evas, &(sd->path), NULL, NULL, NULL); sd->o_entry = o; edje_object_part_swallow(sd->o_base, "e.swallow.entry", o); evas_object_show(o); evas_object_smart_callback_add(sd->o_entry, "key_down", _e_toolbar_key_down_cb, obj); }
static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord w, h; _elm_theme_object_set(obj, wd->base, "bg", "base", elm_widget_style_get(obj)); if (wd->rect) edje_object_part_swallow(wd->base, "elm.swallow.rectangle", wd->rect); if (wd->img) edje_object_part_swallow(wd->base, "elm.swallow.background", wd->img); if (wd->overlay) edje_object_part_swallow(wd->base, "elm.swallow.content", wd->overlay); // FIXME: if i don't do this, bg doesnt calc correctly. why? evas_object_geometry_get(wd->base, NULL, NULL, &w, &h); evas_object_resize(wd->base, w, h); }
/* externally accessible functions */ EAPI Evas_Object * e_widget_button_add(Evas *evas, const char *label, const char *icon, void (*func) (void *data, void *data2), void *data, void *data2) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); e_widget_del_hook_set(obj, _e_wid_del_hook); e_widget_focus_hook_set(obj, _e_wid_focus_hook); e_widget_activate_hook_set(obj, _e_wid_activate_hook); e_widget_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); wd->func = func; wd->data = data; wd->data2 = data2; e_widget_data_set(obj, wd); o = edje_object_add(evas); wd->o_button = o; e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/button"); edje_object_signal_callback_add(o, "e,action,click", "", _e_wid_signal_cb1, obj); if ((label) && (label[0] != 0)) { edje_object_part_text_set(o, "e.text.label", label); wd->type |= E_WIDGET_BUTTON_TEXT; } e_widget_sub_object_add(obj, o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); e_widget_resize_object_set(obj, o); evas_object_show(o); if (icon) { o = e_icon_add(evas); wd->o_icon = o; e_util_icon_theme_set(o, icon); edje_object_part_swallow(wd->o_button, "e.swallow.icon", o); e_widget_sub_object_add(obj, o); evas_object_show(o); wd->type |= E_WIDGET_BUTTON_ICON; } _e_wid_button_state_send(wd); edje_object_size_min_calc(wd->o_button, &mw, &mh); e_widget_size_min_set(obj, mw, mh); return obj; }
void dvb_init(char *module, char *file, char *swallow) { Evas_Object *o; if (o_dvb_bg) return; if (mdl) free(mdl); mdl = strdup(module); if (swal) free(swal); swal = strdup(swallow); o = edje_object_add(evas); edje_object_file_set(o, theme, "video_container"); o_dvb_bg = o; o = emotion_object_add(evas); if (!emotion_object_init(o, module)) { printf("ERROR!\n"); } evas_object_smart_callback_add(o, "frame_decode", dvb_obj_frame_decode_cb, NULL); evas_object_smart_callback_add(o, "frame_resize", dvb_obj_frame_resize_cb, NULL); evas_object_smart_callback_add(o, "length_change", dvb_obj_length_change_cb, NULL); evas_object_smart_callback_add(o, "decode_stop", dvb_obj_stopped_cb, NULL); evas_object_smart_callback_add(o, "channels_change", dvb_obj_channels_cb, NULL); evas_object_smart_callback_add(o, "title_change", dvb_obj_title_cb, NULL); evas_object_smart_callback_add(o, "progress_change", dvb_obj_progress_cb, NULL); evas_object_smart_callback_add(o, "ref_change", dvb_obj_ref_cb, NULL); evas_object_smart_callback_add(o, "button_num_change", dvb_obj_button_num_cb, NULL); evas_object_smart_callback_add(o, "button_change", dvb_obj_button_cb, NULL); o_dvb = o; channel = 0; emotion_object_file_set(o_dvb, "dvb://0"); emotion_object_play_set(o_dvb, 1); emotion_object_audio_mute_set(o_dvb, 0); emotion_object_audio_volume_set(o_dvb, 1.0); layout_swallow(swallow, o_dvb_bg); edje_extern_object_aspect_set(o_dvb, EDJE_ASPECT_CONTROL_BOTH, 640, 480); edje_object_part_swallow(o_dvb_bg, "video", o_dvb); dvb_resize(); evas_object_show(o_dvb); evas_object_show(o_dvb_bg); _hide_timer = ecore_timer_add(10.0, dvb_menu_bg_hide_tmer_cb, NULL); /* FIXME: add this video to recently played list */ }
static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; _elm_widget_mirrored_reload(obj); _mirrored_set(obj, elm_widget_mirrored_get(obj)); _elm_theme_object_set(obj, wd->frm, "frame", "base", elm_widget_style_get(obj)); edje_object_part_text_set(wd->frm, "elm.text", wd->label); if (wd->content) edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content); edje_object_scale_set(wd->frm, elm_widget_scale_get(obj) * _elm_config->scale); _sizing_eval(obj); }
bool XmasWidget::LoadWidget(std::string, double _x, double _y, std::string _id) { std::string witem = "calaos/widget/xmas"; if (!LoadEdje(witem)) { return false; } setLayer(500); EdjeObject::Show(); clip = evas_object_rectangle_add(evas); evas_object_show(clip); edje_object_part_swallow(edje, "widget.swallow", clip); Resize(1024, 768); //create some flakes for (int i = 0;i < MAX_FLAKE;i++) { std::string type; if (i < MAX_FLAKE / 3) type = "flake_small"; else if (i >= MAX_FLAKE / 3 && i < (MAX_FLAKE / 3) * 2) type = "flake_medium"; else type = "flake_large"; EdjeObject *o = new EdjeObject(theme, evas); if (!o->LoadEdje("calaos/widget/xmas/" + type)) cError() << "Error loading edje group calaos/widget/xmas/" + type; o->setLayer(500); evas_object_clip_set(o->getEvasObject(), clip); Flake *flake = new Flake(o); int tx = random() % clipw; int ty = random() % cliph; flake->Move(tx + clipx, ty + clipy); flake->Show(); flake->setStart(ecore_time_get() + (double)(random() % (flake->getHeight() * 10)) / (double)flake->getHeight()); if (type == "flake_small") flake->setSpeed(1); if (type == "flake_medium") flake->setSpeed(2); if (type == "flake_large") flake->setSpeed(3); flakes.push_back(flake); } return true; }
//Create the cover object and swallow it into the window //Return 0 if failed static Evas_Bool _eclair_create_cover_object(Eclair *eclair, Eclair_Window *window) { Evas_Coord cover_width, cover_height; if (!eclair || !window) return 0; if (edje_object_part_exists(window->edje_object, "cover")) { if (eclair->cover) evas_object_del(eclair->cover); if (eclair->previous_cover) { evas_object_del(eclair->previous_cover); eclair->previous_cover = NULL; } eclair->cover = evas_object_image_add(window->evas); evas_object_repeat_events_set(eclair->cover, 1); edje_object_part_swallow(window->edje_object, "cover", eclair->cover); edje_object_part_geometry_get(window->edje_object, "cover", NULL, NULL, &cover_width, &cover_height); evas_object_image_fill_set(eclair->cover, 0, 0, cover_width, cover_height); evas_object_hide(eclair->cover); if (edje_object_part_exists(window->edje_object, "previous_cover")) { eclair->previous_cover = evas_object_image_add(window->evas); evas_object_repeat_events_set(eclair->previous_cover, 1); edje_object_part_swallow(window->edje_object, "previous_cover", eclair->previous_cover); edje_object_part_geometry_get(window->edje_object, "previous_cover", NULL, NULL, &cover_width, &cover_height); evas_object_image_fill_set(eclair->previous_cover, 0, 0, cover_width, cover_height); evas_object_show(eclair->previous_cover); } eclair->cover_owner = window; return 1; } return 0; }
void itask_item_set_icon(Itask_Item *ic) { if (ic->o_icon) evas_object_del(ic->o_icon); ic->o_icon = e_border_icon_add(ic->border, evas_object_evas_get(ic->itask->o_box)); edje_object_part_swallow(ic->o_holder, "e.swallow.icon", ic->o_icon); evas_object_pass_events_set(ic->o_icon, 1); evas_object_show(ic->o_icon); if (ic->border->iconic) itask_icon_signal_emit(ic, "iconify"); if (ic->border->focused) itask_icon_signal_emit(ic, "focused"); }
void photo_panel_infos_set_cover(Evas_Object *obj, const char *filename) { Evas_Object *o_pict; API_ENTRY return; if (!filename) return; o_pict = elm_icon_add(sd->o_edje); elm_image_file_set (o_pict, filename, NULL); ENNA_OBJECT_DEL (sd->o_pict); sd->o_pict = o_pict; edje_object_part_swallow (sd->o_edje, "infos.panel.cover.swallow", sd->o_pict); edje_object_signal_emit (sd->o_edje, "cover,show", "enna"); }
static void dvb_obj_stopped_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *o; char buf[256]; printf("dvb stopped!\n"); o = emotion_object_add(evas_object_evas_get(obj)); if (!emotion_object_init(o, mdl)) { printf("ERROR!\n"); } evas_object_del(o_dvb); evas_object_smart_callback_add(o, "frame_decode", dvb_obj_frame_decode_cb, NULL); evas_object_smart_callback_add(o, "frame_resize", dvb_obj_frame_resize_cb, NULL); evas_object_smart_callback_add(o, "length_change", dvb_obj_length_change_cb, NULL); evas_object_smart_callback_add(o, "decode_stop", dvb_obj_stopped_cb, NULL); evas_object_smart_callback_add(o, "channels_change", dvb_obj_channels_cb, NULL); evas_object_smart_callback_add(o, "title_change", dvb_obj_title_cb, NULL); evas_object_smart_callback_add(o, "progress_change", dvb_obj_progress_cb, NULL); evas_object_smart_callback_add(o, "ref_change", dvb_obj_ref_cb, NULL); evas_object_smart_callback_add(o, "button_num_change", dvb_obj_button_num_cb, NULL); evas_object_smart_callback_add(o, "button_change", dvb_obj_button_cb, NULL); o_dvb = o; snprintf(buf, sizeof(buf), "dvb://%i", channel); emotion_object_file_set(o_dvb, buf); emotion_object_play_set(o_dvb, 1); emotion_object_audio_mute_set(o_dvb, 0); emotion_object_audio_volume_set(o_dvb, 1.0); layout_swallow(swal, o_dvb_bg); edje_extern_object_aspect_set(o_dvb, EDJE_ASPECT_CONTROL_BOTH, 640, 480); edje_object_part_swallow(o_dvb_bg, "video", o_dvb); dvb_resize(); evas_object_show(o_dvb); // if (!dvb_stopped_job) // dvb_stopped_job = ecore_job_add(dvb_stopped_job_cb, data); }
/** * Add the playlist container. * * @param player */ static void setup_playlist(ePlayer *player) { if (!edje_object_part_exists(player->gui.edje, "playlist")) return; player->gui.playlist = esmart_container_new(player->gui.evas); assert(player->gui.playlist); evas_object_name_set(player->gui.playlist, "PlayList"); evas_object_data_set(player->gui.playlist, "ePlayer", player); esmart_container_direction_set(player->gui.playlist, 1); esmart_container_spacing_set(player->gui.playlist, 0); esmart_container_fill_policy_set(player->gui.playlist, CONTAINER_FILL_POLICY_FILL_X); edje_object_part_swallow(player->gui.edje, "playlist", player->gui.playlist); }
void emusic_cover_art_update(char *cover_path) { if (!sd) return; Evas_Object *cover = sd->cover; evas_object_hide(cover); evas_object_del(cover); if (cover_path) { cover = elm_image_add(em->cover_art); elm_image_file_set(cover, cover_path, NULL); edje_object_part_swallow(em->cover_art, "album_cover", cover); evas_object_show(cover); sd->cover = cover; } }
//Create the playlist container and swallow it into the window //Return 0 if failed static Evas_Bool _eclair_create_playlist_container_object(Eclair *eclair, Eclair_Window *window) { if (!eclair || !window) return 0; if (edje_object_part_exists(window->edje_object, "playlist_container")) { if (eclair->playlist_container) evas_object_del(eclair->playlist_container); eclair->playlist_container = eclair_playlist_container_object_add(window->evas, eclair); eclair_playlist_container_set_entry_theme_path(eclair->playlist_container, eclair->gui_theme_file); edje_object_part_swallow(window->edje_object, "playlist_container", eclair->playlist_container); evas_object_show(eclair->playlist_container); eclair->playlist_container_owner = window; return 1; } return 0; }
News_Item * news_item_new(E_Gadcon_Client *gcc, Evas_Object *obj, const char *id) { News_Item *ni; News_Config_Item *nic; Evas_Object *view; Eina_List *l; ni = E_NEW(News_Item, 1); news_theme_edje_set(obj, NEWS_THEME_ITEM); nic = news_config_item_add(id); ni->gcc = gcc; ni->obj = obj; ni->config = nic; evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down, ni); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_OUT, _cb_mouse_out, ni); /* attach feeds */ for (l=nic->feed_refs; l; l=eina_list_next(l)) { News_Feed_Ref *ref; ref = eina_list_data_get(l); news_feed_attach(NULL, ref, ni); } news_feed_list_ui_refresh(); /* main view */ view = e_box_add(gcc->gadcon->evas); e_box_homogenous_set(view, 1); e_box_orientation_set(view, 1); edje_object_part_swallow(ni->obj, "view", view); evas_object_show(view); ni->view.box = view; news_item_refresh(ni, 1, 1, 1); return ni; }