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