Enlightenment CVS committal

Author  : leviathan
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave.l engrave.y engrave_enums.h engrave_out.c 
        engrave_parse.c engrave_parse.h engrave_part.c engrave_part.h 


Log Message:
Add the GROUP type and source to the part. 
Also here no tests done on the part name for : inclusion

===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave.l,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- engrave.l   4 Jan 2007 08:43:39 -0000       1.13
+++ engrave.l   28 May 2007 09:35:49 -0000      1.14
@@ -152,6 +152,7 @@
 programs                       { KEYWORD_RETURN(PROGRAMS); }
 RAW                                    { KEYWORD_RETURN(RAW); }
 RECT                           { KEYWORD_RETURN(RECT); }
+GROUP                          { KEYWORD_RETURN(TGROUP); }
 rel1                           { KEYWORD_RETURN(REL1); }
 rel2                           { KEYWORD_RETURN(REL2); }
 relative                       { KEYWORD_RETURN(RELATIVE); }
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave.y,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- engrave.y   24 Feb 2007 19:45:13 -0000      1.22
+++ engrave.y   28 May 2007 09:35:49 -0000      1.23
@@ -43,7 +43,7 @@
 %token STYLES STYLE SBASE TAG ELIPSIS
 %token COLON QUOTE SEMICOLON STATE_SET ACTION_STOP SIGNAL_EMIT
 %token DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE LINEAR
-%token SINUSOIDAL ACCELERATE DECELERATE IMAGE RECT SWALLOW GRADIENT
+%token SINUSOIDAL ACCELERATE DECELERATE IMAGE RECT SWALLOW GRADIENT TGROUP
 %token NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW SOFT_SHADOW 
 %token OUTLINE_SHADOW OUTLINE_SOFT_SHADOW VERTICAL HORIZONTAL BOTH
 %token SPECTRA SPECTRUM GRAD
@@ -451,6 +451,7 @@
 
 part_preamble_entry: name
        | type
+       | part_source
        | effect
        | mouse_events
        | repeat_events
@@ -459,6 +460,12 @@
        | text_class
     ; 
 
+
+part_source: SOURCE COLON STRING SEMICOLON {
+               engrave_parse_part_source($3);
+       }
+       ;
+
 type: TYPE COLON part_type SEMICOLON {
                 engrave_parse_part_type($3);
        }
@@ -470,6 +477,7 @@
        | TEXTBLOCK { $$ = ENGRAVE_PART_TYPE_TEXTBLOCK; }
        | SWALLOW { $$ = ENGRAVE_PART_TYPE_SWALLOW; }
        | GRADIENT { $$ = ENGRAVE_PART_TYPE_GRADIENT; }
+       | TGROUP { $$ = ENGRAVE_PART_TYPE_GROUP; }
        | STRING { /* edje accepts quoted part types. */
                if (!strcmp($1, "RECT"))
                        $$ = ENGRAVE_PART_TYPE_RECT;
@@ -483,6 +491,8 @@
                        $$ = ENGRAVE_PART_TYPE_SWALLOW;
                else if (!strcmp($1, "GRADIENT"))
                        $$ = ENGRAVE_PART_TYPE_GRADIENT;
+               else if (!strcmp($1, "GROUP"))
+                       $$ = ENGRAVE_PART_TYPE_GROUP;
        }
        ;
 
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_enums.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- engrave_enums.h     30 Dec 2006 08:10:46 -0000      1.4
+++ engrave_enums.h     28 May 2007 09:35:49 -0000      1.5
@@ -43,6 +43,7 @@
   ENGRAVE_PART_TYPE_RECT, /**< Part is a rectangle */
   ENGRAVE_PART_TYPE_SWALLOW, /**< Part is a swallow */
   ENGRAVE_PART_TYPE_GRADIENT, /**< Part is a gradient */
+  ENGRAVE_PART_TYPE_GROUP, /**< Part is a group */
   ENGRAVE_PART_TYPE_NUM
 };
 
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_out.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- engrave_out.c       30 Dec 2006 11:55:10 -0000      1.36
+++ engrave_out.c       28 May 2007 09:35:49 -0000      1.37
@@ -34,7 +34,8 @@
         "TEXTBLOCK",
         "RECT",
         "SWALLOW",
-       "GRADIENT"
+       "GRADIENT",
+       "GROUP"
         };
 
 static char *_text_effect_string[ENGRAVE_TEXT_EFFECT_NUM] = {
@@ -276,6 +277,10 @@
   engrave_out_data(out, "name", "\"%s\"", engrave_part_name_get(part));
   engrave_out_data(out, "type", "%s", 
         _part_type_string[engrave_part_type_get(part)]);
+
+  if(engrave_part_source_get(part))
+       engrave_out_data(out, "source", "\"%s\"",
+               engrave_part_source_get(part));
 
   if (!engrave_part_mouse_events_get(part))
     engrave_out_data(out, "mouse_events", "%d",
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- engrave_parse.c     30 Dec 2006 08:49:27 -0000      1.18
+++ engrave_parse.c     28 May 2007 09:35:49 -0000      1.19
@@ -227,6 +227,17 @@
 }
 
 void
+engrave_parse_part_source(char * source)
+{
+  Engrave_Group *group;
+  Engrave_Part *part;
+
+  group = engrave_file_group_last_get(engrave_file);
+  part = engrave_group_part_last_get(group);
+  engrave_part_source_set(part, source);
+}
+
+void
 engrave_parse_part_effect(Engrave_Text_Effect effect)
 {
   Engrave_Group *group;
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- engrave_parse.h     1 Jan 2007 12:25:23 -0000       1.11
+++ engrave_parse.h     28 May 2007 09:35:49 -0000      1.12
@@ -31,6 +31,7 @@
 void engrave_parse_part();
 void engrave_parse_part_name(char *name);
 void engrave_parse_part_type(Engrave_Part_Type type);
+void engrave_parse_state_part_source(char *source);
 void engrave_parse_part_effect(Engrave_Text_Effect effect);
 void engrave_parse_part_mouse_events(int mouse_events);
 void engrave_parse_part_repeat_events(int repeat_events);
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_part.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- engrave_part.c      15 Jan 2007 10:46:34 -0000      1.19
+++ engrave_part.c      28 May 2007 09:35:49 -0000      1.20
@@ -17,6 +17,9 @@
   if (!part) return NULL;
 
   part->type = type;
+  part->name = NULL;
+  part->source = NULL;
+  part->clip_to = NULL;
   return part;
 }
 
@@ -189,6 +192,18 @@
 }
 
 /**
+ * engrave_part_source_get - Get the source of the part
+ * @param ep: The Engrave_Part to get the source from
+ *
+ * @return Returns the source of the part
+ */
+EAPI char *
+engrave_part_source_get(Engrave_Part *ep)
+{
+  return (ep ? ep->source : NULL);
+}
+
+/**
  * engrave_part_mouse_events_get - Get the mouse events setting
  * @param ep: The Engrave_Part to get the mouse events from
  * 
@@ -323,6 +338,20 @@
 }
 
 /**
+ * engrave_part_source_set - set the source of the part
+ * @param ep: The Engrave_Part to set the type on.
+ * @param source: The source to set on the part
+ *
+ * @return Returns no value.
+ */
+EAPI void
+engrave_part_source_set(Engrave_Part *ep, char * source)
+{
+  if (!ep) return;
+  ep->source = strdup(source);
+}
+
+/**
  * engrave_part_effect_set - set the effect on the given part.
  * @param ep: The Engrave_Part to set the effect upon.
  * @param effect: The Engrave_Text_Effect to set on the part.
@@ -436,6 +465,27 @@
     if (ep->current_state == NULL)
         engrave_part_current_state_set(ep, eps);
   }
+}
+
+/**
+ * engrave_part_state_remove - remove the state from the part.
+ * @param ep: The Engrave_Part to remove the state to.
+ * @param eps: The Engrave_Part_State to remove.
+ *
+ * @return Returns no value.
+ */
+EAPI void
+engrave_part_state_remove(Engrave_Part *ep, Engrave_Part_State *eps)
+{
+   if (!eps || !ep) return;
+
+   //If eps its the current one then set current to NULL
+   if (eps == engrave_part_current_state_get(ep))
+      ep->current_state = NULL;
+
+   engrave_part_state_parent_set(eps, NULL);
+
+   ep->states = evas_list_remove(ep->states, eps);
 }
 
 /**
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_part.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- engrave_part.h      27 Mar 2007 02:10:36 -0000      1.14
+++ engrave_part.h      28 May 2007 09:35:49 -0000      1.15
@@ -30,6 +30,7 @@
   int mouse_events;             /**< The mouse events flag */
   int repeat_events;            /**< The repeat events flag */
   char *clip_to;                /**< The part to clip too */
+  char *source;                        /**< The source of the part */
 
   /**
    * The dragable settings for the part 
@@ -81,6 +82,7 @@
 EAPI void engrave_part_mouse_events_set(Engrave_Part *ep, int val);
 EAPI void engrave_part_repeat_events_set(Engrave_Part *ep, int val);
 EAPI void engrave_part_type_set(Engrave_Part *ep, Engrave_Part_Type type);
+EAPI void engrave_part_source_set(Engrave_Part *ep, char * source);
 EAPI void engrave_part_effect_set(Engrave_Part *ep, Engrave_Text_Effect 
effect);
 EAPI void engrave_part_clip_to_set(Engrave_Part *ep, const char *clip_to);
 
@@ -90,11 +92,13 @@
 EAPI void engrave_part_dragable_y_set(Engrave_Part *ep, int y, int step, int 
count);
 EAPI void engrave_part_dragable_confine_set(Engrave_Part *ep, const char 
*confine);
 EAPI void engrave_part_state_add(Engrave_Part *ep, Engrave_Part_State *eps);
+EAPI void engrave_part_state_remove(Engrave_Part *ep, Engrave_Part_State *eps);
 EAPI Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part 
*ep, 
                                                                 const char 
*name, double val);
 
 EAPI const char *engrave_part_name_get(Engrave_Part *ep);
 EAPI Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep);
+EAPI char * engrave_part_source_get(Engrave_Part *ep);
 EAPI int engrave_part_mouse_events_get(Engrave_Part *ep);
 EAPI int engrave_part_repeat_events_get(Engrave_Part *ep);
 EAPI Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep);



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to