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