forked from enlightenment/efl
a few more handlers. i think next i need to add a verbose mode for the parser
SVN revision: 7019
This commit is contained in:
parent
598dd0b60f
commit
ffc3810ee8
|
@ -1,15 +1,28 @@
|
|||
#include "edje_cc.h"
|
||||
|
||||
static void ob_images(void);
|
||||
|
||||
static void ob_images_image(void);
|
||||
static void st_images_image(void);
|
||||
|
||||
static void ob_collections(void);
|
||||
|
||||
static void ob_collections_group(void);
|
||||
static void st_collections_group_name(void);
|
||||
|
||||
static void ob_collections_group_parts(void);
|
||||
|
||||
static void ob_collections_group_parts_part(void);
|
||||
static void st_collections_group_parts_part_name(void);
|
||||
static void st_collections_group_parts_part_type(void);
|
||||
static void st_collections_group_parts_part_mouse_events(void);
|
||||
static void st_collections_group_parts_part_color_class(void);
|
||||
|
||||
static void ob_collections_group_parts_part_description(void);
|
||||
static void st_collections_group_parts_part_description_state(void);
|
||||
|
||||
static void ob_collections_group_programs(void);
|
||||
|
||||
static void ob_collections_group_programs_program(void);
|
||||
|
||||
/*****/
|
||||
|
@ -41,12 +54,12 @@ New_Object_Handler object_handlers[] =
|
|||
New_Statement_Handler statement_handlers[] =
|
||||
{
|
||||
{"images.image", st_images_image},
|
||||
{"collections.group.name", NULL},
|
||||
{"collections.group.parts.part.name", NULL},
|
||||
{"collections.group.parts.part.type", NULL},
|
||||
{"collections.group.parts.part.mouse_events", NULL},
|
||||
{"collections.group.parts.part.color_class", NULL},
|
||||
{"collections.group.parts.part.description.state", NULL},
|
||||
{"collections.group.name", st_collections_group_name},
|
||||
{"collections.group.parts.part.name", st_collections_group_parts_part_name},
|
||||
{"collections.group.parts.part.type", st_collections_group_parts_part_type},
|
||||
{"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events},
|
||||
{"collections.group.parts.part.color_class", st_collections_group_parts_part_color_class},
|
||||
{"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state},
|
||||
{"collections.group.parts.part.description.visible", NULL},
|
||||
{"collections.group.parts.part.description.dragable.x", NULL},
|
||||
{"collections.group.parts.part.description.dragable.y", NULL},
|
||||
|
@ -133,24 +146,120 @@ static void
|
|||
ob_collections_group(void)
|
||||
{
|
||||
Edje_Part_Collection_Directory_Entry *de;
|
||||
|
||||
Edje_Part_Collection *pc;
|
||||
|
||||
de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
|
||||
edje_file->collection_dir->entries = evas_list_append(edje_file->collection_dir->entries, de);
|
||||
de->id = evas_list_count(edje_file->collection_dir->entries) - 1;
|
||||
|
||||
pc = mem_alloc(SZ(Edje_Part_Collection));
|
||||
edje_file->collection_loaded = evas_list_append(edje_file->collection_loaded, pc);
|
||||
pc->id = evas_list_count(edje_file->collection_loaded) - 1;
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_name(void)
|
||||
{
|
||||
Edje_Part_Collection_Directory_Entry *de;
|
||||
|
||||
de = evas_list_data(evas_list_last(edje_file->collection_dir->entries));
|
||||
de->entry = parse_str(0);
|
||||
}
|
||||
|
||||
static void
|
||||
ob_collections_group_parts(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
}
|
||||
|
||||
static void
|
||||
ob_collections_group_parts_part(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
|
||||
ep = mem_alloc(SZ(Edje_Part));
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
pc->parts = evas_list_append(pc->parts, ep);
|
||||
ep->id = evas_list_count(pc->parts) - 1;
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_name(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ep->name = parse_str(0);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_type(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ep->type = parse_enum(0,
|
||||
"RECT", EDJE_PART_TYPE_RECTANGLE,
|
||||
"TEXT", EDJE_PART_TYPE_TEXT,
|
||||
"IMAGE", EDJE_PART_TYPE_IMAGE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_mouse_events(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ep->mouse_events = parse_int_range(0, 0, 1);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_color_class(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ep->color_class = parse_str(0);
|
||||
}
|
||||
|
||||
static void
|
||||
ob_collections_group_parts_part_description(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
Edje_Part_Description *ed;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ed = mem_alloc(SZ(Edje_Part_Description));
|
||||
if (!ep->default_desc)
|
||||
ep->default_desc = ed;
|
||||
else
|
||||
ep->other_desc = evas_list_append(ep->other_desc, ed);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_description_state(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
Edje_Part_Description *ed;
|
||||
|
||||
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
|
||||
ep = evas_list_data(evas_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
|
||||
ed->state.name = parse_str(0);
|
||||
ed->state.value = parse_float_range(1, 0.0, 1.0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue