Enlightenment CVS committal Author : ningerso Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_model.c ewl_model.h ewl_view.c ewl_view.h Log Message: Move transient data free to the model from the view. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_model.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ewl_model.c 22 Jan 2007 09:33:03 -0000 1.13 +++ ewl_model.c 6 Feb 2007 10:56:09 -0000 1.14 @@ -219,6 +219,42 @@ } /** + * @param m: The Ewl_Model to set the data free function into + * @param data_free: The Ewl_Model_Data_Free function to set + * @return Returns no value. + * @brief Set the data free pointer on this view + * + * This function is necessary to decrement intermediate reference counts or free + * temporary data buffers passed between the allocated data and the assigned + * widget. + */ +void +ewl_model_data_free_set(Ewl_Model *m, Ewl_Model_Data_Free data_free) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("m", m); + + m->data_free = data_free; + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param m: The Ewl_Model to get the data free function from + * @return Returns the Ewl_Model_Data_Free set into the Ewl_Model or NULL if none + * set. + * @brief Get the data free pointer set on this model + */ +Ewl_Model_Data_Free +ewl_model_data_free_get(Ewl_Model *m) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET("m", m, NULL); + + DRETURN_INT(m->data_free, DLEVEL_STABLE); +} + +/** * @param m: The model to work with * @param f: The model expansion model fetch callback * @return Returns no value =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_model.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- ewl_model.h 22 Jan 2007 09:33:03 -0000 1.16 +++ ewl_model.h 6 Feb 2007 10:56:09 -0000 1.17 @@ -29,6 +29,17 @@ unsigned int column); /** + * @def EWL_MODEL_FREE(f) + * Model callback to free data after passing it to be assigned in the view. + */ +#define EWL_MODEL_FREE(f) ((Ewl_Model_Data_Free)f) + +/** + * A typedef to shorten the definition of the model_data_free callbacks. + */ +typedef void (*Ewl_Model_Data_Free)(void *data); + +/** * @def EWL_MODEL_DATA_EXPANDABLE(f) * Model callback to handle fetching the expandable flag for a given row of * the tree @@ -106,6 +117,7 @@ } expansion; Ewl_Model_Fetch fetch; /**< Retrieve data for a cell */ + Ewl_Model_Data_Free data_free; /**< Free data passed to view */ Ewl_Model_Count count; /**< Count of data items */ Ewl_Model_Sort sort; /**< Trigger sort on column */ }; @@ -117,6 +129,9 @@ void ewl_model_fetch_set(Ewl_Model *m, Ewl_Model_Fetch get); Ewl_Model_Fetch ewl_model_fetch_get(Ewl_Model *m); + +void ewl_model_data_free_set(Ewl_Model *m, Ewl_Model_Data_Free assign); +Ewl_Model_Data_Free ewl_model_data_free_get(Ewl_Model *m); void ewl_model_sort_set(Ewl_Model *m, Ewl_Model_Sort sort); Ewl_Model_Sort ewl_model_sort_get(Ewl_Model *m); =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_view.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_view.c 6 Feb 2007 10:17:48 -0000 1.6 +++ ewl_view.c 6 Feb 2007 10:56:09 -0000 1.7 @@ -104,42 +104,6 @@ } /** - * @param v: The Ewl_View to set the data free function into - * @param assign: The Ewl_View_Data_Free function to set - * @return Returns no value. - * @brief Set the data free pointer on this view - * - * This function is necessary to decrement intermediate reference counts or free - * temporary data buffers passed between the allocated data and the assigned - * widget. - */ -void -ewl_view_data_free_set(Ewl_View *v, Ewl_View_Data_Free data_free) -{ - DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("v", v); - - v->data_free = data_free; - - DLEAVE_FUNCTION(DLEVEL_STABLE); -} - -/** - * @param v: The Ewl_View to get the data free function from - * @return Returns the Ewl_View_Data_Free set into the Ewl_View or NULL if none - * set. - * @brief Get the data free pointer set on this view - */ -Ewl_View_Data_Free -ewl_view_data_free_get(Ewl_View *v) -{ - DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR_RET("v", v, NULL); - - DRETURN_INT(v->data_free, DLEVEL_STABLE); -} - -/** * @param v: The Ewl_View to set the header_fetch callback on * @param f: The Ewl_View_Header_Fetch callback * @return Returns no value. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_view.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ewl_view.h 6 Feb 2007 10:17:48 -0000 1.9 +++ ewl_view.h 6 Feb 2007 10:56:09 -0000 1.10 @@ -34,17 +34,6 @@ typedef void (*Ewl_View_Assign)(Ewl_Widget *w, void *data); /** - * @def EWL_VIEW_DATA_FREE(f) - * View callback to free data after passing it to be assigned. - */ -#define EWL_VIEW_DATA_FREE(f) ((Ewl_View_Data_Free)f) - -/** - * A typedef to shorten the definition of the view_data_free callbacks. - */ -typedef void (*Ewl_View_Data_Free)(void *data); - -/** * @def EWL_VIEW_HEADER_GET(f) * View callback to get the header for a given column */ @@ -73,7 +62,6 @@ { Ewl_View_Constructor construct; /**< Create a widget for display */ Ewl_View_Assign assign; /**< Assign data to a widget */ - Ewl_View_Data_Free data_free; /**< Free data passed to assign */ Ewl_View_Header_Fetch header_fetch; /**< Get the header for the given column */ }; @@ -85,9 +73,6 @@ void ewl_view_assign_set(Ewl_View *view, Ewl_View_Assign assign); Ewl_View_Assign ewl_view_assign_get(Ewl_View *view); - -void ewl_view_data_free_set(Ewl_View *view, Ewl_View_Data_Free assign); -Ewl_View_Data_Free ewl_view_data_free_get(Ewl_View *view); void ewl_view_header_fetch_set(Ewl_View *v, Ewl_View_Header_Fetch f); Ewl_View_Header_Fetch ewl_view_header_fetch_get(Ewl_View *v); ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs