Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_text.c ewl_text_trigger.c ewl_text_trigger.h Log Message: - cleanup the trigger configure and unrealize =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_text.c,v retrieving revision 1.169 retrieving revision 1.170 diff -u -3 -r1.169 -r1.170 --- ewl_text.c 18 Jul 2007 14:30:04 -0000 1.169 +++ ewl_text.c 18 Jul 2007 14:43:32 -0000 1.170 @@ -3505,35 +3505,6 @@ DLEAVE_FUNCTION(DLEVEL_STABLE); } -/** - * @internal - * @param t: The ewl_text widget - * @return Returns no value - * @brief Configures the position and size of all the triggers within the - * text widget @a t. - */ -void -ewl_text_triggers_configure(Ewl_Text *t) -{ - Ewl_Text_Trigger *cur; - - DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("t", t); - DCHECK_TYPE("t", t, EWL_TEXT_TYPE); - - if (t->triggers) - { - ecore_list_goto_first(t->triggers); - while ((cur = ecore_list_next(t->triggers))) - ewl_text_trigger_areas_configure(cur); - } - - if (t->selection) - ewl_text_trigger_areas_configure(EWL_TEXT_TRIGGER(t->selection)); - - DLEAVE_FUNCTION(DLEVEL_STABLE); -} - static void ewl_text_trigger_position(Ewl_Text *t, Ewl_Text_Trigger *trig) { @@ -3739,11 +3710,10 @@ { ecore_list_goto_first(t->triggers); while ((cur = ecore_list_next(t->triggers))) - ewl_text_trigger_areas_cleanup(cur); + ewl_widget_unrealize(EWL_WIDGET(cur)); } - if (t->selection) - ewl_text_trigger_areas_cleanup(EWL_TEXT_TRIGGER(t->selection)); + if (t->selection) ewl_widget_unrealize(t->selection); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -3800,6 +3770,34 @@ /* hide the selection */ if (t->selection) ewl_widget_hide(t->selection); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @internal + * @param t: The ewl_text widget + * @return Returns no value + * @brief Configures the position and size of all the triggers within the + * text widget @a t. + */ +void +ewl_text_triggers_configure(Ewl_Text *t) +{ + Ewl_Text_Trigger *cur; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("t", t); + DCHECK_TYPE("t", t, EWL_TEXT_TYPE); + + if (t->triggers) + { + ecore_list_goto_first(t->triggers); + while ((cur = ecore_list_next(t->triggers))) + ewl_widget_configure(EWL_WIDGET(cur)); + } + + if (t->selection) ewl_widget_configure(t->selection); DLEAVE_FUNCTION(DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_text_trigger.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- ewl_text_trigger.c 18 Jul 2007 14:30:04 -0000 1.3 +++ ewl_text_trigger.c 18 Jul 2007 14:43:32 -0000 1.4 @@ -84,10 +84,14 @@ ewl_callback_prepend(EWL_WIDGET(trigger), EWL_CALLBACK_DESTROY, ewl_text_trigger_cb_destroy, NULL); + ewl_callback_append(EWL_WIDGET(trigger), EWL_CALLBACK_CONFIGURE, + ewl_text_trigger_cb_configure, NULL); ewl_callback_append(EWL_WIDGET(trigger), EWL_CALLBACK_SHOW, ewl_text_trigger_cb_show, NULL); ewl_callback_append(EWL_WIDGET(trigger), EWL_CALLBACK_HIDE, ewl_text_trigger_cb_hide, NULL); + ewl_callback_append(EWL_WIDGET(trigger), EWL_CALLBACK_UNREALIZE, + ewl_text_trigger_cb_unrealize, NULL); trigger->areas = ecore_list_new(); trigger->type = type; @@ -336,13 +340,17 @@ * @brief Configures the areas associated with @a trig */ void -ewl_text_trigger_areas_configure(Ewl_Text_Trigger *trig) +ewl_text_trigger_cb_configure(Ewl_Widget *w, void *ev __UNUSED__, + void *data __UNUSED__) { + Ewl_Text_Trigger *trig; Ewl_Text_Trigger_Area *area; DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR("trig", trig); - DCHECK_TYPE("trig", trig, EWL_TEXT_TRIGGER_TYPE); + DCHECK_PARAM_PTR("w", w); + DCHECK_TYPE("w", w, EWL_TEXT_TRIGGER_TYPE); + + trig = EWL_TEXT_TRIGGER(w); if (!trig->areas) DRETURN(DLEVEL_STABLE); @@ -502,6 +510,26 @@ while ((area = ecore_list_next(trig->areas))) ewl_widget_show(area); + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param w: The trigger to work with + * @param ev: UNUSED + * @param data: UNUSED + * @return Returns no value + * @brief Unrealizes the trigger + */ +void +ewl_text_trigger_cb_unrealize(Ewl_Widget *w, void *ev __UNUSED__, + void *data __UNUSED__) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("w", w); + DCHECK_TYPE("w", w, EWL_TEXT_TRIGGER_TYPE); + + ewl_text_trigger_areas_cleanup(EWL_TEXT_TRIGGER(w)); + DLEAVE_FUNCTION(DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_text_trigger.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_text_trigger.h 18 Jul 2007 14:30:04 -0000 1.2 +++ ewl_text_trigger.h 18 Jul 2007 14:43:32 -0000 1.3 @@ -75,7 +75,6 @@ void ewl_text_trigger_area_add(Ewl_Text *t, Ewl_Text_Trigger *cur, int x, int y, int w, int h); void ewl_text_trigger_areas_cleanup(Ewl_Text_Trigger *trig); -void ewl_text_trigger_areas_configure(Ewl_Text_Trigger *trig); /* * Internal stuff @@ -88,6 +87,8 @@ void ewl_text_trigger_cb_show(Ewl_Widget *w, void *ev, void *data); void ewl_text_trigger_cb_hide(Ewl_Widget *w, void *ev, void *data); +void ewl_text_trigger_cb_configure(Ewl_Widget *w, void *ev, void *data); +void ewl_text_trigger_cb_unrealize(Ewl_Widget *w, void *ev, void *data); void ewl_text_trigger_cb_mouse_in(Ewl_Widget *w, void *ev, void *data); void ewl_text_trigger_cb_mouse_out(Ewl_Widget *w, void *ev, void *data); void ewl_text_trigger_cb_mouse_up(Ewl_Widget *w, void *ev, void *data); ------------------------------------------------------------------------- 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