Enlightenment CVS committal

Author  : urandom
Project : e_modules
Module  : winselector

Dir     : e_modules/winselector


Modified Files:
        e_mod_main.c 


Log Message:
icons can be dragged from the menu (to the ibar|ibox for instance)

===================================================================
RCS file: /cvs/e/e_modules/winselector/e_mod_main.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_mod_main.c        23 Sep 2006 14:18:12 -0000      1.6
+++ e_mod_main.c        28 Oct 2006 09:52:10 -0000      1.7
@@ -38,6 +38,7 @@
 static void _win_menu_pre_cb(void *data, E_Menu *m);
 static void _win_menu_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _win_menu_icon_cb(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _win_menu_item_drag(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _win_menu_free_hook(void *obj);
 static void _win_menu_item_create(E_Border *bd, E_Menu *m, Instance *inst);
 static int _window_cb_focus_in(void *data, int type, void *event);
@@ -354,8 +355,42 @@
 
    o = e_icon_add(m->evas);
    e_icon_object_set(o, e_border_icon_add(bd, m->evas));
+   e_menu_item_drag_callback_set(mi, _win_menu_item_drag, bd);
 
    mi->icon_object = o;
+}
+
+static void
+_win_menu_item_drag(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Border *bd;
+
+   if (!(bd = data)) return;
+   if (!mi->icon_object) return;
+
+   E_Drag *drag;
+   Evas_Object *o = NULL;
+   Evas_Coord x, y, w, h;
+   const char *file = NULL, *part = NULL;
+   const char *drag_types[] = { "enlightenment/border" };
+
+   evas_object_geometry_get(mi->icon_object,
+                           &x, &y, &w, &h);
+   drag = e_drag_new(
+      m->zone->container, x, y,
+      drag_types, 1, bd, -1, NULL);
+
+   o = e_icon_add(drag->evas);
+   e_icon_object_set(o, e_border_icon_add(bd, drag->evas));
+   e_drag_object_set(drag, o);
+
+   e_drag_resize(drag, w, h);
+   e_drag_start(drag, mi->drag.x + w, mi->drag.y + h);
+   e_util_evas_fake_mouse_up_later(bd->bg_evas, 1);
+   //                      evas_event_feed_mouse_up(bd->bg_evas, 1,
+   //                                               EVAS_BUTTON_NONE, 
ev->time, 
+   //                                               NULL);
+
 }
 
 static void



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