Hello all,

I just svn'd up my EFL.
It seems elm_entry_cursor_content_get() is currently broken with
Chinese characters.
It worked well before my svn update.

The attached source code will print out the content of the entry
'word' by 'word' when clickd.
Any changes to evas internal handling of strings might cause this?

Thanks in advance.

-- 
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 void _entry_retrieve_clicked_word(Evas_Object *obj)
{
        const char *content;

        while ((content = elm_entry_cursor_content_get(obj))) {
                if (!content[0])
                        break;
                printf("Content: '%s'\n", content);
                if (!elm_entry_cursor_next(obj))
                        break;
        }
}

static void _entry_clicked(void *data, Evas_Object *obj, void *event_info)
{
        printf("%s in\n", __FUNCTION__);

        _entry_retrieve_clicked_word(obj);
}

/* if someone presses the close button on our window - exit nicely */
static void
win_del(void *data, Evas_Object *obj, void *event_info)
{
   /* cleanly exit */
   elm_exit();
}

EAPI int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *bg, *bx, *en;

   win = elm_win_add(NULL, "dialog", ELM_WIN_BASIC);
   evas_object_smart_callback_add(win, "delete-request", win_del, NULL);

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

   bx = elm_box_add(win);
   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_win_resize_object_add(win, bx);
   evas_object_show(bx);

   en = elm_entry_add(win);
   elm_entry_line_wrap_set(en, 1);
   elm_entry_line_char_wrap_set(en, 1);
   elm_entry_editable_set(en, 0);
   elm_object_scale_set(en, 1.6);
#if 1
   /* Chinese + English */
   elm_entry_entry_set(en, "中英混合 english mixed with chinese");
#else
   elm_entry_entry_set(en, "english mixed with chinese");
#endif
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(bx, en);
   evas_object_show(en);
   elm_entry_editable_set(en, 0);

   evas_object_smart_callback_add(en, "clicked", _entry_clicked, NULL);

   /* show the window */
   evas_object_show(win);
   evas_object_resize(win, 320, 240);

   /* get going and draw/respond to the user */
   elm_run();
   /* standard shutdown */
   elm_shutdown();
   /* return/exit code of app signals ok/cancel (0 == ok), (-1 == cancel) */
   return 0;
}
ELM_MAIN()
------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to