void page_destroy(Evas_Object *scroller, Evas_Object *page) { Evas_Object *mapbuf; Evas_Object *bg; Evas_Object *item; Evas_Object *box; Evas_Object *index; Evas_Object *tab; Eina_List *pending_list; register unsigned int i; int page_max_app; unsigned int count; evas_object_event_callback_del(page, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints_cb); page_max_app = (int) evas_object_data_get(scroller, "page_max_app"); for (i = 0; i < page_max_app; i ++) { item = page_unpack_item_at(page, i); if (!item) continue; item_destroy(item); } pending_list = evas_object_data_get(page, "pending,list"); eina_list_free(pending_list); bg = evas_object_data_get(page, "bg"); evas_object_del(bg); box = evas_object_data_get(scroller, "box"); ret_if(NULL == box); mapbuf = mapbuf_get_mapbuf(page); if (mapbuf) { elm_box_unpack(box, mapbuf); mapbuf_unbind(mapbuf); } else { elm_box_unpack(box, page); } index = evas_object_data_get(scroller, "index"); if (index) { tab = evas_object_data_get(scroller, "tab"); count = page_scroller_count_page(scroller); index_update(tab, index, count); } evas_object_data_del(page, "win"); evas_object_data_del(page, "layout"); evas_object_data_del(page, "controlbar"); evas_object_data_del(page, "tab"); evas_object_data_del(page, "scroller"); evas_object_data_del(page, "page_edje"); evas_object_data_del(page, "page_max_app"); evas_object_data_del(page, "bg"); evas_object_data_del(page, "pending,list"); evas_object_data_del(page, "dirty"); layout_unload_edj(page); }
static void intf_scan_progress_set_cb(void *p_data, uint8_t percentage) { interface* intf = (interface*)p_data; if ( percentage < 100 ) { if (evas_object_visible_get(intf->scan_progress) == EINA_FALSE) { elm_box_pack_after(intf->main_box, intf->scan_progress, intf->nf_content); evas_object_show(intf->scan_progress); } elm_progressbar_value_set(intf->scan_progress, (double)percentage / 100); } else { if (evas_object_visible_get(intf->scan_progress) == EINA_TRUE) { evas_object_hide(intf->scan_progress); elm_box_unpack(intf->main_box, intf->scan_progress); } } }
bool intf_mini_player_visible_set(interface *intf, bool visible) { if(intf->mini_player_layout == NULL) { LOGE("No mini player instance"); return false; } if(visible) { /* show */ elm_box_pack_end(intf->main_box, intf->mini_player_layout); evas_object_show(intf->mini_player_layout); elm_box_recalculate(intf->main_box); } else { elm_box_unpack(intf->main_box, intf->mini_player_layout); evas_object_hide(intf->mini_player_layout); elm_box_recalculate(intf->main_box); } evas_object_image_source_visible_set(intf->mini_player_layout, visible); return true; }
static void set_api_state(api_data *api) { const Eina_List *items = elm_box_children_get(api->box); if (!eina_list_count(items)) return; /* use elm_box_children_get() to get list of children */ switch(api->state) { /* Put all api-changes under switch */ case BOX_PACK_START: /* Move last item to begining */ elm_box_unpack(api->box, eina_list_data_get(eina_list_last(items))); elm_box_pack_start(api->box, eina_list_data_get(eina_list_last(items))); break; case BOX_PACK_BEFORE: if (eina_list_count(items) > 1) { /* Put last item before the one preceeding it */ elm_box_unpack(api->box, eina_list_data_get(eina_list_last(items))); elm_box_pack_before(api->box, eina_list_data_get(eina_list_last(items)), eina_list_nth(items, eina_list_count(items)-2)); } break; case BOX_PACK_AFTER: if (eina_list_count(items) > 1) { /* Put item before last to last */ elm_box_unpack(api->box, eina_list_nth(items, eina_list_count(items)-2)); elm_box_pack_after(api->box, eina_list_nth(items, eina_list_count(items)-2), eina_list_data_get(eina_list_last(items))); } break; case BOX_PADDING_SET: elm_box_padding_set(api->box, 30, 15); break; case BOX_ALIGN_SET: elm_box_align_set(api->box, 0.25, 0.75); break; case BOX_HOMOGENEOUS_SET: elm_box_homogeneous_set(api->box, EINA_TRUE); break; case BOX_UNPACK_ALL: { Eina_List *l; Evas_Object *data; elm_box_unpack_all(api->box); EINA_LIST_REVERSE_FOREACH(items, l, data) elm_box_pack_end(api->box, data); } break; case BOX_CLEAR: elm_box_clear(api->box); break; case API_STATE_LAST: break; default: return; } }
void resize(void *data) { Evas_Object *obj = (Evas_Object*) data; elm_box_unpack(box, obj); evas_object_resize(obj, 60, 120); }
void Box::unpack(EObject& w) { elm_box_unpack(getHandle(), Widget::getHandle(w)); }