Hello all,
I just svn'd up (r59145) and found this strange problem.
When a genlist item's label contains mixed Chinese and ASCII
characters, the ASCII characters within the string are all gone!
For example, " _CHINESE_" will be displayed for the actual string, "1
_CHINESE_".
Please see the attached for the demonstration of the problem.
Thanks in advance.
brian
--
brian
------------------
Cool-Karaoke - The smallest recording studio, in your palm, open-sourced
http://cool-idea.com.tw/
iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe
#include <Elementary.h>
static Evas_Object *_win;
static Elm_Genlist_Item_Class itc1;
static void _gl_clear(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *gl = data;
int i;
elm_genlist_clear(gl);
for (i = 0; i < 10; i++) {
elm_genlist_item_append(gl, &itc1,
(void *)i/* item data */,
NULL/* parent */,
ELM_GENLIST_ITEM_NONE,
NULL/* func */,
(void *)(i * 10)/* func data */);
}
}
char *gl_label_get(void *data, Evas_Object *obj, const char *part)
{
char buf[256];
//snprintf(buf, sizeof(buf), "Item # %i", (int)data);
//snprintf(buf, sizeof(buf), "中文 1");
snprintf(buf, sizeof(buf), "1 中文");
return strdup(buf);
}
Evas_Object *gl_icon_get(void *data, Evas_Object *obj, const char *part)
{
return NULL;
if (!strcmp(part, "elm.swallow.end")) {
Evas_Object *bt, *ic;
#if 0
ic = elm_icon_add(_win);
elm_icon_file_set(ic, "icon.png", NULL);
evas_object_show(ic);
#endif
bt = elm_button_add(_win);
//elm_button_icon_set(bt, ic);
elm_button_label_set(bt, "bug");
evas_object_smart_callback_add(bt, "clicked", _gl_clear, obj);
evas_object_show(bt);
return bt;
}
return NULL;
}
Eina_Bool gl_state_get(void *data, Evas_Object *obj, const char *part)
{
return EINA_FALSE;
}
void gl_del(void *data, Evas_Object *obj)
{
}
static void win_del(void *data, Evas_Object *obj, void *event_info)
{
printf("%s in\n", __func__);
elm_exit();
}
void
test_genlist(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *win, *bg, *gl, *bx, *bt;
Elm_Genlist_Item *gli;
int i;
_win = win = elm_win_add(NULL, "genlist", ELM_WIN_BASIC);
elm_win_title_set(win, "Genlist");
evas_object_smart_callback_add(win, "delete-request", win_del, NULL);
bg = elm_bg_add(win);
elm_win_resize_object_add(win, bg);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
gl = elm_genlist_add(win);
evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL);
//elm_genlist_homogeneous_set(gl, 1); // new
elm_genlist_block_count_set(gl, 1);
elm_genlist_no_select_mode_set(gl, 1);
elm_object_scale_set(gl, 2.0);
elm_box_pack_end(bx, gl);
evas_object_show(gl);
itc1.item_style = "default";
itc1.func.label_get = gl_label_get;
itc1.func.icon_get = gl_icon_get;
itc1.func.state_get = gl_state_get;
itc1.func.del = gl_del;
for (i = 0; i < 1; i++)
{
gli = elm_genlist_item_append(gl, &itc1,
(void *)i/* item data */,
NULL/* parent */,
ELM_GENLIST_ITEM_NONE,
NULL/* func */,
(void *)(i * 10)/* func data */);
}
evas_object_resize(win, 320, 200);
evas_object_show(win);
}
EAPI int elm_main(int argc, char **argv)
{
test_genlist(0,0,0);
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN()
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel