Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/etk/src/bin Modified Files: etk_xdnd_test.c Log Message: create new files for xdnd stuff and implement paste support for selections. =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/etk/src/bin/etk_xdnd_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_xdnd_test.c 8 Feb 2006 12:49:38 -0000 1.1 +++ etk_xdnd_test.c 9 Feb 2006 22:41:19 -0000 1.2 @@ -18,6 +18,16 @@ } } +static void _etk_test_xdnd_drag_motion_cb(Etk_Object *object, void *data) +{ + printf("You're on top of me!\n"); +} + +static void _etk_test_xdnd_drag_leave_cb(Etk_Object *object, void *data) +{ + printf("You're leaving me!\n"); +} + static void _etk_test_xdnd_drag_drop_cb2(Etk_Object *object, void *data) { int num_files, i; @@ -33,12 +43,26 @@ printf("Widget got: file: %s\n", files[i]); if((image = strstr(files[i], "file://")) != NULL) etk_image_set_from_file(ETK_IMAGE(data), image + strlen("file://")); - } + } +} + +static void _etk_test_xdnd_clipboard_text_request_cb(Etk_Object *object, void *event, void *data) +{ + Etk_Event_Selection_Get *ev; + + ev = event; + etk_label_set(ETK_LABEL(object), (char *)ev->data); } -/* Creates the window for the xdnd test */ +static void _etk_test_xdnd_button_paste_cb(Etk_Object *object, void *data) +{ + Etk_Label *label; + + etk_selection_text_request(ETK_WIDGET(data)); +} +/* Creates the window for the xdnd test */ void etk_test_xdnd_window_create(void *data) { static Etk_Widget *win = NULL; @@ -46,6 +70,7 @@ Etk_Widget *button; Etk_Widget *label; Etk_Widget *image; + Etk_Widget *entry; if (win) { @@ -66,6 +91,8 @@ button = etk_button_new_with_label(_("Drag Any File Onto Me")); etk_widget_xdnd_set(button, ETK_TRUE); etk_signal_connect("drag_drop", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_drag_drop_cb), label); + etk_signal_connect("drag_motion", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_drag_motion_cb), NULL); + etk_signal_connect("drag_leave", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_drag_leave_cb), NULL); etk_box_pack_start(ETK_BOX(vbox), button, ETK_FALSE, ETK_FALSE, 0); etk_box_pack_start(ETK_BOX(vbox), label, ETK_FALSE, ETK_FALSE, 0); @@ -75,9 +102,25 @@ button = etk_button_new_with_label(_("Drag Any Image Onto Me")); etk_widget_xdnd_set(button, ETK_TRUE); etk_signal_connect("drag_drop", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_drag_drop_cb2), image); - etk_box_pack_start(ETK_BOX(vbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_box_pack_start(ETK_BOX(vbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_box_pack_start(ETK_BOX(vbox), image, ETK_FALSE, ETK_FALSE, 0); - etk_box_pack_start(ETK_BOX(vbox), image, ETK_FALSE, ETK_FALSE, 0); + label = etk_label_new(""); + etk_signal_connect("selection_get", ETK_OBJECT(label), ETK_CALLBACK(_etk_test_xdnd_clipboard_text_request_cb), NULL); + + button = etk_button_new_with_label(_("Press me to paste text")); + etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_button_paste_cb), label); + etk_box_pack_start(ETK_BOX(vbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_box_pack_start(ETK_BOX(vbox), label, ETK_FALSE, ETK_FALSE, 0); +/* + label = etk_label_new(_("Control+V on entry to paste")); + etk_box_pack_start(ETK_BOX(vbox), label, ETK_FALSE, ETK_FALSE, 0); + + entry = etk_entry_new(); + etk_widget_xdnd_set(entry, ETK_TRUE); + etk_signal_connect("drag_drop", ETK_OBJECT(button), ETK_CALLBACK(_etk_test_xdnd_drag_drop_cb), entry); + etk_box_pack_start(ETK_BOX(vbox), label, ETK_FALSE, ETK_FALSE, 0); +*/ etk_widget_show_all(win); } ------------------------------------------------------- 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