CopyPaste(3)

NAME
CopyPaste - CopyPaste

 - Copy and paste feature implementations.

SYNOPSIS

  Data Structures
struct _Elm_Selection_Data
Structure holding the info about selected data.
struct Elm_Cnp_Event_Selection_Changed
Event to notify when a display server's selection has changed Only sent for PRIMARY and CLIPBOARD selections.
struct _Elm_Drag_User_Info

  Typedefs
typedef struct _Elm_Selection_Data Elm_Selection_Data
typedef struct Elm_Cnp_Event_Selection_Changed Elm_Cnp_Event_Selection_Changed
Event to notify when a display server's selection has changed Only sent for PRIMARY and CLIPBOARD selections.
typedef Eina_Bool(* Elm_Drop_Cb) (void *data, Evas_Object *obj, Elm_Selection_Data *ev)
Callback invoked in when the selected data is 'dropped' at its destination.
typedef Elm_Object_Item *(* Elm_Xy_Item_Get_Cb) (Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)
Callback invoked to find out what object is under (x,y) coords.
typedef void(* Elm_Selection_Loss_Cb) (void *data, Elm_Sel_Type selection)
Callback invoked in when the selection ownership for a given selection is lost.
typedef Evas_Object *(* Elm_Drag_Icon_Create_Cb) (void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff)
Callback called to create a drag icon object.
typedef void(* Elm_Drag_State) (void *data, Evas_Object *obj)
Callback called when a drag is finished, enters, or leaves an object.
typedef void(* Elm_Drag_Done) (void *data, Evas_Object *obj, Eina_Bool accepted)
Callback called when a drag is finished.
typedef void(* Elm_Drag_Accept) (void *data, Evas_Object *obj, Eina_Bool doaccept)
Callback called when a drag is responded to with an accept or deny.
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 is over an object, and gives object-relative coordinates.
typedef void(* Elm_Drag_Start) (void *data, Evas_Object *obj)
Callback called when a drag starts from an item container.
typedef void(* Elm_Drag_Item_Container_Pos) (void *data, Evas_Object *cont, Elm_Object_Item *it, Evas_Coord x, Evas_Coord y, int xposret, int yposret, Elm_Xdnd_Action action)
Callback called when a drag is over an object.
typedef Eina_Bool(* Elm_Drop_Item_Container_Cb) (void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret, int yposret)
Callback invoked in when the selected data is 'dropped' on container.
typedef struct _Elm_Drag_User_Info Elm_Drag_User_Info
Structure describing user information for the drag process.
typedef Eina_Bool(* Elm_Item_Container_Data_Get_Cb) (Evas_Object *obj, Elm_Object_Item *it, Elm_Drag_User_Info *info)
Callback invoked when starting to drag for a container.

  Enumerations
enum Elm_Sel_Type { ELM_SEL_TYPE_PRIMARY = 0, ELM_SEL_TYPE_SECONDARY, ELM_SEL_TYPE_XDND, ELM_SEL_TYPE_CLIPBOARD }
Defines the types of selection property names.
enum Elm_Sel_Format { ELM_SEL_FORMAT_TARGETS = -1, ELM_SEL_FORMAT_NONE = 0, ELM_SEL_FORMAT_TEXT = 1, ELM_SEL_FORMAT_MARKUP = 2, ELM_SEL_FORMAT_IMAGE = 4, ELM_SEL_FORMAT_VCARD = 8, ELM_SEL_FORMAT_HTML = 16 }
Defines the types of content.
enum Elm_Xdnd_Action { ELM_XDND_ACTION_UNKNOWN = 0, ELM_XDND_ACTION_COPY, ELM_XDND_ACTION_MOVE, ELM_XDND_ACTION_PRIVATE, ELM_XDND_ACTION_ASK, ELM_XDND_ACTION_LIST, ELM_XDND_ACTION_LINK, ELM_XDND_ACTION_DESCRIPTION }
Defines the kind of action associated with the drop data if for XDND.

  Functions
Eina_Bool elm_cnp_selection_set (Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format, const void *buf, size_t buflen)
Set copy data for a widget.
Eina_Bool elm_cnp_selection_get (const Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format, Elm_Drop_Cb datacb, void *udata)
Get data from a widget that has a selection.
Eina_Bool elm_object_cnp_selection_clear (Evas_Object *obj, Elm_Sel_Type selection)
Clear the selection data of a widget.
void elm_cnp_selection_loss_callback_set (Evas_Object *obj, Elm_Sel_Type selection, Elm_Selection_Loss_Cb func, const void *data)
Set a function to be called when a selection is lost.
Eina_Bool elm_cnp_clipboard_selection_has_owner (Evas_Object *win)
Determine whether the clipboard selection has an owner.
Eina_Bool elm_drop_target_add (Evas_Object *obj, Elm_Sel_Format format, Elm_Drag_State entercb, void *enterdata, Elm_Drag_State leavecb, void *leavedata, Elm_Drag_Pos poscb, void *posdata, Elm_Drop_Cb dropcb, void *dropdata)
Set the given object as a target for drops for drag-and-drop.
Eina_Bool elm_drop_target_del (Evas_Object *obj, Elm_Sel_Format format, Elm_Drag_State entercb, void *enterdata, Elm_Drag_State leavecb, void *leavedata, Elm_Drag_Pos poscb, void *posdata, Elm_Drop_Cb dropcb, void *dropdata)
Deletes the drop target status of an object.
Eina_Bool elm_drag_start (Evas_Object *obj, Elm_Sel_Format format, const char *data, Elm_Xdnd_Action action, Elm_Drag_Icon_Create_Cb createicon, void *createdata, Elm_Drag_Pos dragpos, void *dragdata, Elm_Drag_Accept acceptcb, void *acceptdata, Elm_Drag_State dragdone, void *donecbdata)
Begins a drag given a source object.
Eina_Bool elm_drag_cancel (Evas_Object *obj)
Cancels the current drag operation.
Eina_Bool elm_drag_action_set (Evas_Object *obj, Elm_Xdnd_Action action)
Changes the current drag action.
Eina_Bool elm_drag_item_container_add (Evas_Object *obj, double tm_to_anim, double tm_to_drag, Elm_Xy_Item_Get_Cb itemgetcb, Elm_Item_Container_Data_Get_Cb data_get)
Set a item container (list, genlist, grid) as source of drag.
Eina_Bool elm_drag_item_container_del (Evas_Object *obj)
Deletes a item container from drag-source list.
Eina_Bool elm_drop_item_container_add (Evas_Object *obj, Elm_Sel_Format format, Elm_Xy_Item_Get_Cb itemgetcb, Elm_Drag_State entercb, void *enterdata, Elm_Drag_State leavecb, void *leavedata, Elm_Drag_Item_Container_Pos poscb, void *posdata, Elm_Drop_Item_Container_Cb dropcb, void *dropdata)
Set a item container (list, genlist, grid) as target for drop.
Eina_Bool elm_drop_item_container_del (Evas_Object *obj)
Removes a container from list of drop targets.

  Variables
int ELM_CNP_EVENT_SELECTION_CHANGED
Event notifying that the selection has changed.

Detailed Description

Copy and paste feature implementations. Implements the following functionality a. select, copy/cut and paste b. clipboard c. drag and drop in order to share data across application windows.

Contains functions to select text or a portion of data, send it to a buffer, and paste the data into a target.

elm_cnp provides a generic copy and paste facility based on its windowing system. It is not necessary to know the details of each windowing system, but some terms and behavior are common. Currently the X11 window system is widely used, and only X11 functionality is implemented.

In X11R6 window system, CopyPaste works like a peer-to-peer communication. Copying is an operation on an object in an X server. X11 calls those objects 'selections' which have names. Generally, two selection types are needed for copy and paste: The Primary selection and the Clipboard selection. Primary selection is for selecting text (that means highlighted text). Clipboard selection is for explicit copying behavior (such as ctrl+c, or 'copy' in a menu). Thus, in applications most cases only use the clipboard selection. As stated before, taking ownership of a selection doesn't move any actual data. Copying and Pasting is described as follows:

1.  Copy text in Program A : Program A takes ownership of the selection

2.  Paste text in Program B : Program B notes that Program A owns the selection

3.  Program B asks A for the text

4.  Program A responds and sends the text to program B

5.  Program B pastes the response More information is on

•   http://www.jwz.org/doc/x-cut-and-paste.html

•   X11R6 Inter-Client Communication Conventions Manual, section 2

TODO: add for other window system.

Typedef Documentation

  typedef struct Elm_Cnp_Event_Selection_Changed Elm_Cnp_Event_Selection_Changed

Event to notify when a display server's selection has changed Only sent for PRIMARY and CLIPBOARD selections.

Since
    1.20

  typedef Eina_Bool(* Elm_Drop_Cb) (void *data, Evas_Object *obj, Elm_Selection_Data *ev)

Callback invoked in when the selected data is 'dropped' at its destination.

Parameters
    data Application specific data
    obj The evas object where selected data is 'dropped'.
    ev struct holding information about selected data FIXME: this should probably be a smart callback

  typedef Elm_Object_Item*(* Elm_Xy_Item_Get_Cb) (Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)

Callback invoked to find out what object is under (x,y) coords.

Parameters
    obj The container object
    x cord to check
    y cord to check
    xposret Position relative to item (left (-1), middle (0), right (1)
    yposret Position relative to item (upper (-1), middle (0), bottom (1)

Returns
    object under x,y cords or NULL if not found.

  typedef void(* Elm_Selection_Loss_Cb) (void *data, Elm_Sel_Type selection)

Callback invoked in when the selection ownership for a given selection is lost.

Parameters
    data Application specific data
    selection The selection that is lost

Since
    1.7

  typedef Evas_Object*(* Elm_Drag_Icon_Create_Cb) (void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff)

Callback called to create a drag icon object.

Parameters
    data Application specific data
    win The window to create the objects relative to
    xoff A return coordinate for the X offset at which to place the drag icon object relative to the source drag object
    yoff A return coordinate for the Y offset at which to place the drag icon object relative to the source drag object

Returns
    An object to fill the drag window with or NULL if not needed

Since
    1.8

  typedef void(* Elm_Drag_State) (void *data, Evas_Object *obj)

Callback called when a drag is finished, enters, or leaves an object.

Parameters
    data Application specific data
    obj The object where the drag started

Since
    1.8

  typedef void(* Elm_Drag_Done) (void *data, Evas_Object *obj, Eina_Bool accepted)

Callback called when a drag is finished.

Parameters
    data Application specific data
    obj The object where the drag started
    accepted TRUE if the dropped data is accepted on drop

Since
    1.8

  typedef void(* Elm_Drag_Accept) (void *data, Evas_Object *obj, Eina_Bool doaccept)

Callback called when a drag is responded to with an accept or deny.

Parameters
    data Application specific data
    obj The object where the drag started
    doaccept A boolean as to if the target accepts the drag or not

Since
    1.8

  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 is over an object, and gives object-relative coordinates.

Parameters
    data Application specific data
    obj The object where the drag started
    x The X coordinate relative to the top-left of the object
    y The Y coordinate relative to the top-left of the object

Since
    1.8

  typedef void(* Elm_Drag_Start) (void *data, Evas_Object *obj)

Callback called when a drag starts from an item container.

Parameters
    data Application specific data
    obj The object where the drag started

Since
    1.8

  typedef void(* Elm_Drag_Item_Container_Pos) (void *data, Evas_Object *cont, Elm_Object_Item *it, Evas_Coord x, Evas_Coord y, int xposret, int yposret, Elm_Xdnd_Action action)

Callback called when a drag is over an object.

Parameters
    data Application specific data
    cont The container object where the drag started
    it The object item in container where mouse-over
    x The X coordinate relative to the top-left of the object
    y The Y coordinate relative to the top-left of the object
    xposret Position relative to item (left (-1), middle (0), right (1)
    yposret Position relative to item (upper (-1), middle (0), bottom (1)
    action The drag action to be done

Since
    1.8

  typedef Eina_Bool(* Elm_Drop_Item_Container_Cb) (void *data, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret, int yposret)

Callback invoked in when the selected data is 'dropped' on container.

Parameters
    data Application specific data
    obj The evas object where selected data is 'dropped'.
    it The item in container where drop-cords
    ev struct holding information about selected data
    xposret Position relative to item (left (-1), middle (0), right (1)
    yposret Position relative to item (upper (-1), middle (0), bottom (1)

  typedef struct _Elm_Drag_User_Info Elm_Drag_User_Info

Structure describing user information for the drag process.

Parameters
    format The drag formats supported by the data (output)
    data The drag data itself (a string) (output)
    icons if value not NULL, play default anim (output)
    action The drag action to be done (output)
    createicon Function to call to create a drag object, or NULL if not wanted (output)
    createdata Application data passed to createicon (output)
    dragpos Function called with each position of the drag, x, y being screen coordinates if possible, and action being the current action. (output)
    dragdata Application data passed to dragpos (output)
    acceptcb Function called indicating if drop target accepts (or does not) the drop data while dragging (output)
    acceptdata Application data passed to acceptcb (output)
    dragdone Function to call when drag is done (output)
    donecbdata Application data to pass to dragdone (output)

  typedef Eina_Bool(* Elm_Item_Container_Data_Get_Cb) (Evas_Object *obj, Elm_Object_Item *it, Elm_Drag_User_Info *info)

Callback invoked when starting to drag for a container.

Parameters
    obj The container object
    it The Elm_Object_Item pointer where drag-start

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Enumeration Type Documentation

  enum Elm_Sel_Type

Defines the types of selection property names.

See also
    http://www.x.org/docs/X11/xlib.pdf for more details.

Enumerator

ELM_SEL_TYPE_PRIMARY
    Primary text selection (highlighted or selected text)

ELM_SEL_TYPE_SECONDARY
    Used when primary selection is in use.

ELM_SEL_TYPE_XDND
    Drag and Drop.

ELM_SEL_TYPE_CLIPBOARD
    Clipboard selection (ctrl+C)

  enum Elm_Sel_Format

Defines the types of content.

Enumerator

ELM_SEL_FORMAT_TARGETS
    For matching every possible atom.

ELM_SEL_FORMAT_NONE
    Content is from outside of Elementary.

ELM_SEL_FORMAT_TEXT
    Plain unformatted text: Used for things that don't want rich markup.

ELM_SEL_FORMAT_MARKUP
    Edje textblock markup, including inline images.

ELM_SEL_FORMAT_IMAGE
    Images.

ELM_SEL_FORMAT_VCARD
    Vcards.

ELM_SEL_FORMAT_HTML
    Raw HTML-like data (eg. webkit)

  enum Elm_Xdnd_Action

Defines the kind of action associated with the drop data if for XDND.

Since
    1.8

Enumerator

ELM_XDND_ACTION_UNKNOWN
    Action type is unknown.

ELM_XDND_ACTION_COPY
    Copy the data.

ELM_XDND_ACTION_MOVE
    Move the data.

ELM_XDND_ACTION_PRIVATE
    Private action type.

ELM_XDND_ACTION_ASK
    Ask the user what to do.

ELM_XDND_ACTION_LIST
    List the data.

ELM_XDND_ACTION_LINK
    Link the data.

ELM_XDND_ACTION_DESCRIPTION
    Describe the data.

Function Documentation

  Eina_Bool elm_cnp_selection_set (Evas_Object * obj, Elm_Sel_Type selection, Elm_Sel_Format format, const void * buf, size_t buflen)

Set copy data for a widget. Set copy data and take ownership of selection. Format is used for specifying the selection type, and this is used during pasting.

Parameters
    selection Selection type for copying and pasting
    obj The source widget pointer
    format Selection format
    buf The data selected
    buflen The size of buf

Returns
    If EINA_TRUE, setting data was successful.

References ecore_evas_ecore_evas_get(), ecore_evas_selection_set(), eina_array_count(), eina_array_data_get(), eina_array_free(), eina_memdup(), EINA_TRUE, ELM_SEL_FORMAT_IMAGE, ELM_SEL_FORMAT_TEXT, ERR, evas_object_evas_get(), _Eina_Slice::len, and _Eina_Slice::mem.

Referenced by elm_code_widget_selection_copy(), and elm_code_widget_selection_cut().

  Eina_Bool elm_cnp_selection_get (const Evas_Object * obj, Elm_Sel_Type selection, Elm_Sel_Format format, Elm_Drop_Cb datacb, void * udata)

Get data from a widget that has a selection. Get the current selection data from a widget. The widget input here will usually be elm_entry, in which case datacb and udata can be NULL. If a different widget is passed, datacb and udata are used for retrieving data.

See also
    also elm_cnp_selection_set()

Parameters
    selection Selection type for copying and pasting
    format Selection format
    obj The source widget
    datacb The user data callback if the target widget isn't elm_entry
    udata The user data pointer for datacb

Returns
    If EINA_TRUE, getting selection data was successful.

References ecore_evas_ecore_evas_get(), ecore_evas_selection_get(), eina_array_iterator_new(), EINA_TRUE, and evas_object_evas_get().

Referenced by elm_code_widget_selection_paste().

  Eina_Bool elm_object_cnp_selection_clear (Evas_Object * obj, Elm_Sel_Type selection)

Clear the selection data of a widget. Clear all data from the selection which is owned by a widget.

See also
    also elm_cnp_selection_set()

Parameters
    obj The source widget
    selection Selection type for copying and pasting

Returns
    If EINA_TRUE, clearing data was successful.

References ecore_evas_ecore_evas_get(), ecore_evas_selection_set(), and evas_object_evas_get().

  void elm_cnp_selection_loss_callback_set (Evas_Object * obj, Elm_Sel_Type selection, Elm_Selection_Loss_Cb func, const void * data)

Set a function to be called when a selection is lost. The function func is set of be called when selection selection is lost to another process or when elm_cnp_selection_set() is called. If func is NULL then it is not called. data is passed as the data parameter to the callback functions and selection is passed in as the selection that has been lost.

elm_cnp_selection_set() and elm_object_cnp_selection_clear() automatically set this los callback to NULL when called. If you wish to take the selection and then be notified of loss please do this (for example):

elm_cnp_selection_set(obj, ELM_SEL_TYPE_PRIMARY, ELM_SEL_FORMAT_TEXT, "hello", strlen(hello));
elm_cnp_selection_loss_callback_set(obj, ELM_SEL_TYPE_PRIMARY, loss_cb, NULL);

See also
    also elm_cnp_selection_set()

Parameters
    obj The object to indicate the window target/display system.
    selection Selection to be notified of for loss
    func The function to call
    data The data pointer passed to the function.

Since
    1.7

Referenced by elm_code_widget_selection_copy(), and elm_code_widget_selection_cut().

  Eina_Bool elm_cnp_clipboard_selection_has_owner (Evas_Object * win)

Determine whether the clipboard selection has an owner.

Parameters
    win The window object to check for

Returns
    EINA_TRUE if the clipboard has a selection

Since
    1.20

References ecore_evas_ecore_evas_get(), ECORE_EVAS_SELECTION_BUFFER_COPY_AND_PASTE_BUFFER, ecore_evas_selection_exists(), and evas_object_evas_get().

  Eina_Bool elm_drop_target_add (Evas_Object * obj, Elm_Sel_Format format, Elm_Drag_State entercb, void * enterdata, Elm_Drag_State leavecb, void * leavedata, Elm_Drag_Pos poscb, void * posdata, Elm_Drop_Cb dropcb, void * dropdata)

Set the given object as a target for drops for drag-and-drop.

Parameters
    obj The target object
    format The formats supported for dropping
    entercb The function to call when the object is entered with a drag
    enterdata The application data to pass to enterdata
    leavecb The function to call when the object is left with a drag
    leavedata The application data to pass to leavedata
    poscb The function to call when the object has a drag over it
    posdata The application data to pass to posdata
    dropcb The function to call when a drop has occurred
    dropdata The application data to pass to dropcb

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_FALSE, eina_hash_list_append(), eina_hash_pointer_new(), EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.

Referenced by elm_drop_item_container_add().

  Eina_Bool elm_drop_target_del (Evas_Object * obj, Elm_Sel_Format format, Elm_Drag_State entercb, void * enterdata, Elm_Drag_State leavecb, void * leavedata, Elm_Drag_Pos poscb, void * posdata, Elm_Drop_Cb dropcb, void * dropdata)

Deletes the drop target status of an object.

Parameters
    obj The target object
    format The formats supported for dropping
    entercb The function to call when the object is entered with a drag
    enterdata The application data to pass to enterdata
    leavecb The function to call when the object is left with a drag
    leavedata The application data to pass to leavedata
    poscb The function to call when the object has a drag over it
    posdata The application data to pass to posdata
    dropcb The function to call when a drop has occurred
    dropdata The application data to pass to dropcb

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References eina_array_free(), EINA_FALSE, eina_hash_find(), eina_hash_list_remove(), eina_list_data_get(), EINA_LIST_FOREACH, EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.

  Eina_Bool elm_drag_start (Evas_Object * obj, Elm_Sel_Format format, const char * data, Elm_Xdnd_Action action, Elm_Drag_Icon_Create_Cb createicon, void * createdata, Elm_Drag_Pos dragpos, void * dragdata, Elm_Drag_Accept acceptcb, void * acceptdata, Elm_Drag_State dragdone, void * donecbdata)

Begins a drag given a source object.

Parameters
    obj The source object
    format The drag formats supported by the data
    data The drag data itself (a string)
    action The drag action to be done
    createicon Function to call to create a drag object, or NULL if not wanted
    createdata Application data passed to createicon
    dragpos Function called with each position of the drag, x, y being screen coordinates if possible, and action being the current action.
    dragdata Application data passed to dragpos
    acceptcb Function called indicating if drop target accepts (or does not) the drop data while dragging
    acceptdata Application data passed to acceptcb
    dragdone Function to call when drag is done
    donecbdata Application data to pass to dragdone

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References eina_array_count(), eina_array_data_get(), eina_array_free(), EINA_FALSE, EINA_SAFETY_ON_NULL_RETURN_VAL, EINA_SIZE2D, EINA_SLICE_STR_FULL, EINA_TRUE, evas_object_geometry_get(), evas_object_show(), and WRN.

  Eina_Bool elm_drag_cancel (Evas_Object * obj)

Cancels the current drag operation. It can only be initiated from the source window.

Parameters
    obj The source of the current drag.

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.9

References EINA_TRUE.

  Eina_Bool elm_drag_action_set (Evas_Object * obj, Elm_Xdnd_Action action)

Changes the current drag action.

Parameters
    obj The source of a drag if a drag is underway
    action The drag action to be done

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_FALSE, and ERR.

  Eina_Bool elm_drag_item_container_add (Evas_Object * obj, double tm_to_anim, double tm_to_drag, Elm_Xy_Item_Get_Cb itemgetcb, Elm_Item_Container_Data_Get_Cb data_get)

Set a item container (list, genlist, grid) as source of drag.

Parameters
    obj The container object.
    tm_to_anim Time period to wait before start animation.
    tm_to_drag Time period to wait before start dragging.
    itemgetcb Callback to get Evas_Object pointer for item at (x,y)
    data_get Callback to get drag info

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_FALSE, eina_list_append(), eina_list_search_unsorted(), EINA_TRUE, EVAS_CALLBACK_MOUSE_DOWN, and evas_object_event_callback_add().

  Eina_Bool elm_drag_item_container_del (Evas_Object * obj)

Deletes a item container from drag-source list.

Parameters
    obj The target object

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_TRUE.

  Eina_Bool elm_drop_item_container_add (Evas_Object * obj, Elm_Sel_Format format, Elm_Xy_Item_Get_Cb itemgetcb, Elm_Drag_State entercb, void * enterdata, Elm_Drag_State leavecb, void * leavedata, Elm_Drag_Item_Container_Pos poscb, void * posdata, Elm_Drop_Item_Container_Cb dropcb, void * dropdata)

Set a item container (list, genlist, grid) as target for drop.

Parameters
    obj The container object.
    format The formats supported for dropping
    itemgetcb Callback to get Evas_Object pointer for item at (x,y)
    entercb The function to call when the object is entered with a drag
    enterdata The application data to pass to enterdata
    leavecb The function to call when the object is left with a drag
    leavedata The application data to pass to leavedata
    poscb The function to call when the object has a drag over it
    posdata The application data to pass to posdata
    dropcb The function to call when a drop has occurred
    dropdata The application data to pass to dropcb

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_FALSE, eina_list_append(), eina_list_search_unsorted(), EINA_TRUE, and elm_drop_target_add().

  Eina_Bool elm_drop_item_container_del (Evas_Object * obj)

Removes a container from list of drop targets.

Parameters
    obj The container object

Returns
    Returns EINA_TRUE, if successful, or EINA_FALSE if not.

Since
    1.8

References EINA_TRUE.

Variable Documentation

  int ELM_CNP_EVENT_SELECTION_CHANGED [extern]

Event notifying that the selection has changed.

See also
    Elm_Cnp_Event_Selection_Changed

Since
    1.20

Referenced by elm_init().

Author

Generated automatically by Doxygen for EFL from the source code.