Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/bin


Modified Files:
        etk_xdnd_test.c 


Log Message:
- add two new type: Etk_Selection_Data_Files Etk_Selection_Data_Text
- make all dnd, selection, clipboard stuff work properly with events and event 
structs
- remove useless junk

===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/bin/etk_xdnd_test.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- etk_xdnd_test.c     14 Feb 2006 02:28:02 -0000      1.6
+++ etk_xdnd_test.c     14 Feb 2006 13:37:38 -0000      1.7
@@ -1,11 +1,12 @@
 #include "etk_test.h"
 #include <string.h>
+#include <stdlib.h>
 #include "config.h"
 
-static void _etk_test_xdnd_drag_drop_cb(Etk_Object *object, void *data);
+static void _etk_test_xdnd_drag_drop_cb(Etk_Object *object, void *event, void 
*data);
 static void _etk_test_xdnd_drag_motion_cb(Etk_Object *object, void *data);
 static void _etk_test_xdnd_drag_leave_cb(Etk_Object *object, void *data);
-static void _etk_test_xdnd_drag_drop_cb2(Etk_Object *object, void *data);
+static void _etk_test_xdnd_drag_drop_cb2(Etk_Object *object, void *event, void 
*data);
 static void _etk_test_xdnd_clipboard_text_request_cb(Etk_Object *object, void 
*event, void *data);
 static void _etk_test_xdnd_button_paste_cb(Etk_Object *object, void *data);
 static void _etk_test_xdnd_button_copy_cb(Etk_Object *object, void *data);
@@ -95,18 +96,26 @@
 }
 
 /* Called when a file is dropped on the button */
-static void _etk_test_xdnd_drag_drop_cb(Etk_Object *object, void *data)
+static void _etk_test_xdnd_drag_drop_cb(Etk_Object *object, void *event, void 
*data)
 {
-   int num_files, i;
-   const char **files;
+   Etk_Event_Selection_Request *ev;   
+   Etk_Selection_Data_Files *files;
    
-   files = etk_widget_dnd_files_get(ETK_WIDGET(object), &num_files);
-   printf("Our test widget got a drop with %d files\n", num_files);
+   int i;
    
-   for (i = 0; i < num_files; i++)
+   ev = event;
+
+   if(ev->content != ETK_SELECTION_CONTENT_FILES)
+     return;
+
+   files = ev->data;
+   
+   printf("Our test widget got a drop with %d files\n", files->num_files);
+   
+   for (i = 0; i < files->num_files; i++)
    {
-      printf("Widget got the file: %s\n", files[i]);
-      etk_label_set(ETK_LABEL(data), files[i]);
+      printf("Widget got the file: %s\n", files->files[i]);
+      etk_label_set(ETK_LABEL(data), files->files[i]);
    }
 }
 
@@ -123,24 +132,27 @@
 }
 
 /* Called when a file is dropped on the second button */
-static void _etk_test_xdnd_drag_drop_cb2(Etk_Object *object, void *data)
+static void _etk_test_xdnd_drag_drop_cb2(Etk_Object *object, void *event, void 
*data)
 {
-   int num_files, i;
-   const char **files;
-   
-   files = etk_widget_dnd_files_get(ETK_WIDGET(object), &num_files);
+   Etk_Event_Selection_Request *ev;
+   Etk_Selection_Data_Files *files;
+   int i;
+
+   ev = event;  
    
-   if(files == NULL || num_files < 1)
+   if(ev->content != ETK_SELECTION_CONTENT_FILES)
      return;
    
-   printf("Our test widget got a drop with %d files\n", num_files);
+   files = ev->data;
+   
+   printf("Our test widget got a drop with %d files\n", files->num_files);
    
-   for (i = 0; i < num_files; i++)
+   for (i = 0; i < files->num_files; i++)
    {
       char *image;
       
-      printf("Widget got the file: %s\n", files[i]);
-      if ((image = strstr(files[i], "file://")) != NULL)
+      printf("Widget got the file: %s\n", files->files[i]);
+      if ((image = strstr(files->files[i], "file://")) != NULL)
          etk_image_set_from_file(ETK_IMAGE(data), image + strlen("file://"));
    }
 }
@@ -149,9 +161,11 @@
 static void _etk_test_xdnd_clipboard_text_request_cb(Etk_Object *object, void 
*event, void *data)
 {
    Etk_Event_Selection_Request *ev;
+   Etk_Selection_Data_Text     *ev_text;
    
    ev = event;
-   etk_label_set(ETK_LABEL(object), (char *)ev->data);
+   ev_text = ev->data;
+   etk_label_set(ETK_LABEL(object), ev_text->text);
 }
 
 /* Called when the "paste" button is clicked */
@@ -174,9 +188,11 @@
 static void _etk_test_xdnd_selection_text_request_cb(Etk_Object *object, void 
*event, void *data)
 {
    Etk_Event_Selection_Request *ev;
+   Etk_Selection_Data_Text     *ev_text;
    
    ev = event;
-   etk_label_set(ETK_LABEL(object), (char *)ev->data);
+   ev_text = ev->data;   
+   etk_label_set(ETK_LABEL(object), ev_text->text);
 }
 
 /* Called when the "get selection" button is clicked */




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to