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

Reply via email to