Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_spinner.c Log Message: - fix spinner bug where manual text entry wasn't working - focus exists on the high level widget now, not the subwidgets. So, since we were putting the callback on s->entry (as EWL used to work) it wasn't getting called as the callback was fired on the spinner widget instead. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_spinner.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- ewl_spinner.c 26 May 2006 19:01:56 -0000 1.17 +++ ewl_spinner.c 10 Jul 2006 21:13:33 -0000 1.18 @@ -72,13 +72,14 @@ ewl_widget_internal_set(EWL_WIDGET(s->entry), TRUE); ewl_callback_del(s->entry, EWL_CALLBACK_KEY_DOWN, - ewl_entry_cb_key_down); - ewl_callback_append(s->entry, EWL_CALLBACK_KEY_DOWN, - ewl_spinner_key_down_cb, s); - ewl_callback_append(s->entry, EWL_CALLBACK_FOCUS_OUT, - ewl_spinner_focus_out_cb, s); - ewl_callback_append(s->entry, EWL_CALLBACK_MOUSE_WHEEL, - ewl_spinner_wheel_cb, s); + ewl_entry_cb_key_down); + + ewl_callback_append(EWL_WIDGET(s), EWL_CALLBACK_KEY_DOWN, + ewl_spinner_key_down_cb, NULL); + ewl_callback_append(EWL_WIDGET(s), EWL_CALLBACK_FOCUS_OUT, + ewl_spinner_focus_out_cb, NULL); + ewl_callback_append(EWL_WIDGET(s), EWL_CALLBACK_MOUSE_WHEEL, + ewl_spinner_wheel_cb, NULL); ewl_widget_show(s->entry); @@ -98,11 +99,11 @@ EWL_FLAG_FILL_NONE); ewl_widget_internal_set(s->increment, TRUE); ewl_callback_append(s->increment, EWL_CALLBACK_MOUSE_DOWN, - ewl_spinner_increase_value_cb, w); + ewl_spinner_increase_value_cb, w); ewl_callback_append(s->increment, EWL_CALLBACK_MOUSE_UP, - ewl_spinner_value_stop_cb, w); + ewl_spinner_value_stop_cb, w); ewl_callback_append(s->increment, EWL_CALLBACK_KEY_DOWN, - ewl_spinner_key_down_cb, s); + ewl_spinner_key_down_cb, s); ewl_widget_show(s->increment); s->decrement = ewl_button_new(); @@ -114,11 +115,11 @@ EWL_FLAG_FILL_NONE); ewl_widget_internal_set(s->decrement, TRUE); ewl_callback_append(s->decrement, EWL_CALLBACK_MOUSE_DOWN, - ewl_spinner_decrease_value_cb, w); + ewl_spinner_decrease_value_cb, w); ewl_callback_append(s->decrement, EWL_CALLBACK_MOUSE_UP, - ewl_spinner_value_stop_cb, w); + ewl_spinner_value_stop_cb, w); ewl_callback_append(s->decrement, EWL_CALLBACK_KEY_DOWN, - ewl_spinner_key_down_cb, s); + ewl_spinner_key_down_cb, s); ewl_widget_show(s->decrement); s->min_val = INT_MIN; @@ -313,7 +314,7 @@ */ void ewl_spinner_key_down_cb(Ewl_Widget *w, void *ev_data, - void *user_data) + void *user_data __UNUSED__) { Ewl_Entry *e; Ewl_Spinner *s; @@ -321,11 +322,11 @@ DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR("w", w); - DCHECK_PARAM_PTR("user_data", user_data); + DCHECK_PARAM_PTR("ev_data", ev_data); DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - e = EWL_ENTRY(w); - s = EWL_SPINNER(user_data); + s = EWL_SPINNER(w); + e = EWL_ENTRY(s->entry); ev = ev_data; @@ -374,17 +375,18 @@ * @brief The focus out callback */ void -ewl_spinner_focus_out_cb(Ewl_Widget *w __UNUSED__, void *ev_data __UNUSED__, - void *user_data) +ewl_spinner_focus_out_cb(Ewl_Widget *w, void *ev_data __UNUSED__, + void *user_data __UNUSED__) { Ewl_Spinner *s; char *str; float val; DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("user_data", user_data); + DCHECK_PARAM_PTR("w", w); + DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - s = EWL_SPINNER(user_data); + s = EWL_SPINNER(w); str = ewl_text_text_get(EWL_TEXT(s->entry)); if (str && strlen(str)) { @@ -406,16 +408,18 @@ * @brief The mouse wheel callback */ void -ewl_spinner_wheel_cb(Ewl_Widget *w __UNUSED__, void *ev_data, - void *user_data) +ewl_spinner_wheel_cb(Ewl_Widget *w, void *ev_data, + void *user_data __UNUSED__) { Ewl_Spinner *s; Ewl_Event_Mouse_Wheel *wheel; DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("user_data", user_data); + DCHECK_PARAM_PTR("w", w); + DCHECK_PARAM_PTR("ev_data", ev_data); + DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); - s = EWL_SPINNER(user_data); + s = EWL_SPINNER(w); wheel = (Ewl_Event_Mouse_Wheel *)ev_data; ewl_spinner_calc_value(s, s->value - (wheel->z * s->step), TRUE); @@ -477,7 +481,7 @@ DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); s = EWL_SPINNER(user_data); - ewl_spinner_focus_out_cb(w, NULL, s); + ewl_spinner_focus_out_cb(EWL_WIDGET(s), NULL, NULL); ewl_spinner_calc_value(s, s->value + s->step, TRUE); @@ -544,7 +548,7 @@ DCHECK_TYPE("w", w, EWL_WIDGET_TYPE); s = EWL_SPINNER(user_data); - ewl_spinner_focus_out_cb(w, NULL, s); + ewl_spinner_focus_out_cb(EWL_WIDGET(s), NULL, NULL); ewl_spinner_calc_value(s, s->value - s->step, TRUE); if (ev_data) { ------------------------------------------------------------------------- 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