Enlightenment CVS committal

Author  : stffrdhrn
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_cache.c edje_calc.c edje_embryo.c edje_load.c 
        edje_private.h edje_program.c edje_text.c edje_util.c 
        edje_var.c 


Log Message:
Edje bug fixes:
 * Add some comments
 * Fixup some const char */stringshare related compile warnings
 * Fix text classes

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_cache.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- edje_cache.c        7 Jan 2006 08:54:30 -0000       1.5
+++ edje_cache.c        19 Mar 2006 04:22:35 -0000      1.6
@@ -12,7 +12,7 @@
 static int          _edje_collection_cache_size = 16;
 
 static Edje_Part_Collection *
-_edje_file_coll_open(Edje_File *edf, Eet_File *ef, char *coll)
+_edje_file_coll_open(Edje_File *edf, Eet_File *ef, const char *coll)
 {
    Edje_Part_Collection *edc = NULL;
    Evas_List *l = NULL;
@@ -64,13 +64,13 @@
 }
 
 static Edje_File *
-_edje_file_open(char *file, char *coll, int *error_ret, Edje_Part_Collection 
**edc_ret)
+_edje_file_open(const char *file, const char *coll, int *error_ret, 
Edje_Part_Collection **edc_ret)
 {
    Edje_File *edf;
    Edje_Part_Collection *edc;
    Eet_File *ef;
    
-   ef = eet_open((char *)file, EET_FILE_MODE_READ);
+   ef = eet_open(file, EET_FILE_MODE_READ);
    if (!ef)
      {
        *error_ret = EDJE_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -121,7 +121,7 @@
 }
 
 Edje_File *
-_edje_cache_file_coll_open(char *file, char *coll, int *error_ret, 
Edje_Part_Collection **edc_ret)
+_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, 
Edje_Part_Collection **edc_ret)
 {
    Edje_File *edf;
    Evas_List *l;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -3 -r1.76 -r1.77
--- edje_calc.c 23 Jan 2006 15:13:44 -0000      1.76
+++ edje_calc.c 19 Mar 2006 04:22:35 -0000      1.77
@@ -47,7 +47,7 @@
 }
 
 Edje_Part_Description *
-_edje_part_description_find(Edje *ed, Edje_Real_Part *rp, char *name,
+_edje_part_description_find(Edje *ed, Edje_Real_Part *rp, const char *name,
                             double val)
 {
    Edje_Part *ep = rp->part;
@@ -88,7 +88,7 @@
 }
 
 void
-_edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, char *d1, double 
v1, char *d2, double v2)
+_edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, 
double v1, const char *d2, double v2)
 {
    if (!d1) d1 = "default";
    if (!d2) d2 = "default";
@@ -432,8 +432,8 @@
    if ((chosen_desc) && (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK))
      {
        Evas_Coord tw, th, ins_l, ins_r, ins_t, ins_b;
-       char *text = "";
-       char *style = "";
+       const char *text = "";
+       const char *style = "";
        Edje_Style *stl  = NULL;
        Evas_List *l;
        
@@ -507,12 +507,12 @@
      }
    else if ((chosen_desc) && (ep->part->type == EDJE_PART_TYPE_TEXT))
      {
-       char      *text;
-       char      *font;
-       int        size;
-       Evas_Coord tw, th;
-       char       buf[4096];
-       int        inlined_font = 0;
+       const char      *text;
+       const char      *font;
+       int              size;
+       Evas_Coord       tw, th;
+       char             buf[4096];
+       int              inlined_font = 0;
        
        if (chosen_desc->text.id_source >= 0)
          ep->text.source = ed->table_parts[chosen_desc->text.id_source % 
ed->table_parts_size];
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_embryo.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -3 -r1.50 -r1.51
--- edje_embryo.c       25 Feb 2006 09:57:55 -0000      1.50
+++ edje_embryo.c       19 Mar 2006 04:22:35 -0000      1.51
@@ -1138,7 +1138,7 @@
    if (!class) return 0;
    t_class = _edje_text_class_find(ed, class);
    if (t_class == NULL) return 0;
-   SETSTR(t_class->font, params[2]);
+   SETSTR((char *)t_class->font, params[2]);
    SETFLOAT(t_class->size, params[3]);
    return 0;
 }
@@ -1832,7 +1832,7 @@
 
 /* this may change in future - thus "test_run" is its name */
 void
-_edje_embryo_test_run(Edje *ed, char *fname, char *sig, char *src)
+_edje_embryo_test_run(Edje *ed, const char *fname, const char *sig, const char 
*src)
 {
    Embryo_Function fn;
 
@@ -1843,14 +1843,14 @@
    _edje_embryo_globals_init(ed);
 
    //   _edje_embryo_script_reset(ed);
-   fn = embryo_program_function_find(ed->collection->script, fname);
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
    if (fn != EMBRYO_FUNCTION_NONE)
      {
        void *pdata;
        int ret;
 
-       embryo_parameter_string_push(ed->collection->script, sig);
-       embryo_parameter_string_push(ed->collection->script, src);
+       embryo_parameter_string_push(ed->collection->script, (char *)sig);
+       embryo_parameter_string_push(ed->collection->script, (char *)src);
        pdata = embryo_program_data_get(ed->collection->script);
        embryo_program_data_set(ed->collection->script, ed);
        /* 5 million instructions is an arbitary number. on my p4-2.6 here */
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -3 -r1.82 -r1.83
--- edje_load.c 11 Jan 2006 03:19:45 -0000      1.82
+++ edje_load.c 19 Mar 2006 04:22:35 -0000      1.83
@@ -391,7 +391,7 @@
    int error_ret = 0;
 
    if ((!file) || (!*file)) return NULL;
-   edf = _edje_cache_file_coll_open((char *)file, NULL, &error_ret, NULL);
+   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL);
    if (edf != NULL)
      {
        if (edf->collection_dir)
@@ -441,7 +441,7 @@
    char *str = NULL;
    int error_ret = 0;
    
-   edf = _edje_cache_file_coll_open((char *)file, NULL, &error_ret, NULL);
+   edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL);
    if (edf != NULL)
      {
        for (l = edf->data; l; l = l->next)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -3 -r1.105 -r1.106
--- edje_private.h      17 Jan 2006 02:41:25 -0000      1.105
+++ edje_private.h      19 Mar 2006 04:22:35 -0000      1.106
@@ -186,7 +186,7 @@
 
 struct _Edje_File
 {
-   char                           *path;
+   const char                     *path;
    
    Edje_Font_Directory            *font_dir;
    Edje_Image_Directory           *image_dir;
@@ -335,7 +335,7 @@
    
    Embryo_Program   *script; /* all the embryo script code for this group */
    
-   char             *part;
+   const char       *part;
 };
 
 struct _Edje_Part
@@ -485,8 +485,8 @@
 
 struct _Edje
 {
-   char                 *path;
-   char                 *part;
+   const char           *path;
+   const char           *part;
    
    Evas_Coord            x, y, w, h;
    struct {
@@ -578,15 +578,15 @@
       } val, size, step, page;
    } drag;
    struct {
-      char                  *text;
-      char                  *font;
-      char                  *style;
+      const char            *text;
+      const char           *font;
+      const char           *style;
       int                    size;
       struct {
         double              in_w, in_h;
         int                 in_size;
-        char               *in_str;
-        char               *out_str;
+        const char         *in_str;
+        const char         *out_str;
         int                 out_size;
         double              align_x, align_y;
         double              elipsis;
@@ -621,8 +621,8 @@
 
 struct _Edje_Signal_Callback
 {
-   char  *signal;
-   char  *source;
+   const char    *signal;
+   const char    *source;
    void (*func) (void *data, Evas_Object *o, const char *emission, const char 
*source);
    void  *data;
    unsigned char just_added : 1;
@@ -773,8 +773,8 @@
 
 struct _Edje_Message_Signal
 {
-   char *sig;
-   char *src;
+   const char *sig;
+   const char *src;
 };
 
 struct _Edje_Message
@@ -811,8 +811,8 @@
 extern char            *_edje_fontset_append;
 
 void  _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, double pos);
-Edje_Part_Description *_edje_part_description_find(Edje *ed, Edje_Real_Part 
*rp, char *name, double val);
-void  _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, char  *d1, 
double v1, char *d2, double v2);
+Edje_Part_Description *_edje_part_description_find(Edje *ed, Edje_Real_Part 
*rp, const char *name, double val);
+void  _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char  
*d1, double v1, const char *d2, double v2);
 void  _edje_recalc(Edje *ed);
 int   _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, double *x, double 
*y);
 void  _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, double x, double y);
@@ -845,9 +845,9 @@
     
 int   _edje_program_run_iterate(Edje_Running_Program *runp, double tim);
 void  _edje_program_end(Edje *ed, Edje_Running_Program *runp);
-void  _edje_program_run(Edje *ed, Edje_Program *pr, int force, char *ssig, 
char *ssrc);
-void  _edje_emit(Edje *ed, char *sig, char *src);
-void  _edje_emit_handle(Edje *ed, char *sig, char *src);
+void  _edje_program_run(Edje *ed, Edje_Program *pr, int force, const char 
*ssig, const char *ssrc);
+void  _edje_emit(Edje *ed, const char *sig, const char *src);
+void  _edje_emit_handle(Edje *ed, const char *sig, const char *src);
 
 void  _edje_text_init(void);
 void  _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
@@ -856,22 +856,22 @@
 void  _edje_text_real_part_on_del(Edje *ed, Edje_Real_Part *ep);
 void  _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params 
*params, Edje_Part_Description *chosen_desc);
     
-Edje_Real_Part   *_edje_real_part_get(Edje *ed, char *part);
-Edje_Color_Class *_edje_color_class_find(Edje *ed, char *color_class);
-void              _edje_color_class_member_add(Edje *ed, char *color_class);
-void              _edje_color_class_member_del(Edje *ed, char *color_class);
+Edje_Real_Part   *_edje_real_part_get(Edje *ed, const char *part);
+Edje_Color_Class *_edje_color_class_find(Edje *ed, const char *color_class);
+void              _edje_color_class_member_add(Edje *ed, const char 
*color_class);
+void              _edje_color_class_member_del(Edje *ed, const char 
*color_class);
 void              _edje_color_class_on_del(Edje *ed, Edje_Part *ep);
 void              _edje_color_class_members_free(void);
 void              _edje_color_class_hash_free(void);
 
-Edje_Text_Class  *_edje_text_class_find(Edje *ed, char *text_class);
-void              _edje_text_class_member_add(Edje *ed, char *text_class);
-void              _edje_text_class_member_del(Edje *ed, char *text_class);
+Edje_Text_Class  *_edje_text_class_find(Edje *ed, const char *text_class);
+void              _edje_text_class_member_add(Edje *ed, const char 
*text_class);
+void              _edje_text_class_member_del(Edje *ed, const char 
*text_class);
 void              _edje_text_class_members_free(void);
 void              _edje_text_class_hash_free(void);
 
 Edje             *_edje_fetch(Evas_Object *obj);
-int               _edje_glob_match(char *str, char *glob);
+int               _edje_glob_match(const char *str, const char *glob);
 int               _edje_freeze(Edje *ed);
 int               _edje_thaw(Edje *ed);
 int               _edje_block(Edje *ed);
@@ -883,24 +883,24 @@
 void          _edje_embryo_script_init      (Edje *ed);
 void          _edje_embryo_script_shutdown  (Edje *ed);
 void          _edje_embryo_script_reset     (Edje *ed);
-void          _edje_embryo_test_run         (Edje *ed, char *fname, char *sig, 
char *src);
+void          _edje_embryo_test_run         (Edje *ed, const char *fname, 
const char *sig, const char *src);
 Edje_Var     *_edje_var_new                 (void);
 void          _edje_var_free                (Edje_Var *var);
 void          _edje_var_init                (Edje *ed);
 void          _edje_var_shutdown            (Edje *ed);
-int           _edje_var_string_id_get       (Edje *ed, char *string);
+int           _edje_var_string_id_get       (Edje *ed, const char *string);
 int           _edje_var_var_int_get         (Edje *ed, Edje_Var *var);
 void          _edje_var_var_int_set         (Edje *ed, Edje_Var *var, int v);
 double        _edje_var_var_float_get       (Edje *ed, Edje_Var *var);
 void          _edje_var_var_float_set       (Edje *ed, Edje_Var *var, double 
v);
 const char   *_edje_var_var_str_get         (Edje *ed, Edje_Var *var);
-void          _edje_var_var_str_set         (Edje *ed, Edje_Var *var, char 
*str);
+void          _edje_var_var_str_set         (Edje *ed, Edje_Var *var, const 
char *str);
 int           _edje_var_int_get             (Edje *ed, int id);
 void          _edje_var_int_set             (Edje *ed, int id, int v);
 double        _edje_var_float_get           (Edje *ed, int id);
 void          _edje_var_float_set           (Edje *ed, int id, double v);
 const char   *_edje_var_str_get             (Edje *ed, int id);
-void          _edje_var_str_set             (Edje *ed, int id, char *str);
+void          _edje_var_str_set             (Edje *ed, int id, const char 
*str);
 
 void          _edje_var_list_var_append(Edje *ed, int id, Edje_Var *var);
 void          _edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var);
@@ -924,15 +924,15 @@
 void          _edje_var_list_float_insert(Edje *ed, int id, int n, double v);
 
 const char   *_edje_var_list_nth_str_get(Edje *ed, int id, int n);
-void          _edje_var_list_nth_str_set(Edje *ed, int id, int n, char *v);
-void          _edje_var_list_str_append(Edje *ed, int id, char *v);
-void          _edje_var_list_str_prepend(Edje *ed, int id, char *v);
-void          _edje_var_list_str_insert(Edje *ed, int id, int n, char *v);
+void          _edje_var_list_nth_str_set(Edje *ed, int id, int n, const char 
*v);
+void          _edje_var_list_str_append(Edje *ed, int id, const char *v);
+void          _edje_var_list_str_prepend(Edje *ed, int id, const char *v);
+void          _edje_var_list_str_insert(Edje *ed, int id, int n, const char 
*v);
     
-int           _edje_var_timer_add           (Edje *ed, double in, char *fname, 
int val);
+int           _edje_var_timer_add           (Edje *ed, double in, const char 
*fname, int val);
 void          _edje_var_timer_del           (Edje *ed, int id);
 
-int           _edje_var_anim_add            (Edje *ed, double len, char 
*fname, int val);
+int           _edje_var_anim_add            (Edje *ed, double len, const char 
*fname, int val);
 void          _edje_var_anim_del            (Edje *ed, int id);
     
 void          _edje_message_init            (void);
@@ -948,7 +948,7 @@
 
 void _edje_textblock_style_parse_and_fix(Edje_File *edf);
 void _edje_textblock_style_cleanup(Edje_File *edf);
-Edje_File *_edje_cache_file_coll_open(char *file, char *coll, int *error_ret, 
Edje_Part_Collection **edc_ret);
+Edje_File *_edje_cache_file_coll_open(const char *file, const char *coll, int 
*error_ret, Edje_Part_Collection **edc_ret);
 void _edje_cache_coll_clean(Edje_File *edf);
 void _edje_cache_coll_flush(Edje_File *edf);
 void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_program.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- edje_program.c      7 Jan 2006 08:54:30 -0000       1.49
+++ edje_program.c      19 Mar 2006 04:22:35 -0000      1.50
@@ -1,7 +1,7 @@
 #include "Edje.h"
 #include "edje_private.h"
 
-static void _edje_emit_cb(Edje *ed, char *sig, char *src);
+static void _edje_emit_cb(Edje *ed, const char *sig, const char *src);
 
 int             _edje_anim_count = 0;
 Ecore_Animator *_edje_timer = NULL;
@@ -418,7 +418,7 @@
 }
    
 void
-_edje_program_run(Edje *ed, Edje_Program *pr, int force, char *ssig, char 
*ssrc)
+_edje_program_run(Edje *ed, Edje_Program *pr, int force, const char *ssig, 
const char *ssrc)
 {
    Evas_List *l;
    /* limit self-feeding loops in programs to 64 levels */
@@ -729,7 +729,7 @@
 }
 
 void
-_edje_emit(Edje *ed, char *sig, char *src)
+_edje_emit(Edje *ed, const char *sig, const char *src)
 {
    Edje_Message_Signal emsg;
    
@@ -741,7 +741,7 @@
 
 /* FIXME: what if we delete the evas object??? */
 void
-_edje_emit_handle(Edje *ed, char *sig, char *src)
+_edje_emit_handle(Edje *ed, const char *sig, const char *src)
 {
    Evas_List *l;
 
@@ -854,7 +854,7 @@
 
 /* FIXME: what if we delete the evas object??? */
 static void
-_edje_emit_cb(Edje *ed, char *sig, char *src)
+_edje_emit_cb(Edje *ed, const char *sig, const char *src)
 {
    Evas_List *l;
    
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_text.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- edje_text.c 29 Jan 2006 16:50:30 -0000      1.51
+++ edje_text.c 19 Mar 2006 04:22:35 -0000      1.52
@@ -23,8 +23,11 @@
 
    if (ep->part->type != EDJE_PART_TYPE_TEXT) return;
 
+   /* if text class exists for this part, add the edje to the tc member list */
    if ((pt->default_desc) && (pt->default_desc->text.text_class))
      _edje_text_class_member_add(ed, pt->default_desc->text.text_class);
+   
+   /* If any other classes exit add them */
    for (tmp = pt->other_desc; tmp; tmp = tmp->next)
      {
         Edje_Part_Description *desc;
@@ -62,11 +65,7 @@
    Evas_List *tmp;
 
    if ((pt->default_desc) && (pt->default_desc->text.text_class))
-     {
-        _edje_text_class_member_del(ed, pt->default_desc->text.text_class);
-       evas_stringshare_del(pt->default_desc->text.text_class);
-       pt->default_desc->text.text_class = NULL;
-     }
+     _edje_text_class_member_del(ed, pt->default_desc->text.text_class);
   
    for (tmp = pt->other_desc; tmp; tmp = tmp->next)
      {
@@ -74,11 +73,7 @@
 
         desc = tmp->data;
         if (desc->text.text_class)
-          {
-             _edje_text_class_member_del(ed, desc->text.text_class);
-             evas_stringshare_del(desc->text.text_class);
-             desc->text.text_class = NULL;
-          }
+          _edje_text_class_member_del(ed, desc->text.text_class);
      }
 }
 
@@ -96,7 +91,7 @@
 }
 
 static void
-_edje_text_fit_set(char *buf, char *text, int c1, int c2)
+_edje_text_fit_set(char *buf, const char *text, int c1, int c2)
 {
    /* helper function called from _edje_text_fit_x().
     * note that we can use strcpy()/strcat() safely, the buffer lengths
@@ -128,10 +123,10 @@
      }
 }
 
-static char *
+static const char *
 _edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
                  Edje_Calc_Params *params,
-                 char *text, char *font, int size,
+                 const char *text, const char *font, int size,
                  Evas_Coord sw, int *free_text)
 {
    Evas_Coord tw = 0, th = 0, p;
@@ -254,13 +249,14 @@
                        Edje_Calc_Params *params,
                        Edje_Part_Description *chosen_desc)
 {
-   char   *text;
-   char   *font, *font2 = NULL;
-   int     size;
-   Evas_Coord  tw, th;
-   Evas_Coord  sw, sh;
-   char     font_buf[4096];
-   int      inlined_font = 0, free_text = 0;
+   const char  *text;
+   const char  *font;
+   char                *font2 = NULL;
+   int          size;
+   Evas_Coord   tw, th;
+   Evas_Coord   sw, sh;
+   char                 font_buf[4096];
+   int          inlined_font = 0, free_text = 0;
    
 
    text = chosen_desc->text.text;
@@ -279,7 +275,7 @@
          }
      }
    
-   if (ep->text.text) text = ep->text.text;
+   if (ep->text.text) text = (char *) ep->text.text;
    if (ep->text.font) font = ep->text.font;
    if (ep->text.size > 0) size = ep->text.size;
 
@@ -336,7 +332,7 @@
        (ep->text.cache.align_y == params->text.align.y) &&
        (ep->text.cache.elipsis == params->text.elipsis))
      {
-       text = ep->text.cache.out_str;
+       text = (char *) ep->text.cache.out_str;
        size = ep->text.cache.out_size;
        
        if (!text) text = "";
@@ -350,7 +346,7 @@
      {
         if (inlined_font) evas_object_text_font_source_set(ep->object, 
ed->path);
        else evas_object_text_font_source_set(ep->object, NULL);
-       
+
        evas_object_text_font_set(ep->object, font, size);
        evas_object_text_text_set(ep->object, text);
        evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
@@ -454,8 +450,7 @@
        if (inlined_font) evas_object_text_font_source_set(ep->object, 
ed->path);
        else evas_object_text_font_source_set(ep->object, NULL);
 
-       text = _edje_text_fit_x(ed, ep, params, text, font, size, sw,
-                               &free_text);
+       text = _edje_text_fit_x(ed, ep, params, text, font, size, sw, 
&free_text);
      }
 
    if (ep->text.cache.out_str) evas_stringshare_del(ep->text.cache.out_str);
@@ -486,6 +481,8 @@
      {
        Evas_Text_Style_Type style;
 
+       style = EVAS_TEXT_STYLE_PLAIN;
+       
        evas_object_color_set(ep->object,
                              params->color.r,
                              params->color.g,
@@ -565,7 +562,7 @@
      }
 
    if (free_text)
-     free(text);
+     free((char *)text);
    if (font2)
      free(font2);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -3 -r1.76 -r1.77
--- edje_util.c 29 Jan 2006 17:04:41 -0000      1.76
+++ edje_util.c 19 Mar 2006 04:22:35 -0000      1.77
@@ -425,13 +425,13 @@
    Evas_List *members;
    Edje_Text_Class *tc;
 
-   return; // this is broken right now - need to fix
    if (!text_class) return;
 
    if (size < 0) size = 0;
    if (!font) font = "";
 
    tc = evas_hash_find(_edje_text_class_hash, text_class);
+   /* Create new text class */
    if (!tc)
      {
         tc = calloc(1, sizeof(Edje_Text_Class));
@@ -455,8 +455,11 @@
        return;
      }
 
+   /* If the class found is the same just return */
    if ((tc->size == size) && (tc->font) && (!strcmp(tc->font, font)))
      return;
+   
+   /* Update the class found */
    evas_stringshare_del(tc->font);
    tc->font = evas_stringshare_add(font);
    if (!tc->font)
@@ -467,6 +470,7 @@
      }
    tc->size = size;
 
+   /* Tell all members of the text class to recalc */
    members = evas_hash_find(_edje_text_class_member_hash, text_class);
    while (members)
      {
@@ -494,33 +498,42 @@
    Evas_List *l;
    Edje_Text_Class *tc;
 
-   return; // this is broken right now. need to fix
-//   printf("------------ edje_object_text_class_set\n");
    ed = _edje_fetch(obj);
    if ((!ed) || (!text_class)) return;
    if (size < 0.0) size = 0.0;
+   
+   /* for each text_class in the edje */
    for (l = ed->text_classes; l; l = l->next)
      {
        tc = l->data;
        if ((tc->name) && (!strcmp(tc->name, text_class)))
          {
+            /* Match and the same, return */
             if ((tc->font) && (font) && 
                 (!strcmp(tc->font, font)) &&
                 (tc->size == size))
               return;
+
+            /* No font but size is the same, return */
             if ((!tc->font) && (!font) && 
                 (tc->size == size))
               return;
+
+            /* Update new text class properties */
             if (tc->font) evas_stringshare_del(tc->font);
             if (font) tc->font = evas_stringshare_add(font);
             else tc->font = NULL;
             tc->size = size;
+
+            /* Update edje */
             ed->dirty = 1;
             _edje_recalc(ed);
             return;
          }
      }
-   tc = malloc(sizeof(Edje_Text_Class));
+
+   /* No matches, create a new text class */
+   tc = calloc(1, sizeof(Edje_Text_Class));
    if (!tc) return;
    tc->name = evas_stringshare_add(text_class);
    if (!tc->name)
@@ -531,6 +544,8 @@
    if (font) tc->font = evas_stringshare_add(font);
    else tc->font = NULL;
    tc->size = size;
+
+   /* Add to edje's text class list */
    ed->text_classes = evas_list_append(ed->text_classes, tc);
    ed->dirty = 1;
    _edje_recalc(ed);
@@ -1487,7 +1502,7 @@
 /* Private Routines */
 
 Edje_Real_Part *
-_edje_real_part_get(Edje *ed, char *part)
+_edje_real_part_get(Edje *ed, const char *part)
 {
    Evas_List *l;
 
@@ -1502,7 +1517,7 @@
 }
 
 Edje_Color_Class *
-_edje_color_class_find(Edje *ed, char *color_class)
+_edje_color_class_find(Edje *ed, const char *color_class)
 {
    Evas_List *l;
    Edje_Color_Class *cc = NULL;
@@ -1531,7 +1546,7 @@
 }
 
 void
-_edje_color_class_member_add(Edje *ed, char *color_class)
+_edje_color_class_member_add(Edje *ed, const char *color_class)
 {
    Evas_List *members;
 
@@ -1544,7 +1559,7 @@
 }
 
 void
-_edje_color_class_member_del(Edje *ed, char *color_class)
+_edje_color_class_member_del(Edje *ed, const char *color_class)
 {
    Evas_List *members;
 
@@ -1609,7 +1624,9 @@
 {
    Evas_List *tmp;
 
-   if ((ep->default_desc) && (ep->default_desc->color_class)) 
_edje_color_class_member_del(ed, ep->default_desc->color_class);
+   if ((ep->default_desc) && (ep->default_desc->color_class)) 
+     _edje_color_class_member_del(ed, ep->default_desc->color_class);
+
    for (tmp = ep->other_desc; tmp; tmp = tmp->next)
      {
         Edje_Part_Description *desc;
@@ -1623,7 +1640,7 @@
 }
 
 Edje_Text_Class *
-_edje_text_class_find(Edje *ed, char *text_class)
+_edje_text_class_find(Edje *ed, const char *text_class)
 {
    Evas_List *l;
    
@@ -1639,20 +1656,28 @@
 }
 
 void
-_edje_text_class_member_add(Edje *ed, char *text_class)
+_edje_text_class_member_add(Edje *ed, const char *text_class)
 {
    Evas_List *members;
 
    if ((!ed) || (!text_class)) return;
+   
+   /* Get members list */
    members = evas_hash_find(_edje_text_class_member_hash, text_class);
-   if (members) _edje_text_class_member_hash = 
evas_hash_del(_edje_text_class_member_hash, text_class, members);
 
+   /* Remove members list */
+   if (members) 
+     _edje_text_class_member_hash = 
evas_hash_del(_edje_text_class_member_hash, text_class, members);
+
+   /* Update the member list */
    members = evas_list_prepend(members, ed);
+   
+   /* Add the member list back */
    _edje_text_class_member_hash = evas_hash_add(_edje_text_class_member_hash, 
text_class, members);
 }
 
 void
-_edje_text_class_member_del(Edje *ed, char *text_class)
+_edje_text_class_member_del(Edje *ed, const char *text_class)
 {
    Evas_List *members;
 
@@ -1661,6 +1686,7 @@
    if (!members) return;
 
    _edje_text_class_member_hash = evas_hash_del(_edje_text_class_member_hash, 
text_class, members);
+   
    members = evas_list_remove(members, ed);
    if (members) _edje_text_class_member_hash = 
evas_hash_add(_edje_text_class_member_hash, text_class, members);
 }
@@ -1716,7 +1742,7 @@
 }
 
 int
-_edje_glob_match(char *str, char *glob)
+_edje_glob_match(const char *str, const char *glob)
 {
    if ((!glob) || (glob[0] == 0))
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_var.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- edje_var.c  29 Nov 2005 07:27:57 -0000      1.18
+++ edje_var.c  19 Mar 2006 04:22:35 -0000      1.19
@@ -236,7 +236,7 @@
 }
 
 int
-_edje_var_string_id_get(Edje *ed, char *string)
+_edje_var_string_id_get(Edje *ed, const char *string)
 {
    Embryo_Cell cell, *cptr;
    
@@ -244,7 +244,7 @@
    if (!ed->collection) return 0;
    if (!ed->collection->script) return 0;
    if (!string) return 0;
-   cell = embryo_program_variable_find(ed->collection->script, string);
+   cell = embryo_program_variable_find(ed->collection->script, (char *)string);
    if (cell == EMBRYO_CELL_NONE) return  0;
    cptr = embryo_data_address_get(ed->collection->script, cell);
    if (!cptr) return 0;
@@ -427,7 +427,7 @@
 }
 
 void
-_edje_var_var_str_set(Edje *ed, Edje_Var *var, char *str)
+_edje_var_var_str_set(Edje *ed, Edje_Var *var, const char *str)
 {
    /* auto-cast */
    if (var->type == EDJE_VAR_STRING)
@@ -512,7 +512,7 @@
 }
 
 void
-_edje_var_str_set(Edje *ed, int id, char *str)
+_edje_var_str_set(Edje *ed, int id, const char *str)
 {
    if (!ed) return;
    if (!ed->var_pool) return;
@@ -849,7 +849,7 @@
 }
 
 void
-_edje_var_list_nth_str_set(Edje *ed, int id, int n, char *v)
+_edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v)
 {
    if (!ed) return;
    if (!ed->var_pool) return;
@@ -869,7 +869,7 @@
 }
 
 void
-_edje_var_list_str_append(Edje *ed, int id, char *v)
+_edje_var_list_str_append(Edje *ed, int id, const char *v)
 {
    if (!ed) return;
    if (!ed->var_pool) return;
@@ -890,7 +890,7 @@
 }
 
 void
-_edje_var_list_str_prepend(Edje *ed, int id, char *v)
+_edje_var_list_str_prepend(Edje *ed, int id, const char *v)
 {
    if (!ed) return;
    if (!ed->var_pool) return;
@@ -911,7 +911,7 @@
 }
 
 void
-_edje_var_list_str_insert(Edje *ed, int id, int n, char *v)
+_edje_var_list_str_insert(Edje *ed, int id, int n, const char *v)
 {
    if (!ed) return;
    if (!ed->var_pool) return;
@@ -936,13 +936,13 @@
 }
 
 int
-_edje_var_timer_add(Edje *ed, double in, char *fname, int val)
+_edje_var_timer_add(Edje *ed, double in, const char *fname, int val)
 {
    Edje_Var_Timer *et;
    Embryo_Function fn;
    
    if (!ed->var_pool) return 0;
-   fn = embryo_program_function_find(ed->collection->script, fname);
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
    if (fn == EMBRYO_FUNCTION_NONE) return 0;
    et = calloc(1, sizeof(Edje_Var_Timer));
    if (!et) return 0;
@@ -1001,14 +1001,14 @@
 }
 
 int
-_edje_var_anim_add(Edje *ed, double len, char *fname, int val)
+_edje_var_anim_add(Edje *ed, double len, const char *fname, int val)
 {
    Edje_Var_Animator *ea;
    Embryo_Function fn;
    
    if (!ed->var_pool) return 0;
    if (len <= 0.0) return 0;
-   fn = embryo_program_function_find(ed->collection->script, fname);
+   fn = embryo_program_function_find(ed->collection->script, (char *)fname);
    if (fn == EMBRYO_FUNCTION_NONE) return 0;
    ea = calloc(1, sizeof(Edje_Var_Animator));
    if (!ea) return 0;




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to