summaryrefslogtreecommitdiff
path: root/src/lib/elm_cnp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elm_cnp.h')
-rw-r--r--src/lib/elm_cnp.h476
1 files changed, 249 insertions, 227 deletions
diff --git a/src/lib/elm_cnp.h b/src/lib/elm_cnp.h
index dceab77e1..0479d3c16 100644
--- a/src/lib/elm_cnp.h
+++ b/src/lib/elm_cnp.h
@@ -1,13 +1,14 @@
+#ifndef _ELM_CNP_H
+#define _ELM_CNP_H
/**
+ * @internal
* @defgroup CopyPaste CopyPaste
- * @ingroup Elementary
+ * @ingroup elm_infra_group
*
- * Copy and paste feature implementations.
- *
- * Implements the following functionality
- * a. select, copy/cut and paste
- * b. clipboard
- * c. drag and drop
+ * 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,
@@ -18,35 +19,34 @@
* 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.
+ * In the X11R6 window system, CopyPaste works like peer-to-peer communication.
* Copying is an operation on an object in an X server.
- * X11 calls those objects 'selections' which have names.
+ * X11 calls those objects as '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.
+ * 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
+ * 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.
+ * TODO: Add for other window system.
*
* @{
*/
/**
- * Defines the types of selection property names.
- * @see http://www.x.org/docs/X11/xlib.pdf
- * for more details.
+ * @brief Enumeration that defines the types of selection property names.
+ * @see http://www.x.org/docs/X11/xlib.pdf for more details.
*/
typedef enum
{
@@ -57,11 +57,11 @@ typedef enum
} Elm_Sel_Type;
/**
- * Defines the types of content.
+ * @brief Enumeration that defines the types of content.
*/
typedef enum
{
- /** For matching every possible atom */
+ /** For matching every possible item */
ELM_SEL_FORMAT_TARGETS = -1,
/** Content is from outside of Elementary */
ELM_SEL_FORMAT_NONE = 0x0,
@@ -78,7 +78,7 @@ typedef enum
} Elm_Sel_Format;
/**
- * Defines the kind of action associated with the drop data if for XDND
+ * @brief Enumeration that defines the kind of action associated with drop data, if for XDND.
* @since 1.8
*/
typedef enum
@@ -86,7 +86,7 @@ typedef enum
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, /**< Pricate action type */
+ 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 */
@@ -94,7 +94,7 @@ typedef enum
} Elm_Xdnd_Action;
/**
- * Structure holding the info about selected data.
+ * @brief The structure type holding information about selected data.
*/
struct _Elm_Selection_Data
{
@@ -107,109 +107,119 @@ struct _Elm_Selection_Data
typedef struct _Elm_Selection_Data Elm_Selection_Data;
/**
- * Callback invoked in when the selected data is 'dropped' at its destination.
+ * @brief Called when the selected data is 'dropped' at its destination.
+ *
+ * @remarks FIXME: This should probably be a smart callback.
*
- * @param data Application specific data
- * @param obj The evas object where selected data is 'dropped'.
- * @param ev struct holding information about selected data
- * FIXME: this should probably be a smart callback
+ * @param[in] data The application specific data
+ * @param[in] obj The evas object where the selected data is 'dropped'
+ * @param[in] ev The struct holding information about the selected data
*/
typedef Eina_Bool (*Elm_Drop_Cb)(void *data, Evas_Object *obj, Elm_Selection_Data *ev);
/**
- * Callback invoked to find out what object is under (x,y) coords
+ * @brief Called to find out what object is under (x,y) coordinates.
*
- * @param obj The container object
- * @param x cord to check
- * @param y cord to check
- * @param xposret Position relative to item (left (-1), middle (0), right (1)
- * @param yposret Position relative to item (upper (-1), middle (0), bottom (1)
- * @return object under x,y cords or NULL if not found.
+ * @param[in] obj The container object
+ * @param[in] x The coordinate to check
+ * @param[in] y The coordinate to check
+ * @param[in] xposret The position relative to the item (left (-1), middle (0), right (1))
+ * @param[in] yposret The position relative to the item (upper (-1), middle (0), bottom (1))
+ * @return The object under x,y cordinates, otherwise @c NULL if not found
*/
typedef Elm_Object_Item *(*Elm_Xy_Item_Get_Cb)(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret);
/**
- * Callback invoked in when the selection ownership for a given selection is lost.
+ * @brief Called when the selection ownership for a given selection is lost.
*
- * @param data Application specific data
- * @param selection The selection that is lost
* @since 1.7
+ *
+ * @param[in] data The application specific data
+ * @param[in] selection The selection that is lost
*/
typedef void (*Elm_Selection_Loss_Cb)(void *data, Elm_Sel_Type selection);
/**
- * Callback called to create a drag icon object
+ * @brief Called to create a drag icon object.
*
- * @param data Application specific data
- * @param win The window to create the objects relative to
- * @param xoff A return coordinate for the X offset at which to place the drag icon object relative to the source drag object
- * @param yoff A return coordinate for the Y offset at which to place the drag icon object relative to the source drag object
- * @return An object to fill the drag window with or NULL if not needed
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] win The window to create the relative objects
+ * @param[out] xoff The return coordinate for the X offset at which to place the drag icon object relative to the source drag object
+ * @param[out] yoff The return coordinate for the Y offset at which to place the drag icon object relative to the source drag object
+ * @return The object to fill the drag window with, otherwise @c NULL if not needed
*/
typedef Evas_Object *(*Elm_Drag_Icon_Create_Cb) (void *data, Evas_Object *win, Evas_Coord *xoff, Evas_Coord *yoff);
/**
- * Callback called when a drag is finished, enters, or leaves an object
- *
- * @param data Application specific data
- * @param obj The object where the drag started
+ * @brief Called when a drag finishes, enters, or leaves an object.
+ *
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] obj The object where the drag started
*/
typedef void (*Elm_Drag_State) (void *data, Evas_Object *obj);
/**
- * Callback called when a drag is finished.
+ * @brief Called when a drag is finished.
*
- * @param data Application specific data
- * @param obj The object where the drag started
- * @param accepted TRUE if the droppped-data is accepted on drop
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] obj The object where the drag started
+ * @param[in] accepted If @c true the dropped data is accepted on drop,
+ * otherwise @c false
*/
typedef void (*Elm_Drag_Done) (void *data, Evas_Object *obj, Eina_Bool accepted);
/**
- * Callback called when a drag is responded to with an accept or deny
+ * @brief Called when a drag is responded to with an accept or deny.
*
- * @param data Application specific data
- * @param obj The object where the drag started
- * @param doaccept A boolean as to if the target accepts the drag or not
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] obj The object where the drag started
+ * @param[in] doaccept The boolean value that indicates whether the target accepts the drag
*/
typedef void (*Elm_Drag_Accept) (void *data, Evas_Object *obj, Eina_Bool doaccept);
/**
- * Callback called when a drag is over an object, and gives object-relative coordinates
- *
- * @param data Application specific data
- * @param obj The object where the drag started
- * @param x The X coordinate relative to the top-left of the object
- * @param y The Y coordinate relative to the top-left of the object
+ * @brief Called when a drag is over an object, and gives object-relative coordinates.
+ *
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] obj The object where the drag started
+ * @param[in] x The X coordinate relative to the top-left corner of the object
+ * @param[in] y The Y coordinate relative to the top-left corner of the object
*/
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
+ * @brief 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
+ *
+ * @param[in] data The application specific data
+ * @param[in] obj The object where the drag started
*/
typedef void (*Elm_Drag_Start) (void *data, Evas_Object *obj);
/**
- * @brief Set copy data for a widget.
+ * @brief Sets the 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.
+ * @details This sets the copy data and takes ownership of the selection. Format is used for specifying the selection type,
+ * and this is used during pasting.
*
- * @param selection Selection type for copying and pasting
- * @param obj The source widget pointer
- * @param format Selection format
- * @param buf The data selected
- * @param buflen The size of @p buf
- * @return If @c EINA_TRUE, setting data was successful.
+ * @param[in] selection The selection type for copying and pasting
+ * @param[in] obj The source widget pointer
+ * @param[in] format The selection format
+ * @param[in] buf The data selected
+ * @param[in] buflen The size of @a buf
+ * @return @c EINA_TRUE if setting data is successful,
+ * otherwise @c EINA_FALSE
*
* @ingroup CopyPaste
*
@@ -219,22 +229,22 @@ EAPI Eina_Bool elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection,
const void *buf, size_t buflen);
/**
- * @brief Get data from a widget that has a selection.
+ * @brief Gets 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 @p datacb and @p udata can be NULL.
- * If a different widget is passed, @p datacb and @p udata are used for retrieving data.
- *
- * @see also elm_cnp_selection_set()
+ * @details This gets the current selection data from a widget.
+ * The widget input here is usually elm_entry,
+ * in which case @a datacb and @a udata can be @c NULL.
+ * If a different widget is passed, @a datacb and @a udata are used for retrieving data.
*
- * @param selection Selection type for copying and pasting
- * @param format Selection format
- * @param obj The source widget
- * @param datacb The user data callback if the target widget isn't elm_entry
- * @param udata The user data pointer for @p datacb
- * @return If @c EINA_TRUE, getting selection data was successful.
+ * @param[in] selection The selection type for copying and pasting
+ * @param[in] format The selection format
+ * @param[in] obj The source widget
+ * @param[in] datacb The user data callback if the target widget isn't elm_entry
+ * @param[in] udata The user data pointer for @a datacb
+ * @return @c EINA_TRUE if getting the selection data is successful,
+ * otherwise @c EINA_FALSE
*
+ * @see elm_cnp_selection_set()
* @ingroup CopyPaste
*/
EAPI Eina_Bool elm_cnp_selection_get(Evas_Object *obj, Elm_Sel_Type selection,
@@ -242,16 +252,16 @@ EAPI Eina_Bool elm_cnp_selection_get(Evas_Object *obj, Elm_Sel_Type selection,
Elm_Drop_Cb datacb, void *udata);
/**
- * @brief Clear the selection data of a widget.
+ * @brief Clears the selection data of a widget.
*
- * Clear all data from the selection which is owned by a widget.
+ * @details It clears all the data from the selection which is owned by a widget.
*
- * @see also elm_cnp_selection_set()
- *
- * @param obj The source widget
- * @param selection Selection type for copying and pasting
- * @return If @c EINA_TRUE, clearing data was successful.
+ * @param[in] obj The source widget
+ * @param[in] selection The selection type for copying and pasting
+ * @return @c EINA_TRUE if clearing data is successful,
+ * otherwise @c EINA_FALSE
*
+ * @see also elm_cnp_selection_set()
* @ingroup CopyPaste
*
*/
@@ -260,79 +270,81 @@ EAPI Eina_Bool elm_object_cnp_selection_clear(Evas_Object *obj,
/**
- * @brief Set a function to be called when a selection is lost
- *
- * The function @p func is set of be called when selection @p selection is lost
- * to another process or when elm_cnp_selection_set() is called. If @p func
- * is NULL then it is not called. @p data is passed as the data parameter to
- * the callback functions and selection is passed in as the selection that
- * has been lost.
+ * @brief Sets a function to be called when a selection is 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):
+ * @since 1.7
*
+ * @remarks The function @a func is set to be called when selection @a selection is lost
+ * to another process or when elm_cnp_selection_set() is called. If @a func
+ * is @c NULL then it is not called. @a data is passed as the data parameter to
+ * the callback functions and @a selection is passed in as the selection that
+ * has been lost.
+ *
+ * @remarks elm_cnp_selection_set() and elm_object_cnp_selection_clear() automatically
+ * set this callback to @c NULL when called. If you wish to take the selection
+ * and then be notified of loss please this (for example):
+ *
* @code
* 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);
* @endcode
*
- * @see also elm_cnp_selection_set()
*
- * @param obj The object to indicate the window target/display system.
- * @param selection Selection to be notified of for loss
- * @param func The function to call
- * @param data The data pointer passed to the function.
+ * @param[in] obj The object to indicate the window target/display system
+ * @param[in] selection The selection to be notified of loss
+ * @param[in] func The function to call
+ * @param[in] data The data pointer passed to the function
*
+ * @see also elm_cnp_selection_set()
* @ingroup CopyPaste
- *
- * @since 1.7
*/
EAPI void elm_cnp_selection_loss_callback_set(Evas_Object *obj, Elm_Sel_Type selection, Elm_Selection_Loss_Cb func, const void *data);
/**
- * @brief Set the given object as a target for drops for drag-and-drop
+ * @brief Sets the given object as a target for drops from drag-and-drop.
*
- * @param obj The target object
- * @param format The formats supported for dropping
- * @param entercb The function to call when the object is entered with a drag
- * @param enterdata The application data to pass to enterdata
- * @param leavecb The function to call when the object is left with a drag
- * @param leavedata The application data to pass to leavedata
- * @param poscb The function to call when the object has a drag over it
- * @param posdata The application data to pass to posdata
- * @param dropcb The function to call when a drop has occurred
- * @param dropdata The application data to pass to dropcb
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The target object
+ * @param[in] format The formats supported for dropping
+ * @param[in] entercb The function to call when the object is entered with a drag
+ * @param[in] enterdata The application data to pass to enterdata
+ * @param[in] leavecb The function to call when the object is left with a drag
+ * @param[in] leavedata The application data to pass to leavedata
+ * @param[in] poscb The function to call when the object has a drag over it
+ * @param[in] posdata The application data to pass to posdata
+ * @param[in] dropcb The function to call when a drop has occurred
+ * @param[in] dropdata The application data to pass to dropcb
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
-EAPI Eina_Bool elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format format,
+EAPI 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);
/**
- * @brief Deletes the drop target status of an object
+ * @brief Deletes the drop target status of an object.
*
- * @param obj The target object
- * @param format The formats supported for dropping
- * @param entercb The function to call when the object is entered with a drag
- * @param enterdata The application data to pass to enterdata
- * @param leavecb The function to call when the object is left with a drag
- * @param leavedata The application data to pass to leavedata
- * @param poscb The function to call when the object has a drag over it
- * @param posdata The application data to pass to posdata
- * @param dropcb The function to call when a drop has occurred
- * @param dropdata The application data to pass to dropcb
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The target object
+ * @param[in] format The formats supported for dropping
+ * @param[in] entercb The function to call when the object is entered with a drag
+ * @param[in] enterdata The application data to pass to @a enterdata
+ * @param[in] leavecb The function to call when the object is left with a drag
+ * @param[in] leavedata The application data to pass to @a leavedata
+ * @param[in] poscb The function to call when the object has a drag over it
+ * @param[in] posdata The application data to pass to @a posdata
+ * @param[in] dropcb The function to call when a drop has occurred
+ * @param[in] dropdata The application data to pass to @a dropcb
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
EAPI Eina_Bool elm_drop_target_del(Evas_Object *obj, Elm_Sel_Format format,
Elm_Drag_State entercb, void *enterdata,
@@ -341,26 +353,27 @@ EAPI Eina_Bool elm_drop_target_del(Evas_Object *obj, Elm_Sel_Format format,
Elm_Drop_Cb dropcb, void *dropdata);
/**
- * @brief Begins a drag given a source object
+ * @brief Begins a drag given a source object is provided.
*
- * @param obj The source object
- * @param format The drag formats supported by the data
- * @param data The drag data itself (a string)
- * @param action The drag action to be done
- * @param createicon Function to call to create a drag object, or NULL if not wanted
- * @param createdata Application data passed to @p createicon
- * @param dragpos Function called with each position of the drag, x, y being screen coordinates if possible, and action being the current action.
- * @param dragdata Application data passed to @p dragpos
- * @param acceptcb Function called indicating if drop target accepts (or does not) the drop data while dragging
+ * @since 1.8
*
- * @param acceptdata Application data passed to @p acceptcb
- * @param dragdone Function to call when drag is done
- * @param donecbdata Application data to pass to @p dragdone
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @param[in] obj The source object
+ * @param[in] format The drag formats supported by the data
+ * @param[in] data The drag data itself (a string)
+ * @param[in] action The drag action to be done
+ * @param[in] createicon The function to call to create a drag object, otherwise @c NULL if not wanted
+ * @param[in] createdata The application data passed to @a createicon
+ * @param[in] dragpos The function called with each position of the drag, x, y being screen coordinates if possible, and @a action being the current action
+ * @param[in] dragdata The application data passed to @a dragpos
+ * @param[in] acceptcb The function called indicating if the drop target accepts (or does not) the drop data while dragging
+ *
+ * @param[in] acceptdata The application data passed to @a acceptcb
+ * @param[in] dragdone The function to call when drag is done
+ * @param[in] donecbdata The application data to pass to @a dragdone
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
* @ingroup CopyPaste
- *
- * @since 1.8
*/
EAPI Eina_Bool elm_drag_start(Evas_Object *obj, Elm_Sel_Format format,
const char *data, Elm_Xdnd_Action action,
@@ -371,74 +384,77 @@ EAPI Eina_Bool elm_drag_start(Evas_Object *obj, Elm_Sel_Format format,
Elm_Drag_State dragdone, void *donecbdata);
/**
- * @brief Cancels the current drag operation
+ * @brief Cancels the current drag operation.
+ *
+ * @since 1.9
*
- * It can only be initiated from the source window.
+ * @remarks It can only be initiated from the source window.
*
- * @param obj The source of the current drag.
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @param[in] obj The source of the current drag
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
* @ingroup CopyPaste
- *
- * @since 1.9
*/
EAPI Eina_Bool elm_drag_cancel(Evas_Object *obj);
/**
- * @brief Changes the current drag action
+ * @brief Changes the current drag action.
*
- * @param obj The source of a drag if a drag is underway
- * @param action The drag action to be done
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The source of a drag, if a drag is underway
+ * @param[in] action The drag action to be done
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
EAPI Eina_Bool elm_drag_action_set(Evas_Object *obj, Elm_Xdnd_Action action);
/**
- * Callback called when a drag is over an object
+ * @brief Called when a drag is over an object.
*
- * @param data Application specific data
- * @param cont The container object where the drag started
- * @param it The object item in container where mouse-over
- * @param x The X coordinate relative to the top-left of the object
- * @param y The Y coordinate relative to the top-left of the object
- * @param xposret Position relative to item (left (-1), middle (0), right (1)
- * @param yposret Position relative to item (upper (-1), middle (0), bottom (1)
- * @param action The drag action to be done
* @since 1.8
+ *
+ * @param[in] data The application specific data
+ * @param[in] cont The container object where the drag started
+ * @param[in] it The object item in the container where the mouse-over happened
+ * @param[in] x The X coordinate relative to the top-left corner of the object
+ * @param[in] y The Y coordinate relative to the top-left corner of the object
+ * @param[in] xposret The position relative to the item (left (-1), middle (0), right (1))
+ * @param[in] yposret The position relative to the item (upper (-1), middle (0), bottom (1))
+ * @param[in] action The drag action to be done
*/
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 invoked in when the selected data is 'dropped' on container.
+ * @brief Called when the selected data is 'dropped' on the container.
*
- * @param data Application specific data
- * @param obj The evas object where selected data is 'dropped'.
- * @param it The item in container where drop-cords
- * @param ev struct holding information about selected data
- * @param xposret Position relative to item (left (-1), middle (0), right (1)
- * @param yposret Position relative to item (upper (-1), middle (0), bottom (1)
+ * @param[in] data The application specific data
+ * @param[in] obj The evas object where the selected data is 'dropped'
+ * @param[in] it The item in the container where the drop-cords are present
+ * @param[in] ev The struct holding information about the selected data
+ * @param[in] xposret The position relative to the item (left (-1), middle (0), right (1))
+ * @param[in] yposret The position relative to the item (upper (-1), middle (0), bottom (1))
*/
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);
/**
- * Structure describing user information for the drag process.
+ * @brief The structure type describing user information for the drag process.
*
* @param format The drag formats supported by the data (output)
* @param data The drag data itself (a string) (output)
- * @param icons if value not NULL, play default anim (output)
+ * @param icons If the value is not @c NULL, play default anim (output)
* @param action The drag action to be done (output)
- * @param createicon Function to call to create a drag object, or NULL if not wanted (output)
- * @param createdata Application data passed to @p createicon (output)
- * @param dragpos Function called with each position of the drag, x, y being screen coordinates if possible, and action being the current action. (output)
- * @param dragdata Application data passed to @p dragpos (output)
- * @param acceptcb Function called indicating if drop target accepts (or does not) the drop data while dragging (output)
- * @param acceptdata Application data passed to @p acceptcb (output)
- * @param dragdone Function to call when drag is done (output)
- * @param donecbdata Application data to pass to @p dragdone (output)
+ * @param createicon The function to call to create a drag object, otherwise @c NULL if not wanted (output)
+ * @param createdata The application data passed to @a createicon (output)
+ * @param dragpos The function called with each position of the drag, x, y being screen coordinates if possible, and action being the current action (output)
+ * @param dragdata The application data passed to @a dragpos (output)
+ * @param acceptcb The function called indicating if the drop target accepts (or does not) the drop data while dragging (output)
+ * @param acceptdata The application data passed to @a acceptcb (output)
+ * @param dragdone The function to call when the drag is done (output)
+ * @param donecbdata The application data to pass to @a dragdone (output)
*/
typedef struct _Elm_Drag_User_Info Elm_Drag_User_Info;
@@ -461,11 +477,12 @@ struct _Elm_Drag_User_Info
};
/**
- * Callback invoked when starting to drag for a container.
+ * @brief Called when starting to drag for a container.
*
* @param obj The container object
- * @param it The Elm_Object_Item pointer where drag-start
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @param it The Elm_Object_Item pointer where the drag starts
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*/
typedef Eina_Bool (*Elm_Item_Container_Data_Get_Cb)(
Evas_Object *obj,
@@ -473,52 +490,55 @@ typedef Eina_Bool (*Elm_Item_Container_Data_Get_Cb)(
Elm_Drag_User_Info *info);
/**
- * @brief Set a item container (list, genlist, grid) as source of drag
+ * @brief Sets an item container (list, genlist, grid) as the source of the drag.
*
- * @param obj The container object.
- * @param tm_to_anim Time period to wait before start animation.
- * @param tm_to_drag Time period to wait before start dragging.
- * @param itemgetcb Callback to get Evas_Object pointer for item at (x,y)
- * @param data_get Callback to get drag info
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The container object
+ * @param[in] tm_to_anim The time period to wait before starting the animation
+ * @param[in] tm_to_drag The time period to wait before starting dragging
+ * @param[in] itemgetcb Callback to get the Evas_Object pointer for the item at (x,y)
+ * @param[in] data_get Callback to get drag information
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
EAPI 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);
/**
- * @brief Deletes a item container from drag-source list
+ * @brief Deletes a item container from the drag-source list.
*
- * @param obj The target object
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The target object
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
EAPI Eina_Bool elm_drag_item_container_del(Evas_Object *obj);
/**
- * @brief Set a item container (list, genlist, grid) as target for drop.
+ * @brief Sets an item container (list, genlist, grid) as the target for the drop.
+ *
+ * @since 1.8
*
- * @param obj The container object.
+ * @param obj The container object
* @param format The formats supported for dropping
- * @param itemgetcb Callback to get Evas_Object pointer for item at (x,y)
+ * @param itemgetcb Callback to get the Evas_Object pointer for the item at (x,y)
* @param entercb The function to call when the object is entered with a drag
- * @param enterdata The application data to pass to enterdata
+ * @param enterdata The application data to pass to @a enterdata
* @param leavecb The function to call when the object is left with a drag
- * @param leavedata The application data to pass to leavedata
+ * @param leavedata The application data to pass to @a leavedata
* @param poscb The function to call when the object has a drag over it
- * @param posdata The application data to pass to posdata
+ * @param posdata The application data to pass to @a posdata
* @param dropcb The function to call when a drop has occurred
- * @param dropdata The application data to pass to dropcb
- * @return Returns @c EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @param dropdata The application data to pass to @a dropcb
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
* @ingroup CopyPaste
- *
- * @since 1.8
*/
EAPI Eina_Bool elm_drop_item_container_add(Evas_Object *obj,
Elm_Sel_Format format,
@@ -529,17 +549,19 @@ EAPI Eina_Bool elm_drop_item_container_add(Evas_Object *obj,
Elm_Drop_Item_Container_Cb dropcb, void *dropdata);
/**
- * @brief Removes a container from list of drop targets.
+ * @brief Removes a container from the list of drop targets.
*
- * @param obj The container object
- * @return Returns EINA_TRUE, if successful, or @c EINA_FALSE if not.
+ * @since 1.8
*
- * @ingroup CopyPaste
+ * @param[in] obj The container object
+ * @return @c EINA_TRUE if successful,
+ * otherwise @c EINA_FALSE if not
*
- * @since 1.8
+ * @ingroup CopyPaste
*/
EAPI Eina_Bool elm_drop_item_container_del(Evas_Object *obj);
/**
* @}
*/
+#endif