コード例 #1
0
static void
vm_action_cb(const char *reply, void *data)
{
	xmlNode *r;
	Elm_Genlist_Item *gl;
	vmitem *item;
	zrpc_vm *vm;

	if (!reply || !(r = xml_parse_xml(reply)) || (!xml_parse_int(r)))
	{
		elm_label_label_set(win->main_vm->status, "Job add failed!");
		evas_object_show(win->main_vm->notify);
		return;
	}

	elm_label_label_set(win->main_vm->status, "Job add was successful!");
	evas_object_show(win->main_vm->notify);
	if ((win->view == win->main_vm->view) || (win->view == win->main_user->view))
	{
		gl = elm_genlist_selected_item_get(win->main_vm->list);
		if (gl)
		{
			item = (vmitem*)elm_genlist_item_data_get(gl);
			vm = item->vm;
			win->list = eina_list_remove(win->list, vm);
#ifdef DEBUG
printf("Removing %s from all lists...\n", vm->uuid);
#endif
			win->elist = eina_list_remove(win->elist, item);
			free_vmitem(item);
			elm_genlist_item_del(gl);
		}
	}
}
コード例 #2
0
void
vm_shutdown_cb(void *data, Evas_Object *obj, void *event_info)
{
	const char *uuid;
	Elm_Genlist_Item *gl;
	vmitem *item;

	if (win->view == win->main_vm->view)
	{
		gl = elm_genlist_selected_item_get(win->main_vm->list);
		if (!gl)
			return;
		item = (vmitem*)elm_genlist_item_data_get(gl);
		elm_toolbar_item_unselect_all(win->main_vm->bar);
		uuid = item->vm->uuid;
	}
	else if ((win->view == win->info->vmview) || (win->view == win->info->vmhover))
		uuid = win->info->vmuuid;

	if (!uuid || (eina_stringshare_strlen(uuid) != 36))
		elm_label_label_set(win->main_vm->status, "Could not retrieve valid uuid for operation!");
	else if (!zrpc_VM_shutdown(uuid, zcon, vm_action_cb, NULL))
		elm_label_label_set(win->main_vm->status, "Connection to zrpc failed!");
	else
		elm_label_label_set(win->main_vm->status, "Connection succeeded!");

	evas_object_show(win->main_vm->notify);
	if (win->view == win->info->vmhover)
		zinfo_destroy_hover(NULL, NULL, NULL);
}
コード例 #3
0
ファイル: mediaplayer_obj.c プロジェクト: GeeXboX/enna
static int
metadata_set_text(Evas_Object *obj,
                  Enna_File *file, const char *name, int bold)
{
    int res = 0;
    const char *str = NULL;
    char *tmp = NULL;

    if (file)
        str =  enna_file_meta_get(file, name);

    if (!str)
        res = -1;
    else
        tmp = strdup(str);

    if(bold && str)
    {
        tmp = enna_util_str_chomp(tmp);
    }
    else
    {
        tmp = enna_util_str_chomp(tmp);
    }
    elm_label_ellipsis_set(obj, EINA_TRUE);
    elm_label_label_set(obj, tmp);
    ENNA_FREE(tmp);
    eina_stringshare_del(str);
    return res;
}
コード例 #4
0
ファイル: contact-delete-view.c プロジェクト: shr-project/shr
static void
frame_delete_show(void *userdata)
{
	struct ContactDeleteViewData *data =
		(struct ContactDeleteViewData *) userdata;
	struct Window *win = data->win;
	window_layout_set(win, CONTACTS_FILE, "delete");

	data->info_label = elm_label_add(window_evas_object_get(win));
	elm_label_label_set(data->info_label,
			    D_("Do you really want to delete it?"));
	window_swallow(win, "info", data->info_label);
	evas_object_show(data->info_label);

	data->bt_yes = elm_button_add(window_evas_object_get(win));
	elm_button_label_set(data->bt_yes, D_("Yes"));
	evas_object_smart_callback_add(data->bt_yes, "clicked",
				       frame_delete_yes_clicked, data);
	window_swallow(win, "button_yes", data->bt_yes);
	evas_object_show(data->bt_yes);

	data->bt_no = elm_button_add(window_evas_object_get(win));
	elm_button_label_set(data->bt_no, D_("No"));
	evas_object_smart_callback_add(data->bt_no, "clicked",
				       frame_delete_no_clicked, data);
	window_swallow(win, "button_no", data->bt_no);
	evas_object_show(data->bt_no);
}
コード例 #5
0
ファイル: message-new-view.c プロジェクト: shr-project/shr
static void
frame_close_show(struct MessageNewViewData *data)
{
	struct Window *win = data->win;

	window_layout_set(win, DIALOG_FILE, "close");

	data->information = elm_label_add(window_evas_object_get(win));
	elm_label_label_set(data->information,
			    D_("Do you really want to quit?"));
	window_swallow(win, "information", data->information);
	evas_object_show(data->information);

	data->bt1 = elm_button_add(window_evas_object_get(win));
	elm_button_label_set(data->bt1, D_("Yes"));
	evas_object_smart_callback_add(data->bt1, "clicked",
				       frame_close_yes_clicked, data);
	window_swallow(win, "button_yes", data->bt1);
	evas_object_show(data->bt1);

	data->bt2 = elm_button_add(window_evas_object_get(win));
	elm_button_label_set(data->bt2, D_("No"));
	evas_object_smart_callback_add(data->bt2, "clicked",
				       frame_close_no_clicked, data);
	window_swallow(win, "button_no", data->bt2);
	evas_object_show(data->bt2);
}
コード例 #6
0
ファイル: list.c プロジェクト: amitesh-singh/Enlightenment
static void
alert(const char *text)
{
   Evas_Object *win, *bx, *lb, *bt;
   
   win = window;
   inwin3 = elm_win_inwin_add(win);
   elm_object_style_set(inwin3, "minimal_vertical");
        
   bx = elm_box_add(win);
   evas_object_size_hint_weight_set(bx, 1.0, 0.0);
   evas_object_size_hint_align_set(bx, -1.0, -1.0);
   
   lb = elm_label_add(win);
   evas_object_size_hint_weight_set(lb, 1.0, 1.0);
   evas_object_size_hint_align_set(lb, -1.0, 0.5);
   elm_label_label_set(lb, text);
   elm_box_pack_end(bx, lb);
   evas_object_show(lb);
   
   bt = elm_button_add(window);
   elm_button_label_set(bt, "OK");
   evas_object_size_hint_weight_set(bt, 1.0, 0.0);
   evas_object_size_hint_align_set(bt, -1.0, -1.0);
   elm_box_pack_end(bx, bt);
   evas_object_smart_callback_add(bt, "clicked", on_alert_ok, NULL);
   evas_object_show(bt);   
        
   elm_win_inwin_content_set(inwin3, bx);
   evas_object_show(bx);
   
   elm_win_inwin_activate(inwin3);
}
コード例 #7
0
ファイル: emusic_notify.c プロジェクト: mink365/e_music
int
emusic_notify_show(char *label)
{
	//FIXME:edje_object_part_text_set
	elm_label_label_set(sd->label, label);
	evas_object_show(sd->notify);
}
コード例 #8
0
ファイル: emusic_notify.c プロジェクト: mink365/e_music
Evas_Object *
emusic_notify_creat(Em_Smart_Data *em)
{
	Evas_Object *bx, *bt, *notify, *label;

	sd = calloc(1, sizeof(Smart_Data));
	if (!sd) return NULL;

	notify = elm_notify_add(em->edje);
	evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_TOP_RIGHT);
	//edje_object_part_swallow(, "box.swallow", em->notify.notify);
	sd->notify = notify;

	bx = elm_box_add(notify);
	elm_notify_content_set(notify, bx);
	elm_box_horizontal_set(bx, 1);
	evas_object_show(bx);

	label = elm_label_add(notify);
	elm_label_label_set(label, "Top Right position.");
	elm_box_pack_end(bx, label);
	evas_object_show(label);
	sd->label = label;

	bt = elm_button_add(notify);
	elm_button_label_set(bt, "Close");
	evas_object_smart_callback_add(bt, "clicked", _notify_bt_close, NULL);
	elm_box_pack_end(bx, bt);
	evas_object_show(bt);

	return notify;
}
コード例 #9
0
void
album_new(void *data, Enlil_Album *album)
{
   char buf[PATH_MAX];
   Enlil_Data *enlil_data = (Enlil_Data *) data;
   Enlil_Library *_library = enlil_data->library;
   enlil_album_monitor_start(album);

   enlil_album_collection_process(album);

   Enlil_Album_Data *enlil_album_data = calloc(1, sizeof(Enlil_Album_Data));
   enlil_album_data->enlil_data = enlil_data;
   enlil_album_user_data_set(album, enlil_album_data, enlil_album_data_free);

   enlil_album_photos_sort_set(album, ENLIL_PHOTO_SORT_DATE);
   enlil_album_photos_sort_set(album, ENLIL_PHOTO_SORT_DATE);

   Enlil_Album *album_prev = enlil_library_album_prev_get(_library, album);
   Enlil_Album_Data *album_data_prev = enlil_album_user_data_get(album_prev);
   if (!album_prev || !album_data_prev)
   {
      list_left_append_relative(enlil_data->list_left, album, NULL);
      list_photo_album_append_relative(enlil_data->list_photo, album, NULL);
   }
   else
   {
      list_left_append_relative(enlil_data->list_left, album,
                                album_data_prev->list_album_item);
      list_photo_album_append_relative(enlil_data->list_photo, album,
                                       album_data_prev->list_photo_item);
   }

   import_album_new(album);

   //snprintf(buf, PATH_MAX, "%s %s",D_("New Album : "), enlil_album_name_get(album));
   //notify_sync_content_set(enlil_data, buf);

   enlil_data->nb_albums++;

   snprintf(buf, PATH_MAX, D_("  %d albums and %d photos."),
            enlil_data->nb_albums, enlil_data->nb_photos);
   elm_label_label_set(enlil_data->list_photo->lbl_nb_albums_photos, buf);

   Enlil_NetSync_Job
            *job =
                     enlil_netsync_job_sync_photos_append(
                                                          album,
                                                          netsync_photo_new_cb,
                                                          netsync_photo_notinnetsync_cb,
                                                          netsync_photo_notuptodate_cb,
                                                          netsync_photo_netsyncnotuptodate_cb,
                                                          netsync_photo_uptodate_cb,
                                                          netsync_photo_tags_notuptodate_cb,
                                                          netsync_photo_tags_netsyncnotuptodate_cb,
                                                          netsync_photo_tags_uptodate_cb,
                                                          enlil_data);
}
コード例 #10
0
ファイル: lirc.c プロジェクト: naguirre/enna
static Evas_Object *
lirc_panel_show(void *data)
{
    _o_main = elm_label_add(enna->layout);
    elm_label_label_set(_o_main, "Remote config panel !! TODO :P");
    elm_object_scale_set(_o_main, 6.0);
    evas_object_size_hint_align_set(_o_main, -1.0, -1.0);
    evas_object_size_hint_weight_set(_o_main, 1.0, 1.0);
    evas_object_show(_o_main);

    return _o_main;
}
コード例 #11
0
ファイル: list.c プロジェクト: amitesh-singh/Enlightenment
static void
on_number_ok(void *data, Evas_Object *obj, void *event_info)
{
   const char *n = elm_entry_entry_get(number_entry);
   if (number) free(number);
   if (n) number = strdup(n);
   else number = NULL;
   elm_photo_file_set(write_ph, NULL);
   elm_label_label_set(write_lb, number);
   evas_object_del(inwin2);
   inwin2 = NULL;
}
コード例 #12
0
ファイル: list.c プロジェクト: amitesh-singh/Enlightenment
static void
on_edit(void *data, Evas_Object *obj, void *event_info)
{
   const char *text;
   char buf[256], *text2;
   int len;
   
   text = elm_entry_entry_get(sms_entry);
   if (!text) return;
   text2 = elm_entry_markup_to_utf8(text);
   if (!text2) return;
   len = strlen(text2);
   if (len > 0)
     {
        if (text2[len - 1] == '\n') text2[len - 1] = 0;
     }
   len = strlen(text2);
   free(text2);
   snprintf(buf, sizeof(buf), "%i", len);
   elm_label_label_set(write_stat, buf);
}
コード例 #13
0
static void
igd_client_win_create(void)
{
    Evas_Object *win, *bg, *bx0, *lb, *fr;
    win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
    elm_win_title_set(win, "Internet Gateway Device Controller");
    evas_object_smart_callback_add(win, "delete-request", igd_client_win_del, NULL);
    bg = elm_bg_add(win);
    evas_object_size_hint_weight_set(bg, 1.0, 1.0);
    elm_win_resize_object_add(win, bg);
    evas_object_show(bg);

    bx0 = elm_box_add(win);
    evas_object_size_hint_weight_set(bx0, 1.0, 1.0);
    elm_win_resize_object_add(win, bx0);
    evas_object_show(bx0);

    fr = elm_frame_add(win);
    elm_frame_label_set(fr, "Instructions");
    elm_box_pack_end(bx0, fr);
    evas_object_show(fr);

    lb = elm_label_add(win);
    elm_label_label_set(lb, "IGD devices will be present on the list below<br>"
                        "as they're found. Click on them for performing <br>"
                        "actions.");
    elm_frame_content_set(fr, lb);
    evas_object_show(lb);

    li = elm_list_add(win);
    elm_list_always_select_mode_set(li, 1);
    evas_object_size_hint_weight_set(li, 1.0, 1.0);
    evas_object_size_hint_align_set(li, -1.0, -1.0);
    elm_box_pack_end(bx0, li);
    evas_object_show(li);

    evas_object_resize(win, 280, 280);
    evas_object_show(win);
}
コード例 #14
0
void
load_done_cb(void *data, Enlil_Load *load, int nb_albums, int nb_photos)
{
   char buf[PATH_MAX];
   Enlil_Data *enlil_data = (Enlil_Data *) data;
   Enlil_Library *library = enlil_data->library;

   snprintf(buf, PATH_MAX, D_("Loading %d albums and %d photos"), nb_albums,
            nb_photos);

   loading_status_show(enlil_data, buf, EINA_FALSE);

   enlil_load_free(&load);
   enlil_data->load = NULL;

   Enlil_Sync *sync = enlil_library_sync_get(library);

   enlil_sync_job_all_add(sync);

   main_menu_loading_disable_set(0);
   main_menu_sync_disable_set(1);

   enlil_data->nb_photos = nb_photos;
   enlil_data->nb_albums = nb_albums;

   snprintf(buf, PATH_MAX, D_("  %d albums and %d photos."),
            enlil_data->nb_albums, enlil_data->nb_photos);
   elm_label_label_set(enlil_data->list_photo->lbl_nb_albums_photos, buf);

   photos_list_object_freeze(enlil_data->list_photo->o_list, EINA_FALSE);

   enlil_netsync_job_sync_albums_append(enlil_data->library,
                                        netsync_album_new_cb,
                                        netsync_album_notinnetsync_cb,
                                        netsync_album_notuptodate_cb,
                                        netsync_album_netsyncnotuptodate_cb,
                                        netsync_album_uptodate_cb, enlil_data);
}
コード例 #15
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);
}
コード例 #16
0
static void
create_alarm_win(void)
{
   Evas_Object *win, *bg, *frame, *box, *subbox, *toggle, *cloc, *button, *label;

   win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
   elm_win_title_set(win, "Alarm");
   evas_object_smart_callback_add(win, "delete-request", on_win_del_req, NULL);

   bg = elm_bg_add(win);
   evas_object_size_hint_weight_set(bg, 1.0, 1.0); // expand h/v 1/1 (for win this also fills)
   elm_win_resize_object_add(win, bg);
   evas_object_show(bg);
   
   box = elm_box_add(win);
   evas_object_size_hint_weight_set(box, 1.0, 1.0); // expand h/v 1/1 (for win this also fills)
   elm_win_resize_object_add(win, box);
   
   frame = elm_frame_add(win);
   evas_object_size_hint_weight_set(frame, 1.0, 0.0); // expand h/v 1/0
   evas_object_size_hint_align_set(frame, -1.0, 0.0); // fill h/v 1/0
   elm_frame_label_set(frame, "State");
   
   subbox = elm_box_add(win);
   elm_frame_content_set(frame, subbox);

   label = elm_label_add(win);
   elm_label_label_set(label,
		       "<br>"
		       "<b>Alarm Message</b><br>"
		       "<br>");
   elm_box_pack_end(subbox, label);
   evas_object_show(label);

   evas_object_show(subbox);
   
   elm_box_pack_end(box, frame);
   evas_object_show(frame);
   
   frame = elm_frame_add(win);
   evas_object_size_hint_weight_set(frame, 1.0, 0.0); // expand h/v 1/0
   evas_object_size_hint_align_set(frame, -1.0, 0.0); // fill h/v 1/0
   elm_frame_label_set(frame, "Current Time");
   
   subbox = elm_box_add(win);
   elm_frame_content_set(frame, subbox);

   cloc = elm_clock_add(win);
   elm_clock_show_am_pm_set(cloc, 1);
   elm_clock_show_seconds_set(cloc, 1);
   elm_box_pack_end(subbox, cloc);
   evas_object_show(cloc);
   
   evas_object_show(subbox);
   
   elm_box_pack_end(box, frame);
   evas_object_show(frame);
   
   button = elm_button_add(win);
   elm_button_label_set(button, "Set new alarm");
   evas_object_smart_callback_add(button, "clicked", on_set_button_activate, NULL);
   evas_object_size_hint_weight_set(button, 1.0, 1.0); // expand h/v 1/0
   evas_object_size_hint_align_set(button, -1.0, 0.0); // fill h/v 1/0, align h/v ?/1.0
   elm_box_pack_end(box, button);
   evas_object_show(button);
   
   button = elm_button_add(win);
   elm_button_label_set(button, "OK");
   evas_object_smart_callback_add(button, "clicked", on_button_activate, NULL);
   evas_object_size_hint_weight_set(button, 1.0, 1.0); // expand h/v 1/0
   evas_object_size_hint_align_set(button, -1.0, 1.0); // fill h/v 1/0, align h/v ?/1.0
   elm_box_pack_end(box, button);
   evas_object_show(button);
   
   evas_object_show(box);
   evas_object_show(win);
}
コード例 #17
0
ファイル: list.c プロジェクト: amitesh-singh/Enlightenment
void
create_compose(Data_Message *rep_to, const char *to, const char *text)
{
   Evas_Object *bx, *bx2, *ph, *lb, *bt, *sc, *en;

   if (content) evas_object_del(content);
   
   reply_to = NULL;
   if (number)
     {
        free(number);
        number = NULL;
     }
   
   if (rep_to)
     {
        reply_to = rep_to;
        if (reply_to->from_to)
          number = strdup(reply_to->from_to);
     }
   if (to)
     {
        if (number) free(number);
        number = strdup(to);
     }
   
   bx = elm_box_add(window);
   evas_object_size_hint_weight_set(bx, 1.0, 1.0);
   evas_object_size_hint_align_set(bx, -1.0, -1.0);
   
   content = bx;
   
   bx2 = elm_box_add(window);
   elm_box_horizontal_set(bx2, 1);
   evas_object_size_hint_weight_set(bx2, 1.0, 0.0);
   evas_object_size_hint_align_set(bx2, -1.0, -1.0);
   
   ph = elm_photo_add(window);
   evas_object_smart_callback_add(ph, "clicked", on_to_select, NULL);
   evas_object_size_hint_weight_set(ph, 0.0, 1.0);
   evas_object_size_hint_align_set(ph, -1.0, -1.0);
   elm_box_pack_end(bx2, ph);
   evas_object_show(ph);
   write_ph = ph;
   
   lb = elm_label_add(window);
   elm_label_label_set(lb, "Select...");
   evas_object_size_hint_weight_set(lb, 1.0, 1.0);
   evas_object_size_hint_align_set(lb, -1.0, 0.5);
   elm_box_pack_end(bx2, lb);
   evas_object_show(lb);
   write_lb = lb;
   
   lb = elm_label_add(window);
   elm_label_label_set(lb, "0");
   evas_object_size_hint_weight_set(lb, 0.0, 1.0);
   evas_object_size_hint_align_set(lb, 0.5, 0.5);
   elm_box_pack_end(bx2, lb);
   evas_object_show(lb);
   write_stat = lb;

   if (number)
     {
        Data_Contact *ctc = data_contact_by_tel_find(number);
        if (ctc)
          {
             char *name, *file;
             elm_label_label_set(write_lb, number);
             name = data_contact_name_get(ctc);
             if (name)
               {
                  elm_label_label_set(write_lb, name);
                  free(name);
               }
             file = data_contact_photo_file_get(ctc);
             if (file)
               {
                  elm_photo_file_set(write_ph, file);
                  free(file);
               }
          }
     }
   
   elm_box_pack_end(bx, bx2);
   evas_object_show(bx2);
   
   sc = elm_scroller_add(window);
   evas_object_size_hint_weight_set(sc, 1.0, 1.0);
   evas_object_size_hint_align_set(sc, -1.0, -1.0);
   elm_box_pack_end(bx, sc);
   
   en = elm_entry_add(window);
   if (text) elm_entry_entry_set(en, text);
   else elm_entry_entry_set(en, "");
   evas_object_size_hint_weight_set(en, 1.0, 1.0);
   evas_object_size_hint_align_set(en, -1.0, -1.0);
   elm_scroller_content_set(sc, en);
   evas_object_smart_callback_add(en, "changed", on_edit, NULL);
   evas_object_show(en);
   
   evas_object_show(sc);
   sms_entry = en;
   
   bt = elm_button_add(window);
   elm_button_label_set(bt, "Send");
   evas_object_size_hint_weight_set(bt, 1.0, 0.0);
   evas_object_size_hint_align_set(bt, -1.0, -1.0);
   elm_box_pack_end(bx, bt);
   evas_object_smart_callback_add(bt, "clicked", on_send, NULL);
   evas_object_show(bt);   

   elm_box_pack_end(box, bx);
   evas_object_show(bx);
}
コード例 #18
0
ファイル: list.c プロジェクト: amitesh-singh/Enlightenment
static void
on_contact_select(void *data, Evas_Object *obj, void *event_info)
{
   Data_Contact *ctc = data;
   if (!ctc)
     {
        Evas_Object *win, *bx, *bt, *sc, *en;

        win = window;
        inwin2 = elm_win_inwin_add(win);
        elm_object_style_set(inwin2, "minimal_vertical");
        
        bx = elm_box_add(win);
        evas_object_size_hint_weight_set(bx, 1.0, 0.0);
        evas_object_size_hint_align_set(bx, -1.0, -1.0);
        
        sc = elm_scroller_add(win);
        elm_scroller_content_min_limit(sc, 0, 1);
        evas_object_size_hint_weight_set(sc, 1.0, 1.0);
        evas_object_size_hint_align_set(sc, -1.0, 0.5);
        elm_box_pack_end(bx, sc);
        
        en = elm_entry_add(win);
        elm_entry_single_line_set(en, 1);
        elm_entry_entry_set(en, "Enter number...");
        evas_object_size_hint_weight_set(en, 1.0, 0.0);
        evas_object_size_hint_align_set(en, -1.0, 0.0);
        elm_entry_select_all(en);
        elm_scroller_content_set(sc, en);
        evas_object_show(en);
        evas_object_show(sc);
        number_entry = en;
   
        bt = elm_button_add(window);
        elm_button_label_set(bt, "OK");
        evas_object_size_hint_weight_set(bt, 1.0, 0.0);
        evas_object_size_hint_align_set(bt, -1.0, -1.0);
        elm_box_pack_end(bx, bt);
        evas_object_smart_callback_add(bt, "clicked", on_number_ok, NULL);
        evas_object_show(bt);   
        
        elm_win_inwin_content_set(inwin2, bx);
        evas_object_show(bx);

        elm_win_inwin_activate(inwin2);
        elm_object_focus(en);
     }
   else if (eina_list_count(ctc->tel.numbers) > 1)
     {
        Evas_Object *win, *bx, *bx2, *bt, *li, *fr, *ph, *lb;
        Eina_List *l;
        char *name, *file;
        
        win = window;
        inwin2 = elm_win_inwin_add(win);

        bx = elm_box_add(win);
        evas_object_size_hint_weight_set(bx, 1.0, 0.0);
        evas_object_size_hint_align_set(bx, -1.0, -1.0);

        fr = elm_frame_add(win);
        name = data_contact_name_get(ctc);
        if (name)
          {
             elm_label_label_set(write_lb, name);
             elm_frame_label_set(fr, name);
             free(name);
          }
        evas_object_size_hint_weight_set(fr, 1.0, 0.0);
        evas_object_size_hint_align_set(fr, -1.0, -1.0);
        elm_box_pack_end(bx, fr);        
        evas_object_show(fr);

        bx2 = elm_box_add(win);
        elm_box_horizontal_set(bx2, 1);
        elm_frame_content_set(fr, bx2);
        evas_object_show(bx2);
        
        ph = elm_photo_add(win);
        file = data_contact_photo_file_get(ctc);
        if (file)
          {
             elm_photo_file_set(write_ph, file);
             elm_photo_file_set(ph, file);
             free(file);
          }
        evas_object_size_hint_weight_set(ph, 0.0, 0.0);
        evas_object_size_hint_align_set(ph, -1.0, -1.0);
        elm_box_pack_end(bx2, ph);
        evas_object_show(ph);
        
        lb = elm_label_add(win);
        elm_label_label_set(lb, 
                            "This contact has multiple<br>"
                            "numbers. Select one.");
        evas_object_size_hint_weight_set(lb, 1.0, 0.0);
        evas_object_size_hint_align_set(lb, -1.0, -1.0);
        elm_box_pack_end(bx2, lb);
        evas_object_show(lb);
        
        li = elm_list_add(win);
        evas_object_size_hint_weight_set(li, 1.0, 1.0);
        evas_object_size_hint_align_set(li,  -1.0, -1.0);
        elm_box_pack_end(bx, li);

        for (l = (Eina_List *)(ctc->tel.numbers); l; l = l->next)
          {
             Data_Contact_Tel *tel = l->data;
             // FIXME:
             // tel->flags can be 0 or more of:
             //    DATA_CONTACT_TEL_HOME = (1 << 0),
             //    DATA_CONTACT_TEL_MSG = (1 << 1),
             //    DATA_CONTACT_TEL_WORK = (1 << 2),
             //    DATA_CONTACT_TEL_PREF = (1 << 3),
             //    DATA_CONTACT_TEL_VOICE = (1 << 4),
             //    DATA_CONTACT_TEL_FAX = (1 << 5),
             //    DATA_CONTACT_TEL_CELL = (1 << 6),
             //    DATA_CONTACT_TEL_VIDEO = (1 << 7),
             //    DATA_CONTACT_TEL_PAGER = (1 << 8),
             //    DATA_CONTACT_TEL_BBS = (1 << 9),
             //    DATA_CONTACT_TEL_MODEM = (1 << 10),
             //    DATA_CONTACT_TEL_CAR = (1 << 11),
             //    DATA_CONTACT_TEL_ISDN = (1 << 12),
             //    DATA_CONTACT_TEL_PCS = (1 << 13)
             elm_list_item_append(li, tel->number, NULL, NULL, on_number_select, tel);
          }
        elm_list_go(li);
        
        evas_object_show(li);
        
        bt = elm_button_add(window);
        elm_button_label_set(bt, "OK");
        evas_object_size_hint_weight_set(bt, 1.0, 0.0);
        evas_object_size_hint_align_set(bt, -1.0, -1.0);
        elm_box_pack_end(bx, bt);
        evas_object_smart_callback_add(bt, "clicked", on_number_list_ok, NULL);
        evas_object_show(bt);   
        
        elm_win_inwin_content_set(inwin2, bx);
        evas_object_show(bx);

        elm_win_inwin_activate(inwin2);
        
     }
   else
     {
        Data_Contact_Tel *tel;
        char *name, *file;
        
        tel = ctc->tel.numbers->data;
        if (number) free(number);
        number = strdup(tel->number);
        elm_label_label_set(write_lb, number);
        name = data_contact_name_get(ctc);
        if (name)
          {
             elm_label_label_set(write_lb, name);
             free(name);
          }
        file = data_contact_photo_file_get(ctc);
        if (file)
          {
             elm_photo_file_set(write_ph, file);
             free(file);
          }
     }
}
コード例 #19
0
static void
_account_set_cb(void *data, Evas_Object *obj, void *event_info)
{
   Evas_Object *fr, *tb, *inwin, *lbl, *sc, *text, *bt, *hbox, *img, *entry;
   char buf[PATH_MAX];

   inwin = elm_win_inwin_add(enlil_data->win->win);
   set_account.inwin = inwin;
   evas_object_show(inwin);

   fr = elm_frame_add(enlil_data->win->win);
   elm_frame_label_set(fr, D_("Set the Flick account."));
   evas_object_size_hint_weight_set(fr, 1.0, 1.0);
   evas_object_size_hint_align_set(fr, 0.0, 0.0);
   evas_object_show(fr);

   tb = elm_table_add(enlil_data->win->win);
   elm_table_padding_set(tb, 10, 10);
   evas_object_size_hint_weight_set(tb, 1.0, 1.0);
   evas_object_size_hint_align_set(tb, -1.0, -1.0);
   evas_object_show(tb);

   //steps
   lbl = elm_label_add(enlil_data->win->win);
   elm_label_label_set(
                       lbl,
                       D_("<b>STEP 1 :</b> Open the web page in your favorite web browser."));
   evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
   evas_object_size_hint_align_set(lbl, -1.0, 0.0);
   evas_object_show(lbl);
   elm_table_pack(tb, lbl, 0, 0, 2, 1);

   entry = elm_scrolled_entry_add(enlil_data->win->win);
   elm_scrolled_entry_single_line_set(entry, EINA_TRUE);
   elm_scrolled_entry_entry_set(entry, enlil_flickr_auth_url_get());
   evas_object_size_hint_weight_set(entry, 1.0, 0.0);
   evas_object_size_hint_align_set(entry, -1.0, 0.0);
   evas_object_show(entry);
   elm_table_pack(tb, entry, 0, 1, 2, 1);

   img = elm_image_add(obj);
   elm_image_file_set(img, Theme, "flickr/set_account_0");
   evas_object_size_hint_weight_set(img, 1.0, 1.0);
   evas_object_size_hint_align_set(img, -1.0, -1.0);
   evas_object_show(img);
   elm_table_pack(tb, img, 0, 2, 2, 1);

   snprintf(
            buf,
            PATH_MAX,
            D_("<b>STEP 2 :</b> Authorize Enki to access to your account."));
   lbl = elm_label_add(enlil_data->win->win);
   elm_label_label_set(lbl, buf);
   evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
   evas_object_size_hint_align_set(lbl, -1.0, 0.0);
   evas_object_show(lbl);
   elm_table_pack(tb, lbl, 0, 3, 2, 1);

   img = elm_image_add(obj);
   elm_image_file_set(img, Theme, "flickr/set_account_1");
   evas_object_size_hint_weight_set(img, 0.0, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(img, -1.0, -1.0);
   evas_object_show(img);
   elm_table_pack(tb, img, 0, 4, 2, 1);

   snprintf(
            buf,
            PATH_MAX,
            D_("<b>STEP 3 :</b> Copy the code in the followed text area."));
   lbl = elm_label_add(enlil_data->win->win);
   elm_label_label_set(lbl, buf);
   evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
   evas_object_size_hint_align_set(lbl, -1.0, 0.0);
   evas_object_show(lbl);
   elm_table_pack(tb, lbl, 0, 5, 2, 1);
   //

   lbl = elm_label_add(enlil_data->win->win);
   elm_label_label_set(lbl, D_("The 9-digit code : "));
   evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
   evas_object_size_hint_align_set(lbl, -1.0, 0.0);
   evas_object_show(lbl);
   elm_table_pack(tb, lbl, 0, 6, 1, 1);

   sc = elm_scroller_add(enlil_data->win->win);
   evas_object_size_hint_weight_set(sc, 1.0, 0.0);
   evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_scroller_content_min_limit(sc, EINA_FALSE, EINA_TRUE);
   elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
   elm_scroller_bounce_set(sc, 0, 0);
   evas_object_show(sc);
   elm_table_pack(tb, sc, 1, 6, 1, 1);

   text = elm_entry_add(enlil_data->win->win);
   set_account.entry = text;
   elm_entry_entry_set(text, "");
   elm_entry_single_line_set(text, 1);
   evas_object_size_hint_weight_set(text, EVAS_HINT_EXPAND, 1.0);
   evas_object_size_hint_align_set(text, 1.0, 0.5);
   elm_scroller_content_set(sc, text);
   evas_object_show(text);

   hbox = elm_box_add(enlil_data->win->win);
   elm_box_horizontal_set(hbox, 1);
   evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0);
   evas_object_size_hint_align_set(hbox, 1.0, 0.0);
   evas_object_show(hbox);
   elm_table_pack(tb, hbox, 1, 7, 1, 1);

   bt = elm_button_add(enlil_data->win->win);
   elm_button_label_set(bt, D_("Cancel"));
   evas_object_smart_callback_add(bt, "clicked", _account_set_cancel_cb, NULL);
   evas_object_size_hint_align_set(bt, 1.0, 0.0);
   evas_object_show(bt);
   elm_box_pack_end(hbox, bt);

   bt = elm_button_add(enlil_data->win->win);
   elm_button_label_set(bt, D_("Apply"));
   evas_object_smart_callback_add(bt, "clicked", _account_set_apply_cb, text);
   evas_object_size_hint_align_set(bt, 1.0, 0.0);
   evas_object_show(bt);
   elm_box_pack_end(hbox, bt);
   elm_object_disabled_set(bt, EINA_TRUE);

   evas_object_smart_callback_add(text, "changed",
                                  _account_set_entry_changed_cb, bt);

   elm_frame_content_set(fr, tb);
   elm_win_inwin_content_set(inwin, fr);
}