ctxpopup - support program candidates list

This commit is contained in:
ChunEon Park 2014-03-16 12:43:25 +09:00
parent f61c99539a
commit 669615475e
5 changed files with 29 additions and 1 deletions

View File

@ -193,6 +193,19 @@ ctxpopup_candidate_list_create(Evas_Object *parent, attr_value *attr,
view_string_list_free(parts);
break;
}
case ATTR_VALUE_PROGRAM:
{
view_data *vd = edj_mgr_view_get(NULL);
if (!vd) goto err;
Eina_List *parts = view_programs_list_get(vd);
Eina_List *l;
char *part;
EINA_LIST_FOREACH(parts, l, part)
elm_ctxpopup_item_append(ctxpopup, part, NULL,
ctxpopup_it_cb, data);
view_string_list_free(parts);
break;
}
}
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, ctxpopup_del_cb,

View File

@ -225,6 +225,13 @@ parser_type_init(parser_data *pd)
attr->instring = EINA_TRUE;
attr->value.type = ATTR_VALUE_IMAGE;
pd->attrs = eina_inlist_append(pd->attrs, (Eina_Inlist *) attr);
//Type: Program
attr = calloc(1, sizeof(parser_attr));
attr->keyword = eina_stringshare_add("after");
attr->instring = EINA_TRUE;
attr->value.type = ATTR_VALUE_PROGRAM;
pd->attrs = eina_inlist_append(pd->attrs, (Eina_Inlist *) attr);
}
char *parser_name_get(parser_data *pd EINA_UNUSED, const char *cur)

View File

@ -415,3 +415,9 @@ view_images_list_get(view_data *vd)
{
edje_edit_images_list_get(vd->layout);
}
Eina_List *
view_programs_list_get(view_data *vd)
{
edje_edit_programs_list_get(vd->layout);
}

View File

@ -4,7 +4,8 @@ typedef enum attr_value_type
ATTR_VALUE_FLOAT = 2,
ATTR_VALUE_CONSTANT = 4,
ATTR_VALUE_PART = 8,
ATTR_VALUE_IMAGE = 16
ATTR_VALUE_IMAGE = 16,
ATTR_VALUE_PROGRAM = 32
} attr_value_type;
struct attr_value_s

View File

@ -11,4 +11,5 @@ void *view_data_get(view_data *vd);
void view_scale_set(view_data *vd, double scale);
Eina_List *view_parts_list_get(view_data *vd);
Eina_List *view_images_list_get(view_data *vd);
Eina_List *view_programs_list_get(view_data *vd);
void view_string_list_free(Eina_List *list);