Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/bin
Modified Files:
edje_cc_handlers.c
Log Message:
a few more handlers. i think next i need to add a verbose mode for the parser
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_handlers.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- edje_cc_handlers.c 12 Jun 2003 22:34:51 -0000 1.4
+++ edje_cc_handlers.c 12 Jun 2003 23:02:45 -0000 1.5
@@ -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_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 @@
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
-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs