EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *bg, *icon;
   const char *path, *group, *name;

   win = elm_win_add(NULL, "icon", ELM_WIN_BASIC);
   elm_win_title_set(win, "Icon");
   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
   elm_win_autodel_set(win, EINA_TRUE);

   bg = elm_bg_add(win);
   elm_bg_color_set(bg, 255,255 ,255);
   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, bg);
   evas_object_show(bg);

   icon = elm_icon_add(win);
   elm_icon_order_lookup_set(icon, ELM_ICON_LOOKUP_THEME_FDO);
   elm_icon_standard_set(icon, "home");

   path = NULL;
   group = NULL;
   name = NULL;
   elm_icon_file_get(icon, &path, &group);
   name = elm_icon_standard_get(icon);
   printf("path = %s, group = %s, name = %s\n", path, group, name);

   elm_icon_no_scale_set(icon, EINA_TRUE);
   elm_icon_resizable_set(icon, EINA_FALSE, EINA_TRUE);
   elm_icon_smooth_set(icon, EINA_FALSE);
   elm_icon_fill_outside_set(icon, EINA_TRUE);

   evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, icon);
   evas_object_show(icon);

   evas_object_size_hint_min_set(bg, 160, 160);
   evas_object_size_hint_max_set(bg, 640, 640);
   evas_object_resize(win, 320, 320);
   evas_object_show(win);

   elm_run();
   elm_shutdown();

   return 0;
}
Exemplo n.º 2
0
void
vm_info_cb(void *data, Evas_Object *obj, void *event_info)
{
	Elm_Genlist_Item *gl;
	vmitem *item;
	zrpc_vm *vm;
	const char *os_icon, *state;
	char tmp[PATH_MAX];
	Eina_List *l;
	zrpc_disk *d;
	zrpc_vif *v;
	int cpus;

	elm_toolbar_item_unselect_all(win->main_vm->bar);
	gl = elm_genlist_selected_item_get(win->main_vm->list);
	if (!gl) return;

	ecore_timer_del(win->timerget);

	item = (vmitem*)elm_genlist_item_data_get(gl);
	vm = item->vm;
	win->info->vmuuid = eina_stringshare_ref(vm->uuid);
	evas_object_smart_callback_del(win->main_vm->list, "clicked", vm_info_cb);
	create_info_vm();
	win->info->state = NULL;
	zinfo_job_updatevm(win);


	for (cpus = 0;cpus < vm->vcpus;cpus++)
	{
		
		win->info->cpus = elm_icon_add(win->win);
		elm_icon_file_set(win->info->cpus, "images/cpu.png", NULL);
		elm_icon_scale_set(win->info->cpus, 0, 0);
		elm_icon_smooth_set(win->info->cpus, 1);
		evas_object_size_hint_weight_set(win->info->state_icon, 0.0, 0.0);
		evas_object_size_hint_align_set(win->info->state_icon, 0.0, 1.0);
		elm_box_pack_after(win->info->vbox2, win->info->cpus, win->info->state_label);
		evas_object_show(win->info->cpus);
	}

	elm_frame_label_set(win->info->frame, vm->name);
	os_icon = get_os_icon(vm);
	elm_icon_file_set(win->info->os_icon, os_icon, NULL);
	eina_stringshare_del(os_icon);
	elm_label_label_set(win->info->os, vm->os);
	elm_label_label_set (win->info->uuid, vm->uuid);
	elm_label_label_set(win->info->puuid, vm->puuid);
	EINA_LIST_FOREACH(vm->disks, l, d)
		elm_hoversel_item_add(win->info->disks, d->ext_dev, NULL, ELM_ICON_NONE, NULL, d);
		
	state = get_state_icon(vm->state);
	elm_icon_file_set(win->info->state_icon, state, NULL);
	eina_stringshare_del(state);

	EINA_LIST_FOREACH(vm->vifs, l, v)
		elm_hoversel_item_add(win->info->vifs, v->name, NULL, ELM_ICON_NONE, NULL, v);


	sprintf(tmp, "Kernel: %s", vm->kernel);
	elm_label_label_set(win->info->kernel, tmp);
	sprintf(tmp, "Ramdisk: %s", vm->ramdisk);
	elm_label_label_set(win->info->ramdisk, tmp);
	sprintf(tmp, "Kernel args: %s", vm->cmdline);
	elm_label_label_set(win->info->cmdline, tmp);

	evas_object_key_ungrab(win->win, "Up", 0, 0);
	evas_object_key_ungrab(win->win, "Down", 0, 0);
	evas_object_key_ungrab(win->win, "Left", 0, 0);
	evas_object_key_ungrab(win->win, "Right", 0, 0);
	evas_object_key_ungrab(win->win, "Home", 0, 0);
	evas_object_key_ungrab(win->win, "End", 0, 0);
	
	elm_flip_content_back_set(win->main_vm->fl, win->info->frame);
	win->view = win->info->vmview;
	elm_flip_go(win->main_vm->fl, ELM_FLIP_ROTATE_X_CENTER_AXIS);

	EINA_LIST_FREE(win->elist, item)
		free_vmitem(item);
	win->elist = NULL;
	eina_list_free(win->list);
	win->list = NULL;
	evas_object_hide(win->main_vm->box2);
	evas_object_del(win->main_vm->box2);

	win->timerget = ecore_timer_add(5, zinfo_job_updatevm, NULL);
}