Enlightenment CVS committal Author : codewarrior Project : e17 Module : libs/etk
Dir : e17/libs/etk/src/lib Modified Files: etk_tree_model.c etk_tree_model.h Log Message: - [Etk_Tree_Model] Allow removing of objects from a tree model's cache using filename / key =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_tree_model.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- etk_tree_model.c 2 Apr 2007 09:48:29 -0000 1.17 +++ etk_tree_model.c 3 May 2007 12:24:28 -0000 1.18 @@ -111,7 +111,7 @@ model->objects_create = _text_objects_create; model->render = _text_render; model->width_get = _text_width_get; - + model->cache_remove = NULL; return model; } @@ -133,6 +133,7 @@ model->objects_create = _text_objects_create; model->render = _int_render; model->width_get = _text_width_get; + model->cache_remove = NULL; return model; } @@ -155,6 +156,7 @@ model->objects_create = _text_objects_create; model->render = _double_render; model->width_get = _text_width_get; + model->cache_remove = NULL; return model; } @@ -181,6 +183,7 @@ model->objects_cache = _image_objects_cache; model->render = _image_render; model->width_get = _image_width_get; + model->cache_remove = NULL; image_model->width = 0; image_model->halign = 0.0; @@ -207,6 +210,7 @@ model->objects_create = _checkbox_objects_create; model->render = _checkbox_render; model->width_get = _checkbox_width_get; + model->cache_remove = NULL; return model; } @@ -230,6 +234,7 @@ model->objects_create = _progress_bar_objects_create; model->render = _progress_bar_render; model->width_get = _progress_bar_width_get; + model->cache_remove = NULL; return model; } @@ -247,6 +252,20 @@ if (model->model_free) model->model_free(model); free(model); +} + +/** + * @brief Removes an object from the model's cache. + * @param model the model to remove from + * @param filename the filename associated with the object + * @param key the key associated with the object + */ +void etk_tree_model_cache_remove(Etk_Tree_Model *model, const char *filename, const char *key) +{ + if (!model || !model->cache_remove) + return; + + model->cache_remove(model, filename, key); } /** =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_tree_model.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- etk_tree_model.h 2 Apr 2007 09:48:29 -0000 1.10 +++ etk_tree_model.h 3 May 2007 12:24:28 -0000 1.11 @@ -34,6 +34,7 @@ void (*objects_cache)(Etk_Tree_Model *model, void *cell_data, Evas_Object *cell_objects[ETK_TREE_MAX_OBJECTS_PER_MODEL]); Etk_Bool (*render)(Etk_Tree_Model *model, Etk_Tree_Row *row, Etk_Geometry geometry, void *cell_data, Evas_Object *cell_objects[ETK_TREE_MAX_OBJECTS_PER_MODEL], Evas *evas); int (*width_get)(Etk_Tree_Model *model, void *cell_data, Evas_Object *cell_objects[ETK_TREE_MAX_OBJECTS_PER_MODEL]); + void (*cache_remove)(Etk_Tree_Model *model, const char *filename, const char *key); }; @@ -44,6 +45,7 @@ Etk_Tree_Model *etk_tree_model_checkbox_new(void); Etk_Tree_Model *etk_tree_model_progress_bar_new(void); void etk_tree_model_free(Etk_Tree_Model *model); +void etk_tree_model_cache_remove(Etk_Tree_Model *model, const char *filename, const char *key); void etk_tree_model_image_width_set(Etk_Tree_Model *model, int width, float alignment); void etk_tree_model_image_width_get(Etk_Tree_Model *model, int *width, float *alignment); ------------------------------------------------------------------------- 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