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

Reply via email to