Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/bin/tests


Modified Files:
        ewl_dnd_snoop.c 


Log Message:
- make dnd snoop output to both the terminal and the window

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/ewl_dnd_snoop.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ewl_dnd_snoop.c     13 Jul 2006 20:47:31 -0000      1.3
+++ ewl_dnd_snoop.c     13 Jul 2006 21:10:35 -0000      1.4
@@ -25,6 +25,10 @@
 static int ewl_dnd_snoop_cb_drop(void *data, int type, void *ev);
 static int ewl_dnd_snoop_cb_finished(void *data, int type, void *ev);
 
+static void ewl_dnd_snoop_cb_clear(Ewl_Widget *w, void *ev, void *data);
+
+static Ewl_Widget *text = NULL;
+
 void 
 test_info(Ewl_Test *test)
 {
@@ -40,7 +44,7 @@
 create_test(Ewl_Container *box)
 {
 
-       Ewl_Widget *hbox, *scroll, *o;
+       Ewl_Widget *scroll, *o;
 
        /* Register DND handlers */
        ewl_dnd_enter_handler = ecore_event_handler_add(
@@ -62,18 +66,13 @@
                                        ECORE_X_EVENT_XDND_FINISHED, 
                                        ewl_dnd_snoop_cb_finished, NULL);
 
-       scroll = ewl_scrollpane_new();
-       ewl_container_child_append(EWL_CONTAINER(box), scroll);
-       ewl_callback_append(scroll, EWL_CALLBACK_REALIZE,
-                       ewl_dnd_snoop_cb_realize, NULL);
-       ewl_widget_show(scroll);
-
        o = ewl_entry_new();
-       ewl_container_child_append(EWL_CONTAINER(scroll), o);
+       ewl_container_child_append(EWL_CONTAINER(box), o);
        ewl_widget_name_set(o, "entry");
        ewl_entry_multiline_set(EWL_ENTRY(o), TRUE);
        ewl_text_wrap_set(EWL_TEXT(o), TRUE);
        ewl_text_font_size_set(EWL_TEXT(o), 12);
+       ewl_text_text_set(EWL_TEXT(o), "Drop Here");
 
        ewl_text_underline_color_set(EWL_TEXT(o), 0, 0, 0, 255);
        ewl_text_double_underline_color_set(EWL_TEXT(o), 50, 50, 50, 255);
@@ -83,18 +82,38 @@
        ewl_text_glow_color_set(EWL_TEXT(o), 0, 255, 0, 128);
 
        ewl_object_fill_policy_set(EWL_OBJECT(o), 
-                               EWL_FLAG_FILL_HFILL | EWL_FLAG_FILL_VFILL);
+                               EWL_FLAG_FILL_HFILL | EWL_FLAG_FILL_VSHRINK);
        ewl_widget_show(o);
 
-       hbox = ewl_hbox_new();
-       ewl_container_child_append(EWL_CONTAINER(box), hbox);
-       ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_NONE);
-       ewl_widget_show(hbox);
+       scroll = ewl_scrollpane_new();
+       ewl_container_child_append(EWL_CONTAINER(box), scroll);
+       ewl_callback_append(scroll, EWL_CALLBACK_REALIZE,
+                       ewl_dnd_snoop_cb_realize, NULL);
+       ewl_widget_show(scroll);
+
+       text = ewl_text_new();
+       ewl_container_child_append(EWL_CONTAINER(scroll), text);
+       ewl_widget_show(text);
+
+       o = ewl_button_new();
+       ewl_button_label_set(EWL_BUTTON(o), "Clear");
+       ewl_container_child_append(EWL_CONTAINER(box), o);
+       ewl_callback_append(o, EWL_CALLBACK_CLICKED, 
+                                       ewl_dnd_snoop_cb_clear, NULL);
+       ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_SHRINK);
+       ewl_widget_show(o);
 
        return 1;
 }
 
 static void
+ewl_dnd_snoop_output(char *buf)
+{
+       printf(buf);
+       ewl_text_text_append(EWL_TEXT(text), buf);
+}
+
+static void
 ewl_dnd_snoop_cb_realize(Ewl_Widget *w, void *event, void *data)
 {
        Ewl_Embed *embed;
@@ -106,12 +125,19 @@
 ewl_dnd_snoop_cb_enter(void *data, int type, void *ev)
 {
        int i;
+       char buf[1024];
        Ecore_X_Event_Xdnd_Enter *event = ev;
 
-       printf("\nXdnd Enter\n");
-       printf("\tWindow: %d\n\tSource: %d\n", event->win, event->source);
+       snprintf(buf, sizeof(buf), "\nXdnd Enter\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tSource: %d\n", 
+                                       event->win, event->source);
+       ewl_dnd_snoop_output(buf);
+
        for (i = 0; i < event->num_types; i++) {
-               printf("\tType: %s\n", event->types[i]);
+               snprintf(buf, sizeof(buf), "\tType: %s\n", event->types[i]);
+               ewl_dnd_snoop_output(buf);
        }
        return 1;
 }
@@ -119,66 +145,128 @@
 static int
 ewl_dnd_snoop_cb_position(void *data, int type, void *ev)
 {
+       char buf[1024];
        Ecore_X_Event_Xdnd_Position *event = ev;
 
-       printf("\nXdnd Position\n");
-       printf("\tWindow: %d\n\tSource: %d\n", event->win, event->source);
-       printf("\tPosition: %d,%d\n", event->position.x, event->position.y);
-       printf("\tAction: %s\n", XGetAtomName(ecore_x_display_get(), 
-                                                       event->action));
+       snprintf(buf, sizeof(buf), "\nXdnd Position\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tSource: %d\n", event->win, 
+                                                               event->source);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tPosition: %d,%d\n", event->position.x, 
+                                                       event->position.y);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tAction: %s\n", 
+                                       XGetAtomName(ecore_x_display_get(), 
+                                       event->action));
+       ewl_dnd_snoop_output(buf);
+
        return 1;
 }
 
 static int
 ewl_dnd_snoop_cb_status(void *data, int type, void *ev)
 {
+       char buf[1024];
        Ecore_X_Event_Xdnd_Status *event = ev;
 
-       printf("\nXdnd Status\n");
-       printf("\tWindow: %d\n\tTarget: %d\n", event->win, event->target);
-       printf("\tAccepts: %d\n", event->will_accept);
-       printf("\tRegion: %d,%d %dx%d\n", event->rectangle.x, 
+       snprintf(buf, sizeof(buf), "\nXdnd Status\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tTarget: %d\n", 
+                                               event->win, event->target);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tAccepts: %d\n", event->will_accept);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tRegion: %d,%d %dx%d\n", 
+                                               event->rectangle.x,
                                                event->rectangle.y,
                                                event->rectangle.width, 
                                                event->rectangle.height);
-       printf("\tAction: %s\n", XGetAtomName(ecore_x_display_get(), 
-                                                       event->action));
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tAction: %s\n", 
+                                       XGetAtomName(ecore_x_display_get(), 
+                                       event->action));
+       ewl_dnd_snoop_output(buf);
+
        return 1;
 }
 
 static int
 ewl_dnd_snoop_cb_leave(void *data, int type, void *ev)
 {
+       char buf[1024];
        Ecore_X_Event_Xdnd_Leave *event = ev;
 
-       printf("\nXdnd Leave\n");
-       printf("\tWindow: %d\n\tSource: %d\n", event->win, event->source);
+       snprintf(buf, sizeof(buf), "\nXdnd Leave\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tSource: %d\n", 
+                                               event->win, event->source);
+       ewl_dnd_snoop_output(buf);
+
        return 1;
 }
 
 static int
 ewl_dnd_snoop_cb_drop(void *data, int type, void *ev)
 {
+       char buf[1024];
        Ecore_X_Event_Xdnd_Drop *event = ev;
 
-       printf("\nXdnd Drop\n");
-       printf("\tWindow: %d\n\tSource: %d\n", event->win, event->source);
-       printf("\tAction: %s\n", XGetAtomName(ecore_x_display_get(), 
-                                                       event->action));
-       printf("\tPosition: %d,%d\n", event->position.x, event->position.y);
+       snprintf(buf, sizeof(buf), "\nXdnd Drop\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tSource: %d\n", 
+                                               event->win, event->source);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tAction: %s\n", 
+                                       XGetAtomName(ecore_x_display_get(), 
+                                       event->action));
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tPosition: %d,%d\n", 
+                                       event->position.x, event->position.y);
+       ewl_dnd_snoop_output(buf);
+
        return 1;
 }
 
 static int
 ewl_dnd_snoop_cb_finished(void *data, int type, void *ev)
 {
+       char buf[1024];
        Ecore_X_Event_Xdnd_Finished *event = ev;
 
-       printf("\nXdnd Finished\n");
-       printf("\tWindow: %d\n\tTarget: %d\n", event->win, event->target);
-       printf("\tCompleted: %d\n", event->completed);
-       printf("\tAction: %s\n", XGetAtomName(ecore_x_display_get(), 
-                                                       event->action));
+       snprintf(buf, sizeof(buf), "\nXdnd Finished\n");
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tWindow: %d\n\tTarget: %d\n", 
+                                               event->win, event->target);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tCompleted: %d\n", event->completed);
+       ewl_dnd_snoop_output(buf);
+
+       snprintf(buf, sizeof(buf), "\tAction: %s\n", 
+                                       XGetAtomName(ecore_x_display_get(), 
+                                       event->action));
+       ewl_dnd_snoop_output(buf);
+
        return 1;
 }
+
+static void
+ewl_dnd_snoop_cb_clear(Ewl_Widget *w, void *ev, void *data)
+{
+       ewl_text_clear(EWL_TEXT(text));
+}
+
 




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