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

Reply via email to