Evas_Object *ctxpopup_cb(void *data)
{
    Evas_Object *wbox, *obox, *btn, *table, *hov;
    appdata *ad = data;

    wbox = ad->widget_box;
    obox = ad->option_box;

    // widget box
    btn = elm_button_add(wbox);
    elm_object_text_set(btn, "Click here to show ctxpopup");
    evas_object_show(btn);
    elm_box_pack_end(wbox, btn);
    evas_object_smart_callback_add(btn, "clicked", _btn_clicked, (void *)ad->win);

    // option box
    hov = elm_hoversel_add(obox);
    elm_hoversel_hover_parent_set(hov, ad->win);
    elm_object_text_set(hov, "Up");
    evas_object_show(hov);
    elm_hoversel_item_add(hov, "Up", NULL, ELM_ICON_NONE, NULL, NULL);
    elm_hoversel_item_add(hov, "Down", NULL, ELM_ICON_NONE, NULL, NULL);
    elm_hoversel_item_add(hov, "Left", NULL, ELM_ICON_NONE, NULL, NULL);
    elm_hoversel_item_add(hov, "Right", NULL, ELM_ICON_NONE, NULL, NULL);
    evas_object_smart_callback_add(hov, "selected", _selected, NULL);
    table = widget_min_set(hov, obox, ELM_SCALE_SIZE(200), ELM_SCALE_SIZE(50));
    evas_object_event_callback_add(table, EVAS_CALLBACK_DEL, table_del_cb, NULL);
    evas_object_show(table);
    elm_box_pack_end(obox, table);
    evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

    return btn;
}
Ejemplo n.º 2
0
PREFIX value ml_elm_hoversel_item_add(
        value v_obj, value v_label, value v_icon, value v_func, value v_unit)
{
        const char* label;
        if(v_label == Val_int(0)) label = NULL;
        else label = String_val(Field(v_label, 0));
        const char* icon_file;
        Elm_Icon_Type icon_type;
        if(v_icon == Val_int(0)) {
                icon_file = NULL;
                icon_type = 0;
        } else {
                value v = Field(v_icon, 0);
                icon_file = String_val(Field(v, 0));
                icon_type = Elm_Icon_Type_val(Field(v, 1));
        }
        Evas_Smart_Cb func;
        value* data;
        if(v_func == Val_int(0)) {
                func = NULL;
                data = NULL;
        } else {
                func = ml_Evas_Smart_Cb;
                data = ml_register_value(Field(v_func, 0));
        }
        Elm_Object_Item* item = elm_hoversel_item_add((Evas_Object*) v_obj,
                label, icon_file, icon_type, func, data);
        if(item == NULL) {
                if(data != NULL) ml_remove_value(data);
                caml_failwith("elm_hoversel_item_add");
        }
        if(data != NULL)
                elm_object_item_del_cb_set(item, ml_Evas_Smart_Cb_on_del);
        return (value) item;
}
static void
_profiles_list_cb(GError *error, char **list, int count, gpointer userdata)
{
	/*FIXME: I should probably free this list, but how?, CHECK DBUS*/
	(void) userdata;
	int i;

	if (error || !list) {
		if (error)
			g_warning("Failed to retrieve profile list: (%d) %s; retrying later",
				error->code, error->message);
		else
			g_warning("Failed to retrieve profile list: call succeeded, "
				"but no data was received; retrying later");

		/* Schedule a retry later */
		g_timeout_add(PROFILE_RETRY_DELAY, _profiles_list_retry, NULL);

		return;
	}

	for (i = 0; i < count; i++) {
		elm_hoversel_item_add(view.profiles_combo, list[i], NULL,
			ELM_ICON_NONE, NULL, NULL);
	}

	/* Determine the current profile. */
	phoneui_utils_sound_profile_get(_profile_get_current_cb, NULL);
}
Ejemplo n.º 4
0
EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *bg, *rect, *hoversel;
   Elm_Object_Item *hoversel_it;

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

   bg = elm_bg_add(win);
   elm_win_resize_object_add(win, bg);
   evas_object_show(bg);

   rect = evas_object_rectangle_add(evas_object_evas_get(win));
   evas_object_color_set(rect, 255, 0, 0, 255);
   evas_object_show(rect);

   hoversel = elm_hoversel_add(win);
   elm_hoversel_hover_parent_set(hoversel, win);
   elm_hoversel_horizontal_set(hoversel, EINA_FALSE);
   elm_object_text_set(hoversel, "Hoversel");
   elm_object_part_content_set(hoversel, "icon", rect);
   elm_hoversel_item_add(hoversel, "Print items", NULL, ELM_ICON_NONE,
                         _print_items, NULL);
   elm_hoversel_item_add(hoversel, "Option 2", "home", ELM_ICON_STANDARD, NULL,
                         NULL);
   hoversel_it = elm_hoversel_item_add(hoversel, "Clear all items", "close",
                                       ELM_ICON_STANDARD, _rm_items, NULL);
   evas_object_smart_callback_add(hoversel, "selected", _sel, hoversel_it);
   evas_object_smart_callback_add(hoversel, "clicked", _add_item, NULL);

   evas_object_resize(hoversel, 180, 30);
   evas_object_move(hoversel, 10, 10);
   evas_object_show(hoversel);

   evas_object_resize(win, 200, 300);
   evas_object_show(win);

   elm_run();

   return 0;
}
Ejemplo n.º 5
0
static void
_add_item(void *data, Evas_Object *obj, void *event_info)
{
   static int num = 0;
   char *str = malloc(sizeof(char) * 10);
   Elm_Object_Item *hoversel_it;

   snprintf(str, 10, "item %d", ++num);

   hoversel_it = elm_hoversel_item_add(obj, str, NULL, ELM_ICON_NONE, NULL,
                                       str);
   elm_object_item_del_cb_set(hoversel_it, _free);
}
Ejemplo n.º 6
0
static void
_populate_users (Evas_Object *users_list)
{
    struct passwd *pent = NULL;

    setpwent ();
    while ((pent = getpwent ()) != NULL) {
        if (g_strcmp0 ("x", pent->pw_passwd) == 0 &&
                _is_valid_user (pent)) {
            elm_hoversel_item_add(users_list, pent->pw_name, NULL,
                    ELM_ICON_NONE, NULL, NULL);
        }
        pent = NULL;
    }
    endpwent ();
}
Ejemplo n.º 7
0
///////////////// GENGRID /////////////////////////////
static void
_entrance_fill_hoversell(Evas_Object *obj, Entrance_Fill *ef, Eina_List *contents, Evas_Smart_Cb func)
{
   Eina_List *l;
   char *str = NULL;
   void *content;

   EINA_LIST_FOREACH(contents, l, content)
     {
        if (ef->func.text_get)
          str = ef->func.text_get(content, obj, NULL);
        elm_hoversel_item_add(obj, str, NULL,
                              ELM_ICON_FILE, func, content);
        free(str);
     }
}
Ejemplo n.º 8
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);
}