Enlightenment CVS committal

Author  : pfritz
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_callback.h ewl_container.c ewl_container.h ewl_embed.c 


Log Message:
- add ewl_container_callback_nonotify()
- remove in embed_init() the notify flags set by the cell

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_callback.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- ewl_callback.h      4 Mar 2007 00:52:01 -0000       1.16
+++ ewl_callback.h      8 Dec 2007 22:07:41 -0000       1.17
@@ -123,6 +123,13 @@
                w->callbacks[EWL_CALLBACK_INDEX(t)].mask |= 
EWL_CALLBACK_NOTIFY_NOTIFY
 
 /**
+ * @def EWL_CALLBACK_FLAG_NONOTIFY(w, t)
+ * Remove the callback notify flag from a widget for a certain event type.
+ */
+#define EWL_CALLBACK_FLAG_NONOTIFY(w, t) \
+               w->callbacks[EWL_CALLBACK_INDEX(t)].mask &= 
~EWL_CALLBACK_NOTIFY_NOTIFY
+
+/**
  * @def EWL_CALLBACK_SET_DIRECT(w, t)
  * Sets the callback direct flag for a centain event type
  */
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_container.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- ewl_container.c     12 Nov 2007 22:42:22 -0000      1.67
+++ ewl_container.c     8 Dec 2007 22:07:41 -0000       1.68
@@ -980,6 +980,26 @@
 }
 
 /**
+ * @param c: the container to not notify the callback
+ * @param t: the type of callback to not notify
+ * @return Returns no value.
+ * @brief receive a callback of a child
+ *
+ * Removes the notification flag set with ewl_container_callback_notify()
+ */
+void
+ewl_container_callback_nonotify(Ewl_Container *c, unsigned int t)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR(c);
+       DCHECK_TYPE(c, EWL_CONTAINER_TYPE);
+
+       EWL_CALLBACK_FLAG_NONOTIFY(EWL_WIDGET(c), t);
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+/**
  * @param c: the container to change preferred size
  * @param o: the orientation/direction to prefer the largest widget
  * @return Returns no value.
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_container.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- ewl_container.h     11 Nov 2007 06:07:46 -0000      1.34
+++ ewl_container.h     8 Dec 2007 22:07:41 -0000       1.35
@@ -150,6 +150,8 @@
 void            ewl_container_reset(Ewl_Container *c);
 void            ewl_container_callback_notify(Ewl_Container *c,
                                                unsigned int t);
+void            ewl_container_callback_nonotify(Ewl_Container *c,
+                                               unsigned int t);
 void            ewl_container_callback_intercept(Ewl_Container *c,
                                                unsigned int t);
 void            ewl_container_callback_nointercept(Ewl_Container *c,
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_embed.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -3 -r1.133 -r1.134
--- ewl_embed.c 6 Dec 2007 07:07:12 -0000       1.133
+++ ewl_embed.c 8 Dec 2007 22:07:41 -0000       1.134
@@ -100,6 +100,12 @@
 
        ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_NONE);
        ewl_object_toplevel_set(EWL_OBJECT(w), EWL_FLAG_PROPERTY_TOPLEVEL);
+       
+       /* remove the notify flags set by the cell */
+       ewl_container_callback_nonotify(EWL_CONTAINER(w),
+                                                       EWL_CALLBACK_FOCUS_IN);
+       ewl_container_callback_nonotify(EWL_CONTAINER(w),
+                                                       EWL_CALLBACK_FOCUS_OUT);
 
        ewl_callback_append(EWL_WIDGET(w), EWL_CALLBACK_REALIZE,
                             ewl_embed_cb_realize, NULL);



-------------------------------------------------------------------------
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to