*
*/
-#ifdef SUPPORTS_EMOTICONS
-
#include <string>
#include <vector>
#include <sstream>
static void __ise_emoticon_create_gengrid(unsigned short int screen_degree);
static void __ise_emoticon_append_items_to_gengrid(emoticon_group_t emoticon_group);
static void __ise_emoticon_create_item_class(unsigned short int screen_degree);
-#if SUPPORTS_EMOTICONS_BY_IMAGE
-static Evas_Object * grid_content_get(void *data, Evas_Object *obj, const char *part);
-static void grid_content_del(void *data, Evas_Object *obj);
-#else
static char * grid_text_get(void *data, Evas_Object *obj, const char *part);
-#endif
static void _item_selected(void *data, Evas_Object *obj, void *event_info);
static Eina_Bool _focus_done(void *data);
static void _multi_down(void *data, Evas *e, Evas_Object *o, void *event_info);
evas_object_event_callback_add(gengrid, EVAS_CALLBACK_MULTI_UP, _multi_up, NULL);
}
-#if SUPPORTS_EMOTICONS_BY_IMAGE
-static void __ise_emoticon_append_items_to_gengrid(emoticon_group_t emoticon_group)
-{
- char img_name[10];
- short int items = 0;
- std::string file_path = "";
-
- if (emoticon_group == EMOTICON_GROUP_RECENTLY_USED) {
- items = emoticon_list_recent.size();
-
- for (int i = 0; i < items; i++) {
- snprintf(img_name, 10, "%x", emoticon_list_recent[i]);
- emoticon_items[i].code = emoticon_list_recent[i];
- emoticon_items[i].keyevent = emoticon_list_recent[i];
- emoticon_items[i].path = (std::string)EMOTICON_DIR + (std::string)"u" + (std::string)img_name + (std::string)".png";
- emoticon_items[i].item = elm_gengrid_item_append(gengrid, gic, &(emoticon_items[i]), _item_selected, &(emoticon_items[i]));
- }
- } else {
- if (emoticon_group != EMOTICON_GROUP_DESTROY) {
- items = emoticon_group_items[emoticon_group];
- }
- for (int i = 0; i < items; i++) {
- snprintf(img_name, 10, "%x", ise_emoticon_get_code(emoticon_group-1, i));
- file_path = (std::string)EMOTICON_DIR + (std::string)"u" + (std::string)img_name + (std::string)".png";
- if (ise_util_does_file_exists(file_path)) {
- emoticon_items[i].code = ise_emoticon_get_code(emoticon_group-1, i);
- emoticon_items[i].keyevent = ise_emoticon_get_code(emoticon_group-1, i);
- emoticon_items[i].path = file_path;
- emoticon_items[i].item = elm_gengrid_item_append(gengrid, gic, &(emoticon_items[i]), _item_selected, &(emoticon_items[i]));
-// PRINTFUNC(SECURE_DEBUG,"file_path = %s\n",file_path.c_str());
- }
- }
- }
- Elm_Object_Item * it = elm_gengrid_first_item_get(gengrid);
- elm_gengrid_item_show(it, ELM_GENGRID_ITEM_SCROLLTO_NONE);
-}
-
-static void __ise_emoticon_create_item_class(unsigned short int screen_degree)
-{
- if (!gic)
- gic = elm_gengrid_item_class_new();
-
- gic->item_style = get_item_style_for_degree(screen_degree);
-
- gic->func.text_get = NULL;
- gic->func.content_get = grid_content_get;
- gic->func.state_get = NULL;
- gic->func.del = grid_content_del;
-}
-
-static Evas_Object * grid_content_get(void *data, Evas_Object *obj, const char *part)
-{
- emoticon_item_t *ti = (emoticon_item_t *)data;
- if (ti == NULL)
- return NULL;
-
- if (!strcmp(part, "elm.swallow.icon")) {
- if (ti->path.c_str()) {
- Eina_Bool is_image_file_set = false;
- Evas_Object *icon = elm_image_add(obj);
- is_image_file_set = elm_image_file_set(icon, ti->path.c_str(), NULL);
- if (!is_image_file_set) {
- //PRINTFUNC(SECURE_ERROR,"image \"%s\" not set",ti->path.c_str());
- } else {
- elm_image_aspect_fixed_set(icon, EINA_FALSE);
- elm_image_preload_disabled_set(icon, EINA_FALSE);
- evas_object_show(icon);
- }
- evas_object_data_set(icon, "code", (void *)ti->code);
- return icon;
- }
- }
-
- return NULL;
-}
-
-static void grid_content_del(void *data, Evas_Object *obj)
-{
- emoticon_item_t *ti = (emoticon_item_t *)data;
- if (!ti)
- return;
-
- Evas_Object *icon = elm_object_item_part_content_get(ti->item, "elm.swallow.icon");
- if (icon) {
- evas_object_data_del(icon, "code");
- }
- return;
-}
-#else //SUPPORTS_EMOTICONS_BY_IMAGE
static void __ise_emoticon_append_items_to_gengrid(emoticon_group_t emoticon_group)
{
char img_name[10];
return NULL;
}
-#endif //SUPPORTS_EMOTICONS_BY_IMAGE
static void _item_selected(void *data, Evas_Object *obj, void *event_info)
{
}
}
}
-#endif