Enlightenment CVS committal

Author  : ningerso
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_embed.c ewl_embed.h 


Log Message:
Updated embed to accept DND data with type specified.

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_embed.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -3 -r1.76 -r1.77
--- ewl_embed.c 5 Sep 2006 02:14:24 -0000       1.76
+++ ewl_embed.c 7 Sep 2006 18:53:09 -0000       1.77
@@ -713,8 +713,9 @@
        widget = ewl_container_child_at_recursive_get(EWL_CONTAINER(embed), x, 
y);
        if (widget) {
                Ewl_Widget *parent;
-               
-               
+
+
+               embed->dnd_widget = widget;
                if (internal) {
                        Ewl_Widget_Drag cb;
                        
@@ -728,7 +729,7 @@
                        /* Handle external drops */
                        ev.data = NULL;
                }
-               
+
                parent = widget;
                while (parent) {
                        ewl_callback_call_with_event_data(parent,
@@ -757,7 +758,7 @@
 ewl_embed_dnd_position_feed(Ewl_Embed *embed, int x, int y, int* px, int* py, 
int* pw, int* ph)
 {
        Ewl_Widget *widget = NULL;
-       Ewl_Event_Mouse_Move ev;
+       Ewl_Event_Dnd_Position ev;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("embed", embed);
@@ -908,7 +909,7 @@
  * @brief Sends the event for selection data received into an embed.
  */
 void
-ewl_embed_selection_data_feed(Ewl_Embed *embed, void *data, unsigned int len)
+ewl_embed_selection_data_feed(Ewl_Embed *embed, char *type, void *data, 
unsigned int len)
 {
        Ewl_Event_Dnd_Data ev;
 
@@ -917,17 +918,21 @@
        DCHECK_PARAM_PTR("data", data);
        DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE);
 
-       /* 
-        * setup the event struct 
-        */
-       ev.data = data;
-       ev.len = len;
-
        /*
         * If a widget is expecting DND data, send the data to the widget
         */
        if (embed->dnd_widget) {
-               ewl_callback_call_with_event_data(embed->dnd_widget, 
EWL_CALLBACK_DND_DATA, &ev);
+               if (ewl_dnd_accepts_types_contains(embed->dnd_widget, type)) {
+                       /* 
+                        * setup the event struct 
+                        */
+                       ev.type = type;
+                       ev.data = data;
+                       ev.len = len;
+                       ewl_callback_call_with_event_data(embed->dnd_widget,
+                                                         EWL_CALLBACK_DND_DATA,
+                                                         &ev);
+               }
        }
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_embed.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- ewl_embed.h 5 Sep 2006 02:14:24 -0000       1.22
+++ ewl_embed.h 7 Sep 2006 18:53:09 -0000       1.23
@@ -103,6 +103,7 @@
 void           ewl_embed_dnd_position_feed(Ewl_Embed *embed, int x, int 
y,int*,int*,int*,int*);
 void           ewl_embed_dnd_drop_feed(Ewl_Embed* embed, int x, int y, int 
internal);
 void           ewl_embed_dnd_data_feed(Ewl_Embed* embed, void *data, unsigned 
int len);
+void            ewl_embed_selection_data_feed(Ewl_Embed *embed, char *type, 
void *data, unsigned int len);
 
 void            ewl_embed_mouse_out_feed(Ewl_Embed *embed, int x, int y,
                                         unsigned int modifiers);



-------------------------------------------------------------------------
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

Reply via email to