* @note When Elementary is in desktop mode the thumbscroll(a.k.a.
* fingerscroll) won't work.
*
+ * To set/get/unset the content of the panel, you can use
+ * elm_object_content_set/get/unset APIs.
+ * Once the content object is set, a previously set one will be deleted.
+ * If you want to keep that old content object, use the
+ * elm_object_content_unset() function
+ *
* In @ref tutorial_scroller you'll find an example of how to use most of
* this API.
* @{
* If you want to keep that old content object, use the
* elm_scroller_content_unset() function.
*/
- EAPI void elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
/**
* @brief Get the content of the scroller widget
*
*
* @see elm_scroller_content_set()
*/
- EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the content of the scroller widget
*
*
* @see elm_scroller_content_set()
*/
- EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Set custom theme elements for the scroller
*
* @see elm_scroller_propagate_events_set()
*/
EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
-
/**
* @brief Set scrolling gravity on a scroller
*
* also span multiple columns or rows - even overlap (and then be raised or
* lowered accordingly to adjust stacking if they do overlap).
*
+ * For a Table widget the row/column count is not fixed.
+ * The table widget adjusts itself when subobjects are added to it dynamically.
+ *
* The followin are examples of how to use a table:
* @li @ref tutorial_table_01
* @li @ref tutorial_table_02
*
* @section Gengrid_Layouts Gengrid layouts
*
- * Gengrids may layout its items in one of two possible layouts:
+ * Gengrid may layout its items in one of two possible layouts:
* - horizontal or
* - vertical.
*
*/
EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+ /**
+ * Insert an item in a gengrid widget using a user-defined sort function.
+ *
+ * @param obj The gengrid object.
+ * @param gic The item class for the item.
+ * @param data The item data.
+ * @param comp User defined comparison function that defines the sort order based on
+ * Elm_Gen_Item and its data param.
+ * @param func Convenience function called when the item is selected.
+ * @param func_data Data to be passed to @p func.
+ * @return A handle to the item added or @c NULL, on errors.
+ *
+ * This inserts an item in the gengrid based on user defined comparison function.
+ *
+ * @see elm_gengrid_item_append()
+ * @see elm_gengrid_item_prepend()
+ * @see elm_gengrid_item_insert_after()
+ * @see elm_gengrid_item_del()
+ * @see elm_gengrid_item_direct_sorted_insert()
+ *
+ * @ingroup Gengrid
+ */
EAPI Elm_Gengrid_Item *elm_gengrid_item_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+ /**
+ * Insert an item in a gengrid widget using a user-defined sort function.
+ *
+ * @param obj The gengrid object.
+ * @param gic The item class for the item.
+ * @param data The item data.
+ * @param comp User defined comparison function that defines the sort order based on
+ * Elm_Gen_Item.
+ * @param func Convenience function called when the item is selected.
+ * @param func_data Data to be passed to @p func.
+ * @return A handle to the item added or @c NULL, on errors.
+ *
+ * This inserts an item in the gengrid based on user defined comparison function.
+ *
+ * @see elm_gengrid_item_append()
+ * @see elm_gengrid_item_prepend()
+ * @see elm_gengrid_item_insert_after()
+ * @see elm_gengrid_item_del()
+ * @see elm_gengrid_item_sorted_insert()
+ *
+ * @ingroup Gengrid
+ */
EAPI Elm_Gengrid_Item *elm_gengrid_item_direct_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
/**
* @param multi @c EINA_TRUE, to enable multi-selection,
* @c EINA_FALSE to disable it.
*
- * Multi-selection is the ability for one to have @b more than one
+ * Multi-selection is the ability to have @b more than one
* item selected, on a given gengrid, simultaneously. When it is
* enabled, a sequence of clicks on different items will make them
* all selected, progressively. A click on an already selected item
- * will unselect it. If interecting via the keyboard,
+ * will unselect it. If interacting via the keyboard,
* multi-selection is enabled while holding the "Shift" key.
*
* @note By default, multi-selection is @b disabled on gengrids
EINA_DEPRECATED EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1);
/**
- * Set for what direction a given gengrid widget will expand while
+ * Set the direction in which a given gengrid widget will expand while
* placing its items.
*
* @param obj The gengrid object.
EINA_DEPRECATED EAPI Evas_Object *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
/**
- * Remove a gengrid item from the its parent, deleting it.
+ * Remove a gengrid item from its parent, deleting it.
*
* @param item The item to be removed.
* @return @c EINA_TRUE on success or @c EINA_FALSE, otherwise.
*
* This updates an item by calling all the item class functions
* again to get the contents, labels and states. Use this when the
- * original item data has changed and you want thta changes to be
+ * original item data has changed and you want the changes to be
* reflected.
*
* @ingroup Gengrid
*/
EAPI void elm_gengrid_item_update(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the Gengrid Item class for the given Gengrid Item.
+ *
+ * @param item The gengrid item
+ *
+ * This returns the Gengrid_Item_Class for the given item. It can be used to examine
+ * the function pointers and item_style.
+ *
+ * @ingroup Gengrid
+ */
EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the Gengrid Item class for the given Gengrid Item.
+ *
+ * This sets the Gengrid_Item_Class for the given item. It can be used to examine
+ * the function pointers and item_style.
+ *
+ * @param item The gengrid item
+ * @param gic The gengrid item class describing the function pointers and the item style.
+ *
+ * @ingroup Gengrid
+ */
EAPI void elm_gengrid_item_item_class_set(Elm_Gengrid_Item *item, const Elm_Gengrid_Item_Class *gic) EINA_ARG_NONNULL(1, 2);
/**
* Return the data associated to a given gengrid item
*
* @param item The gengrid item.
- * @return the data associated to this item.
+ * @return the data associated with this item.
*
* This returns the @c data value passed on the
* elm_gengrid_item_append() and related item addition calls.
EAPI void *elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
/**
- * Set the data associated to a given gengrid item
+ * Set the data associated with a given gengrid item
*
* @param item The gengrid item
- * @param data The new data pointer to set on it
+ * @param data The data pointer to set on it
*
* This @b overrides the @c data value passed on the
* elm_gengrid_item_append() and related item addition calls. This
* function @b won't call elm_gengrid_item_update() automatically,
- * so you'd issue it afterwards if you want to hove the item
- * updated to reflect the that new data.
+ * so you'd issue it afterwards if you want to have the item
+ * updated to reflect the new data.
*
* @see elm_gengrid_item_data_get()
+ * @see elm_gengrid_item_update()
*
* @ingroup Gengrid
*/
* gengrid's grid area.
*
* @param item The Gengrid item.
- * @param x Pointer to variable where to store the item's <b>row
- * number</b>.
- * @param y Pointer to variable where to store the item's <b>column
- * number</b>.
+ * @param x Pointer to variable to store the item's <b>row number</b>.
+ * @param y Pointer to variable to store the item's <b>column number</b>.
*
- * This returns the "logical" position of the item whithin the
+ * This returns the "logical" position of the item within the
* gengrid. For example, @c (0, 1) would stand for first row,
* second column.
*
* @param selected Use @c EINA_TRUE, to make it selected, @c
* EINA_FALSE to make it unselected
*
- * This sets the selected state of an item. If multi selection is
+ * This sets the selected state of an item. If multi-selection is
* not enabled on the containing gengrid and @p selected is @c
* EINA_TRUE, any other previously selected items will get
* unselected in favor of this new one.
* @param item The gengrid item
* @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
*
+ * This API returns EINA_TRUE for all the items selected in multi-select mode as well.
+ *
* @see elm_gengrid_item_selected_set() for more details
*
* @ingroup Gengrid
EAPI void elm_gengrid_item_show(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
/**
- * Animatedly bring in, to the visible are of a gengrid, a given
+ * Animatedly bring in, to the visible area of a gengrid, a given
* item on it.
*
* @param item The gengrid item to display
*
- * This causes gengrig to jump to the given @p item item and show
+ * This causes gengrid to jump to the given @p item and show
* it (by scrolling), if it is not fully visible. This will use
* animation to do so and take a period of time to complete.
*
EAPI void elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) EINA_ARG_NONNULL(1);
/**
- * Set the content to be shown in a given gengrid item's tooltips
+ * Set the content to be shown in a given gengrid item's tooltip
*
* @param item The gengrid item.
* @param func The function returning the tooltip contents.
*
* This function sets the content shown on the middle of the bubble.
*/
- EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the content shown in the bubble
*
* @param obj The bubble object
* @return The content that is being used
*/
- EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the content shown in the bubble
*
* @param obj The bubble object
* @return The content that was being used
*/
- EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the icon of the bubble
*
ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimun size to fit all the items. */
ELM_TOOLBAR_SHRINK_HIDE, /**< Hide exceeding items. */
ELM_TOOLBAR_SHRINK_SCROLL, /**< Allow accessing exceeding items through a scroller. */
- ELM_TOOLBAR_SHRINK_MENU /**< Inserts a button to pop up a menu with exceeding items. */
+ ELM_TOOLBAR_SHRINK_MENU, /**< Inserts a button to pop up a menu with exceeding items. */
+ ELM_TOOLBAR_SHRINK_LAST /**< Indicates error if returned by elm_toolbar_shrink_mode_get() */
} Elm_Toolbar_Shrink_Mode;
typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item. Can be created with elm_toolbar_item_append(), elm_toolbar_item_prepend() and functions to add items in relative positions, like elm_toolbar_item_insert_before(), and deleted with elm_toolbar_item_del(). */
* By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
* @ingroup Toolbar
*/
- EAPI void elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+
+ /**
+ * Change a toolbar's orientation
+ * @param obj The toolbar object
+ * @param horizontal If @c EINA_TRUE, the toolbar is horizontal
+ * By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
+ * @ingroup Toolbar
+ */
+ EAPI void elm_toolbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
/**
* Get a toolbar's orientation
* By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
* @ingroup Toolbar
*/
- EAPI Eina_Bool elm_toolbar_orientation_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_toolbar_orientation_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
+ * Get a toolbar's orientation
+ * @param obj The toolbar object
+ * @return If @c EINA_TRUE, the toolbar is horizontal
+ * By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
+ * @ingroup Toolbar
+ */
+ EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
+ /**
* @}
*/
* cursors, also use ones coming from Edje theming files. Both
* globally and per widget, Elementary makes it possible for one to
* make the cursors lookup to be held on engines only or on
- * Elementary's theme file, too.
+ * Elementary's theme file, too. To set cursor's hot spot,
+ * two data items should be added to cursor's theme: "hot_x" and
+ * "hot_y", that are the offset from upper-left corner of the cursor
+ * (coordinates 0,0).
*
* @{
*/
* Available styles for it:
* - @c "default"
*
+ * Default contents parts of the slider widget that you can use for are:
+ * @li "elm.swallow.icon" - A icon of the slider
+ * @li "elm.swallow.end" - A end part content of the slider
+ *
* Here is an example on its usage:
* @li @ref slider_example
*/
+#define ELM_SLIDER_CONTENT_ICON "elm.swallow.icon"
+#define ELM_SLIDER_CONTENT_END "elm.swallow.end"
+
/**
* @addtogroup Slider
* @{
*
* @ingroup Slider
*/
- EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* Unset an icon set on a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Retrieve the icon object set for a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the end object of the slider object.
*
* @ingroup Slider
*/
- EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
/**
* Unset an end object set on a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Retrieve the end object set for a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the (exact) length of the bar region of a given slider widget.
* @li changed - This is called whenever the user changes the state of one of
* the radio objects within the group of radio objects that work together.
*
+ * Default contents parts of the radio widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the radio
+ *
* @ref tutorial_radio show most of this API in action.
* @{
*/
* want to keep that old content object, use the elm_radio_icon_unset()
* function.
*/
- EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* @brief Get the icon object of the radio object
*
*
* @see elm_radio_icon_set()
*/
- EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the icon used for the radio object
*
*
* @see elm_radio_icon_set()
*/
- EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Add this radio to a group of other radio objects
*
* - @c "wheel" (simple style, no text, no progression, only
* "pulse" effect is available)
*
+ * Default contents parts of the progressbar widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the progressbar
+ *
* Here is an example on its usage:
* @li @ref progressbar_example
*/
*
* @ingroup Progressbar
*/
- EAPI void elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* Retrieve the icon object set for a given progress bar widget
*
* @ingroup Progressbar
*/
- EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset an icon set on a given progress bar widget
*
* @ingroup Progressbar
*/
- EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the (exact) length of the bar region of a given progress bar
* "prev,clicked" - the user clicked the prev button.
* "rewind,clicked" - the user clicked the rewind button.
* "stop,clicked" - the user clicked the stop button.
+ *
+ * To set the video of the player, you can use elm_object_content_set() API.
+ *
*/
/**
*
* This function inserts a new player widget on the canvas.
*
- * @see elm_player_video_set()
+ * @see elm_object_content_set()
*
* @ingroup Video
*/
*
* @ingroup Video
*/
- EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+ EINA_DEPRECATED EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
/**
* @brief Add a new Elm_Video object to the given parent Elementary (container) object.
*
* @ingroup Video
*/
- EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video);
+ EAPI Evas_Object *elm_video_emotion_get(const Evas_Object *video);
/**
* @brief Start to play the video
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+ EAPI Eina_Bool elm_video_is_playing(const Evas_Object *video);
/**
* @brief Is it possible to seek inside the video.
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video);
+ EAPI Eina_Bool elm_video_is_seekable(const Evas_Object *video);
/**
* @brief Is the audio muted.
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
+ EAPI Eina_Bool elm_video_audio_mute_get(const Evas_Object *video);
/**
* @brief Change the mute state of the Elm_Video object.
*
* @ingroup Video
*/
- EAPI double elm_video_audio_level_get(Evas_Object *video);
+ EAPI double elm_video_audio_level_get(const Evas_Object *video);
/**
* @brief Set the audio level of anElm_Video object.
*/
EAPI void elm_video_audio_level_set(Evas_Object *video, double volume);
- EAPI double elm_video_play_position_get(Evas_Object *video);
+ EAPI double elm_video_play_position_get(const Evas_Object *video);
EAPI void elm_video_play_position_set(Evas_Object *video, double position);
- EAPI double elm_video_play_length_get(Evas_Object *video);
+ EAPI double elm_video_play_length_get(const Evas_Object *video);
EAPI void elm_video_remember_position_set(Evas_Object *video, Eina_Bool remember);
- EAPI Eina_Bool elm_video_remember_position_get(Evas_Object *video);
- EAPI const char *elm_video_title_get(Evas_Object *video);
+ EAPI Eina_Bool elm_video_remember_position_get(const Evas_Object *video);
+ EAPI const char *elm_video_title_get(const Evas_Object *video);
/**
* @}
*/