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:
Carsten Haitzler 2003-06-12 23:02:45 +00:00
parent 598dd0b60f
commit ffc3810ee8
1 changed files with 117 additions and 8 deletions

View File

@ -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