jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=63a237939e200722fa054b5f818601860327fac9

commit 63a237939e200722fa054b5f818601860327fac9
Author: Daniel Zaoui <[email protected]>
Date:   Thu Nov 28 16:05:28 2013 +0200

    Add callback when drag start in item containers
---
 src/lib/elm_cnp.c |  1 +
 src/lib/elm_cnp.h | 11 +++++++++++
 2 files changed, 12 insertions(+)

diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index 5baeac4..8cc5e59 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -3950,6 +3950,7 @@ _cont_obj_drag_start(void *data)
    Item_Container_Drag_Info *st = data;
    st->tm = NULL;
    Elm_Drag_User_Info *info = &st->user_info;
+   if (info->dragstart) info->dragstart(info->startcbdata, st->obj);
    elm_widget_scroll_freeze_push(st->obj);
    evas_object_event_callback_del_full
       (st->obj, EVAS_CALLBACK_MOUSE_MOVE, _cont_obj_mouse_move, st);
diff --git a/src/lib/elm_cnp.h b/src/lib/elm_cnp.h
index efcb256..a24deb9 100644
--- a/src/lib/elm_cnp.h
+++ b/src/lib/elm_cnp.h
@@ -188,6 +188,15 @@ typedef void (*Elm_Drag_Accept) (void *data, Evas_Object 
*obj, Eina_Bool doaccep
 typedef void (*Elm_Drag_Pos) (void *data, Evas_Object *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Action action);
 
 /**
+ * Callback called when a drag starts from an item container
+ *
+ * @param data Application specific data
+ * @param obj The object where the drag started
+ * @since 1.8
+ */
+typedef void (*Elm_Drag_Start) (void *data, Evas_Object *obj);
+
+/**
  * @brief Set copy data for a widget.
  *
  * Set copy data and take ownership of selection. Format is used for 
specifying the selection type,
@@ -424,6 +433,8 @@ struct _Elm_Drag_User_Info
    Elm_Xdnd_Action action;
    Elm_Drag_Icon_Create_Cb createicon;
    void *createdata;
+   Elm_Drag_Start dragstart;
+   void *startcbdata;
    Elm_Drag_Pos dragpos;
    void *dragdata;
    Elm_Drag_Accept acceptcb;

-- 


Reply via email to