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