Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_combo.c ewl_model.c ewl_model.h ewl_tree2.c ewl_view.c ewl_view.h Log Message: - move the header_fetch call from the model to the view where it belongs - actually set combo3 to be editable (still segvs when selecting, gdb seems to say there is infinite recusion in evas_object_clip_dirty so I'm not sure whats going on there) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_combo.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- ewl_combo.c 13 Mar 2006 21:38:09 -0000 1.18 +++ ewl_combo.c 13 Mar 2006 22:26:08 -0000 1.19 @@ -118,7 +118,7 @@ combo->model->fetch(combo->data, idx, 0)); } else - combo->selected = combo->model->header_fetch(combo->data, + combo->selected = combo->view->header_fetch(combo->data, combo->selected_idx); ewl_container_child_prepend(EWL_CONTAINER(combo), combo->selected); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_model.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ewl_model.c 13 Mar 2006 00:19:27 -0000 1.5 +++ ewl_model.c 13 Mar 2006 22:26:08 -0000 1.6 @@ -163,35 +163,3 @@ DRETURN_INT(m->count, DLEVEL_STABLE); } -/** - * @param m: The Ewl_Model to set the header_fetch callback on - * @param f: The Ewl_Model_Header_Fetch callback - * @return Returns no value. - * @brief Sets the header fetch callback into the model - */ -void -ewl_model_header_fetch_set(Ewl_Model *m, Ewl_Model_Header_Fetch f) -{ - DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("m", m); - - m->header_fetch = f; - - DLEAVE_FUNCTION(DLEVEL_STABLE); -} - -/** - * @param m: The Ewl_Model to get the Ewl_Model_Header_Fetch function from - * @return Returns the Ewl_Model_Header_Fetch callback set on the model, or - * NULL on failure. - * @brief Gets the header fetch callback from the model - */ -Ewl_Model_Header_Fetch -ewl_model_header_fetch_get(Ewl_Model *m) -{ - DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR_RET("m", m, NULL); - - DRETURN_INT(m->header_fetch, DLEVEL_STABLE); -} - =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_model.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ewl_model.h 13 Mar 2006 21:38:09 -0000 1.5 +++ ewl_model.h 13 Mar 2006 22:26:08 -0000 1.6 @@ -34,13 +34,6 @@ typedef int (*Ewl_Model_Count)(void *data); /** - * @def EWL_MODEL_DATA_HEADER_GET(f) - * Model callback to get the header for a given column - */ -#define EWL_MODEL_DATA_HEADER_GET(f) ((Ewl_Model_Header_Fetch)f) -typedef Ewl_Widget *(*Ewl_Model_Header_Fetch)(void *data, int column); - -/** * @def EWL_MODEL(model) * Typecasts a pointer to an Ewl_Model pointer. */ @@ -56,7 +49,6 @@ Ewl_Model_Fetch subfetch; /**< Check for subdata */ Ewl_Model_Sort sort; /**< Trigger sort on column */ Ewl_Model_Count count; /**< Count of data items */ - Ewl_Model_Header_Fetch header_fetch; /**< Get the header for the given column */ }; Ewl_Model *ewl_model_new(void); @@ -74,9 +66,6 @@ void ewl_model_count_set(Ewl_Model *m, Ewl_Model_Count count); Ewl_Model_Count ewl_model_count_get(Ewl_Model *m); -void ewl_model_header_fetch_set(Ewl_Model *m, Ewl_Model_Header_Fetch f); -Ewl_Model_Header_Fetch ewl_model_header_fetch_get(Ewl_Model *m); - /** * @} */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_tree2.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- ewl_tree2.c 13 Mar 2006 00:19:27 -0000 1.10 +++ ewl_tree2.c 13 Mar 2006 22:26:08 -0000 1.11 @@ -452,7 +452,7 @@ { Ewl_Widget *h; - h = col->model->header_fetch(tree->data, column); + h = col->view->header_fetch(tree->data, column); ewl_container_child_append(EWL_CONTAINER(tree->header), h); /* once we are done this model won't be dirty anymore */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_view.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- ewl_view.c 22 Feb 2006 03:51:01 -0000 1.3 +++ ewl_view.c 13 Mar 2006 22:26:08 -0000 1.4 @@ -102,3 +102,35 @@ DRETURN_INT(v->assign, 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. + * @brief Sets the header fetch callback into the view + */ +void +ewl_view_header_fetch_set(Ewl_View *v, Ewl_View_Header_Fetch f) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("v", v); + + v->header_fetch = f; + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param v: The Ewl_View to get the Ewl_View_Header_Fetch function from + * @return Returns the Ewl_View_Header_Fetch callback set on the view, or + * NULL on failure. + * @brief Gets the header fetch callback from the view + */ +Ewl_View_Header_Fetch +ewl_view_header_fetch_get(Ewl_View *v) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET("v", v, NULL); + + DRETURN_INT(v->header_fetch, DLEVEL_STABLE); +} + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_view.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_view.h 17 Feb 2006 06:43:33 -0000 1.2 +++ ewl_view.h 13 Mar 2006 22:26:08 -0000 1.3 @@ -25,6 +25,13 @@ typedef void (*Ewl_View_Assign)(Ewl_Widget *w, void *data); /** + * @def EWLVIEW_HEADER_GET(f) + * View callback to get the header for a given column + */ +#define EWL_VIEW_HEADER_GET(f) ((Ewl_View_Header_Fetch)f) +typedef Ewl_Widget *(*Ewl_View_Header_Fetch)(void *data, int column); + +/** * @def EWL_VIEW(view) * Typecasts a pointer to an Ewl_View pointer. */ @@ -38,16 +45,20 @@ { Ewl_View_Constructor construct; /**< Create a widget for display */ Ewl_View_Assign assign; /**< Assign data to a widget */ + Ewl_View_Header_Fetch header_fetch; /**< Get the header for the given column */ }; -Ewl_View *ewl_view_new(void); -int ewl_view_init(Ewl_View *view); +Ewl_View *ewl_view_new(void); +int ewl_view_init(Ewl_View *view); + +void ewl_view_constructor_set(Ewl_View *view, Ewl_View_Constructor construct); +Ewl_View_Constructor ewl_view_constructor_get(Ewl_View *view); -void ewl_view_constructor_set(Ewl_View *view, Ewl_View_Constructor construct); -Ewl_View_Constructor ewl_view_constructor_get(Ewl_View *view); +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_assign_set(Ewl_View *view, Ewl_View_Assign assign); -Ewl_View_Assign ewl_view_assign_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); /** * @} ------------------------------------------------------- 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