Add callback when drag start in item containers
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 28 Nov 2013 14:05:28 +0000 (16:05 +0200)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Thu, 28 Nov 2013 14:24:01 +0000 (16:24 +0200)
legacy/elementary/src/lib/elm_cnp.c
legacy/elementary/src/lib/elm_cnp.h

index 5baeac4..8cc5e59 100644 (file)
@@ -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);
index efcb256..a24deb9 100644 (file)
@@ -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;