X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2FElementary.h.in;h=806ef107f2e0395448f7e299fe71e4e9ac6930f7;hb=1989b9fa5abc03c489ee536672e1f4f4cf97aef9;hp=2653a9e08e174fd7edc74c8a1120aa243315c205;hpb=e1f1c2005bf26683af0eec365baa2fb75aa9ef70;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 2653a9e..806ef10 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -29,8 +29,7 @@ of flexibility. One can divide Elemementary into three main groups: @li @ref infralist - These are modules that deal with Elementary as a whole. @li @ref widgetslist - These are the widgets you'll compose your UI out of. -@li @ref containerslist - These are the containers in which the widgets will be - layouted. +@li @ref containerslist - These are the containers which hold the widgets. @section license License @@ -492,6 +491,12 @@ extern "C" { EAPI extern int ELM_ECORE_EVENT_ETHUMB_CONNECT; /** + * Emitted when the application has reconfigured elementary settings due + * to an external configuration tool asking it to. + */ + EAPI extern int ELM_EVENT_CONFIG_ALL_CHANGED; + + /** * Emitted when any Elementary's policy value is changed. */ EAPI extern int ELM_EVENT_POLICY_CHANGED; @@ -681,8 +686,8 @@ extern "C" { * @see elm_init() for an example. There, just after a request to * close the window comes, the main loop will be left. * - * @note By using the #ELM_POLICY_QUIT on your Elementary - * applications, you'll this function called automatically for you. + * @note By using the appropriate #ELM_POLICY_QUIT on your Elementary + * applications, you'll be able to get this function called automatically for you. * * @ingroup General */ @@ -744,7 +749,7 @@ extern "C" { * shared data directory for data files. For example, if the system * directory is @c /usr/local/share, then this directory name is * appended, creating @c /usr/local/share/myapp, if it @p was @c - * "myapp". It is expected the application installs data files in + * "myapp". It is expected that the application installs data files in * this directory. * * The @p checkfile is a file name or path of something inside the @@ -768,7 +773,7 @@ extern "C" { /** * Provide information on the @b fallback application's binaries - * directory, on scenarios where they get overriden by + * directory, in scenarios where they get overriden by * elm_app_info_set(). * * @param dir The path to the default binaries directory (compile time @@ -838,7 +843,7 @@ extern "C" { * elm_app_info_set() and the way (environment) the application was * run from. * - * @return The directory prefix the application is actually using + * @return The directory prefix the application is actually using. */ EAPI const char *elm_app_prefix_dir_get(void); @@ -848,7 +853,7 @@ extern "C" { * was run from. * * @return The binaries directory prefix the application is actually - * using + * using. */ EAPI const char *elm_app_bin_dir_get(void); @@ -858,7 +863,7 @@ extern "C" { * was run from. * * @return The libraries directory prefix the application is actually - * using + * using. */ EAPI const char *elm_app_lib_dir_get(void); @@ -868,7 +873,7 @@ extern "C" { * was run from. * * @return The data directory prefix the application is actually - * using + * using. */ EAPI const char *elm_app_data_dir_get(void); @@ -878,7 +883,7 @@ extern "C" { * was run from. * * @return The locale directory prefix the application is actually - * using + * using. */ EAPI const char *elm_app_locale_dir_get(void); @@ -899,7 +904,7 @@ extern "C" { EAPI Eina_Bool elm_need_e_dbus(void); /** - * This must be called before any other function that handle with + * This must be called before any other function that deals with * elm_thumb objects or ethumb_client instances. * * @ingroup Thumb @@ -907,7 +912,7 @@ extern "C" { EAPI Eina_Bool elm_need_ethumb(void); /** - * This must be called before any other function that handle with + * This must be called before any other function that deals with * elm_web objects or ewk_view instances. * * @ingroup Web @@ -937,7 +942,7 @@ extern "C" { EAPI Eina_Bool elm_policy_set(unsigned int policy, int value); /** - * Gets the policy value set for given policy identifier. + * Gets the policy value for given policy identifier. * * @param policy policy identifier, as in #Elm_Policy. * @return The currently set policy value, for that @@ -948,6 +953,27 @@ extern "C" { EAPI int elm_policy_get(unsigned int policy); /** + * Change the language of the current application + * + * The @p lang passed must be the full name of the locale to use, for + * example "en_US.utf8" or "es_ES@euro". + * + * Changing language with this function will make Elementary run through + * all its widgets, translating strings set with + * elm_object_domain_translatable_text_part_set(). This way, an entire + * UI can have its language changed without having to restart the program. + * + * For more complex cases, like having formatted strings that need + * translation, widgets will also emit a "language,changed" signal that + * the user can listen to to manually translate the text. + * + * @param lang Language to set, must be the full name of the locale + * + * @ingroup General + */ + EAPI void elm_language_set(const char *lang); + + /** * Set a label of an object * * @param obj The Elementary object @@ -978,6 +1004,53 @@ extern "C" { #define elm_object_text_get(obj) elm_object_text_part_get((obj), NULL) /** + * Set the text for an objects' part, marking it as translatable. + * + * The string to set as @p text must be the original one. Do not pass the + * return of @c gettext() here. Elementary will translate the string + * internally and set it on the object using elm_object_text_part_set(), + * also storing the original string so that it can be automatically + * translated when the language is changed with elm_language_set(). + * + * The @p domain will be stored along to find the translation in the + * correct catalog. It can be NULL, in which case it will use whatever + * domain was set by the application with @c textdomain(). This is useful + * in case you are building a library on top of Elementary that will have + * its own translatable strings, that should not be mixed with those of + * programs using the library. + * + * @param obj The object containing the text part + * @param part The name of the part to set + * @param domain The translation domain to use + * @param text The original, non-translated text to set + * + * @ingroup General + */ + EAPI void elm_object_domain_translatable_text_part_set(Evas_Object *obj, const char *part, const char *domain, const char *text); + +#define elm_object_domain_translatable_text_set(obj, domain, text) elm_object_domain_translatable_text_part_set((obj), NULL, (domain), (text)) + +#define elm_object_translatable_text_set(obj, text) elm_object_domain_translatable_text_part_set((obj), NULL, NULL, (text)) + + /** + * Gets the original string set as translatable for an object + * + * When setting translated strings, the function elm_object_text_part_get() + * will return the translation returned by @c gettext(). To get the + * original string use this function. + * + * @param obj The object + * @param part The name of the part that was set + * + * @return The original, untranslated string + * + * @ingroup General + */ + EAPI const char *elm_object_translatable_text_part_get(const Evas_Object *obj, const char *part); + +#define elm_object_translatable_text_get(obj) elm_object_translatable_text_part_get((obj), NULL) + + /** * Set a content of an object * * @param obj The Elementary object @@ -1022,6 +1095,18 @@ extern "C" { #define elm_object_content_unset(obj) elm_object_content_part_unset((obj), NULL) /** + * Get the widget object's handle which contains a given item + * + * @param item The Elementary object item + * @return The widget object + * + * @note This returns the widget object itself that an item belongs to. + * + * @ingroup General + */ + EAPI Evas_Object *elm_object_item_object_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1); + + /** * Set a content of an object item * * @param it The Elementary object item @@ -1066,7 +1151,7 @@ extern "C" { #define elm_object_item_content_unset(it) elm_object_item_content_part_unset((it), NULL) /** - * Set a label of an objec itemt + * Set a label of an object item * * @param it The Elementary object item * @param part The text part name to set (NULL for the default label) @@ -1081,7 +1166,7 @@ extern "C" { #define elm_object_item_text_set(it, label) elm_object_item_text_part_set((it), NULL, (label)) /** - * Get a label of an object + * Get a label of an object item * * @param it The Elementary object item * @param part The text part name to get (NULL for the default label) @@ -1093,6 +1178,8 @@ extern "C" { */ EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part); +#define elm_object_item_text_get(it) elm_object_item_text_part_get((it), NULL) + /** * Set the text to read out when in accessibility mode * @@ -1113,9 +1200,6 @@ extern "C" { */ EAPI void elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt); - -#define elm_object_item_text_get(it) elm_object_item_text_part_get((it), NULL) - /** * Get the data associated with an object item * @param it The object item @@ -1237,7 +1321,7 @@ extern "C" { /** * Set the configured cache flush enabled state * - * This sets the globally configured cache flush enabled state + * This sets the globally configured cache flush enabled state. * * @param size The cache flush enabled state * @ingroup Caches @@ -1261,7 +1345,7 @@ extern "C" { /** * Get the configured font cache size * - * This gets the globally configured font cache size, in bytes + * This gets the globally configured font cache size, in bytes. * * @return The font cache size * @ingroup Caches @@ -1889,6 +1973,7 @@ extern "C" { * @li "software_16_sdl" * @li "opengl_sdl" * @li "buffer" + * @li "ews" * * @{ */ @@ -2819,6 +2904,46 @@ extern "C" { EAPI void elm_scroll_thumbscroll_border_friction_all_set(double friction); /** + * Get the sensitivity amount which is be multiplied by the length of + * mouse dragging. + * + * @return the thumb scroll sensitivity friction + * + * @ingroup Scrolling + */ + EAPI double elm_scroll_thumbscroll_sensitivity_friction_get(void); + + /** + * Set the sensitivity amount which is be multiplied by the length of + * mouse dragging. + * + * @param friction the thumb scroll sensitivity friction. @c 0.1 for + * minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25 + * is proper. + * + * @see elm_thumbscroll_sensitivity_friction_get() + * @note parameter value will get bound to 0.1 - 1.0 interval, always + * + * @ingroup Scrolling + */ + EAPI void elm_scroll_thumbscroll_sensitivity_friction_set(double friction); + + /** + * Set the sensitivity amount which is be multiplied by the length of + * mouse dragging, for all Elementary application windows. + * + * @param friction the thumb scroll sensitivity friction. @c 0.1 for + * minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25 + * is proper. + * + * @see elm_thumbscroll_sensitivity_friction_get() + * @note parameter value will get bound to 0.1 - 1.0 interval, always + * + * @ingroup Scrolling + */ + EAPI void elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction); + + /** * @} */ @@ -3518,6 +3643,7 @@ extern "C" { * (Windows CE rendering via GDI with 16bit software renderer) * @li "sdl-16", "software-16-sdl", "software_16_sdl" (Rendering to SDL * buffer with 16bit software renderer) + * @li "ews" (rendering to EWS - Ecore + Evas Single Process Windowing System) * * All engines use a simple string to select the engine to render, EXCEPT * the "shot" engine. This actually encodes the output of the virtual @@ -3674,6 +3800,20 @@ extern "C" { */ EAPI Evas_Object *elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type); /** + * Adds a window object with standard setup + * + * @param name The name of the window + * @param title The title for the window + * + * This creates a window like elm_win_add() but also puts in a standard + * background with elm_bg_add(), as well as setting the window title to + * @p title. The window type created is of type ELM_WIN_BASIC, with NULL + * as the parent widget. + * + * @return The created object, or NULL on failure + */ + EAPI Evas_Object *elm_win_util_standard_add(const char *name, const char *title); + /** * Add @p subobj as a resize object of window @p obj. * * @@ -4651,7 +4791,7 @@ extern "C" { * * @param obj The icon object * @param file The path to file that will be used as icon image - * @param group The group that the icon belongs to in edje file + * @param group The group that the icon belongs to an edje file * * @return (@c EINA_TRUE = success, @c EINA_FALSE = error) * @@ -4684,8 +4824,8 @@ extern "C" { * Get the file that will be used as icon. * * @param obj The icon object - * @param file The path to file that will be used as icon icon image - * @param group The group that the icon belongs to in edje file + * @param file The path to file that will be used as the icon image + * @param group The group that the icon belongs to, in edje file * * @see elm_icon_file_set() * @@ -4734,7 +4874,7 @@ extern "C" { */ EAPI const char *elm_icon_standard_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** - * Set the smooth effect for an icon object. + * Set the smooth scaling for an icon object. * * @param obj The icon object * @param smooth @c EINA_TRUE if smooth scaling should be used, @c EINA_FALSE @@ -4754,7 +4894,7 @@ extern "C" { */ EAPI void elm_icon_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1); /** - * Get the smooth effect for an icon object. + * Get whether smooth scaling is enabled for an icon object. * * @param obj The icon object * @return @c EINA_TRUE if smooth scaling is enabled, @c EINA_FALSE otherwise. @@ -4950,11 +5090,11 @@ extern "C" { * @param anim @c EINA_TRUE if the object do animation job, * @c EINA_FALSE otherwise. Default is @c EINA_FALSE. * - * Even though elm icon's file can be animated, - * sometimes appication developer want to just first page of image. - * In that time, don't call this function, because default value is EINA_FALSE - * Only when you want icon support anition, - * use this function and set animated to EINA_TURE + * Since the default animation mode is set to EINA_FALSE, + * the icon is shown without animation. + * This might be desirable when the application developer wants to show + * a snapshot of the animated icon. + * Set it to EINA_TRUE when the icon needs to be animated. * @ingroup Icon */ EAPI void elm_icon_animated_set(Evas_Object *obj, Eina_Bool animated) EINA_ARG_NONNULL(1); @@ -4974,7 +5114,7 @@ extern "C" { * @param play @c EINA_TRUE the object play animation images, * @c EINA_FALSE otherwise. Default is @c EINA_FALSE. * - * If you want to play elm icon's animation, you set play to EINA_TURE. + * To play elm icon's animation, set play to EINA_TURE. * For example, you make gif player using this set/get API and click event. * * 1. Click event occurs @@ -4990,7 +5130,7 @@ extern "C" { * @param obj The icon object * @return The play mode of the icon object * - * @see elm_icon_animated_lay_get + * @see elm_icon_animated_play_get * @ingroup Icon */ EAPI Eina_Bool elm_icon_animated_play_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); @@ -5123,6 +5263,7 @@ extern "C" { * @ingroup Image */ EAPI Eina_Bool elm_image_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + /** * Gets the current size of the image. * @@ -5198,7 +5339,7 @@ extern "C" { */ EAPI void elm_image_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down) EINA_ARG_NONNULL(1); /** - * Set if the image fill the entire object area when keeping the aspect ratio. + * Set if the image fills the entire object area, when keeping the aspect ratio. * * @param obj The image object * @param fill_outside @c EINA_TRUE if the object is filled outside, @@ -5268,11 +5409,7 @@ extern "C" { * Set the image orientation. * * @param obj The image object - * @param orient The image orientation - * (one of #ELM_IMAGE_ORIENT_NONE, #ELM_IMAGE_ROTATE_90_CW, - * #ELM_IMAGE_ROTATE_180_CW, #ELM_IMAGE_ROTATE_90_CCW, - * #ELM_IMAGE_FLIP_HORIZONTAL, #ELM_IMAGE_FLIP_VERTICAL, - * #ELM_IMAGE_FLIP_TRANSPOSE, #ELM_IMAGE_FLIP_TRANSVERSE). + * @param orient The image orientation @ref Elm_Image_Orient * Default is #ELM_IMAGE_ORIENT_NONE. * * This function allows to rotate or flip the given image. @@ -5287,11 +5424,7 @@ extern "C" { * Get the image orientation. * * @param obj The image object - * @return The image orientation - * (one of #ELM_IMAGE_ORIENT_NONE, #ELM_IMAGE_ROTATE_90_CW, - * #ELM_IMAGE_ROTATE_180_CW, #ELM_IMAGE_ROTATE_90_CCW, - * #ELM_IMAGE_FLIP_HORIZONTAL, #ELM_IMAGE_FLIP_VERTICAL, - * #ELM_IMAGE_FLIP_TRANSPOSE, #ELM_IMAGE_FLIP_TRANSVERSE) + * @return The image orientation @ref Elm_Image_Orient * * @see elm_image_orient_set() * @see @ref Elm_Image_Orient @@ -5312,13 +5445,13 @@ extern "C" { */ EAPI void elm_image_editable_set(Evas_Object *obj, Eina_Bool set) EINA_ARG_NONNULL(1); /** - * Make the image 'editable'. + * Check if the image 'editable'. * * @param obj Image object. * @return Editability. * - * This means the image is a valid drag target for drag and drop, and can be - * cut or pasted too. + * A return value of EINA_TRUE means the image is a valid drag target + * for drag and drop, and can be cut or pasted too. * * @ingroup Image */ @@ -6070,7 +6203,7 @@ extern "C" { * @param obj The button object * @param icon The icon object for the button */ - EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); /** * Get the icon used for the button * @@ -6083,7 +6216,7 @@ extern "C" { * * @see elm_button_icon_unset() */ - EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Remove the icon set without deleting it and return the object * @@ -6095,7 +6228,7 @@ extern "C" { * @param obj The button object * @return The icon object that was being used */ - EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Turn on/off the autorepeat event generated when the button is kept pressed * @@ -6852,7 +6985,7 @@ extern "C" { * A scroller holds a single object and "scrolls it around". This means that * it allows the user to use a scrollbar (or a finger) to drag the viewable * region around, allowing to move through a much larger object that is - * contained in the scroller. The scroiller will always have a small minimum + * contained in the scroller. The scroller will always have a small minimum * size by default as it won't be limited by the contents of the scroller. * * Signals that you can add callbacks for are: @@ -7010,8 +7143,8 @@ extern "C" { * @brief Get the size of the content object * * @param obj The scroller object - * @param w Width return - * @param h Height return + * @param w Width of the content object. + * @param h Height of the content object. * * This gets the size of the content object of the scroller. */ @@ -7020,21 +7153,21 @@ extern "C" { * @brief Set bouncing behavior * * @param obj The scroller object - * @param h_bounce Will the scroller bounce horizontally or not - * @param v_bounce Will the scroller bounce vertically or not + * @param h_bounce Allow bounce horizontally + * @param v_bounce Allow bounce vertically * * When scrolling, the scroller may "bounce" when reaching an edge of the * content object. This is a visual way to indicate the end has been reached. - * This is enabled by default for both axis. This will set if it is enabled - * for that axis with the boolean parameters for each axis. + * This is enabled by default for both axis. This API will set if it is enabled + * for the given axis with the boolean parameters for each axis. */ EAPI void elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1); /** - * @brief Get the bounce mode + * @brief Get the bounce behaviour * * @param obj The Scroller object - * @param h_bounce Allow bounce horizontally - * @param v_bounce Allow bounce vertically + * @param h_bounce Will the scroller bounce horizontally or not + * @param v_bounce Will the scroller bounce vertically or not * * @see elm_scroller_bounce_set() */ @@ -7053,7 +7186,7 @@ extern "C" { * viewport" is size (horizontally or vertically). 0.0 turns it off in that * axis. This is mutually exclusive with page size * (see elm_scroller_page_size_set() for more information). Likewise 0.5 - * is "half a viewport". Sane usable valus are normally between 0.0 and 1.0 + * is "half a viewport". Sane usable values are normally between 0.0 and 1.0 * including 1.0. If you only want 1 axis to be page "limited", use 0.0 for * the other axis. */ @@ -7079,9 +7212,9 @@ extern "C" { * @param v_pagenumber The vertical page number * * The page number starts from 0. 0 is the first page. - * Current page means the page which meet the top-left of the viewport. - * If there are two or more pages in the viewport, it returns the number of page - * which meet the top-left of the viewport. + * Current page means the page which meets the top-left of the viewport. + * If there are two or more pages in the viewport, it returns the number of the page + * which meets the top-left of the viewport. * * @see elm_scroller_last_page_get() * @see elm_scroller_page_show() @@ -7178,7 +7311,7 @@ extern "C" { * This enables or disabled event propagation from the scroller content to * the scroller and its parent. By default event propagation is disabled. */ - EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation); + EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation) EINA_ARG_NONNULL(1); /** * @brief Get event propagation for a scroller * @@ -7189,7 +7322,40 @@ extern "C" { * * @see elm_scroller_propagate_events_set() */ - EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj); + EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + /** + * @brief Set scrolling gravity on a scroller + * + * @param obj The scroller object + * @param x The scrolling horizontal gravity + * @param y The scrolling vertical gravity + * + * The gravity, defines how the scroller will adjust its view + * when the size of the scroller contents increase. + * + * The scroller will adjust the view to glue itself as follows. + * + * x=0.0, for showing the left most region of the content. + * x=1.0, for showing the right most region of the content. + * y=0.0, for showing the bottom most region of the content. + * y=1.0, for showing the top most region of the content. + * + * Default values for x and y are 0.0 + */ + EAPI void elm_scroller_gravity_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1); + /** + * @brief Get scrolling gravity values for a scroller + * + * @param obj The scroller object + * @param x The scrolling horizontal gravity + * @param y The scrolling vertical gravity + * + * This gets gravity values for a scroller. + * + * @see elm_scroller_gravity_set() + * + */ + EAPI void elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1); /** * @} */ @@ -7220,6 +7386,9 @@ extern "C" { * Custom themes can of course invent new markup tags and style them any way * they like. * + * The following signals may be emitted by the label widget: + * @li "language,changed": The program's language changed. + * * See @ref tutorial_label for a demonstration of how to use a label widget. * @{ */ @@ -7421,6 +7590,16 @@ extern "C" { * @brief A toggle is a slider which can be used to toggle between * two values. It has two states: on and off. * + * This widget is deprecated. Please use elm_check_add() instead using the + * toggle style like: + * + * @code + * obj = elm_check_add(parent); + * elm_object_style_set(obj, "toggle"); + * elm_object_text_part_set(obj, "on", "ON"); + * elm_object_text_part_set(obj, "off", "OFF"); + * @endcode + * * Signals that you can add callbacks for are: * @li "changed" - Whenever the toggle value has been changed. Is not called * until the toggle is released by the cursor (assuming it @@ -7436,7 +7615,7 @@ extern "C" { * * @return The toggle object */ - EAPI Evas_Object *elm_toggle_add(Evas_Object *parent) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_toggle_add(Evas_Object *parent) EINA_ARG_NONNULL(1); /** * @brief Sets the label to be displayed with the toggle. * @@ -7464,8 +7643,10 @@ extern "C" { * Once the icon object is set, a previously set one will be deleted * If you want to keep that old content object, use the * elm_toggle_icon_unset() function. + * + * @deprecated use elm_check_icon_set() instead. */ - EAPI void elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); /** * @brief Get the icon used for the toggle * @@ -7475,8 +7656,10 @@ extern "C" { * Return the icon object which is set for this widget. * * @see elm_toggle_icon_set() + * + * @deprecated use elm_check_icon_get() instead. */ - EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * @brief Unset the icon used for the toggle * @@ -7486,45 +7669,60 @@ extern "C" { * Unparent and return the icon object which was set for this widget. * * @see elm_toggle_icon_set() + * + * @deprecated use elm_check_icon_unset() instead. */ - EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); /** * @brief Sets the labels to be associated with the on and off states of the toggle. * * @param obj The toggle object * @param onlabel The label displayed when the toggle is in the "on" state * @param offlabel The label displayed when the toggle is in the "off" state + * + * @deprecated use elm_object_text_part_set() for "on" and "off" parts + * instead. */ - EAPI void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) EINA_ARG_NONNULL(1); /** - * @brief Gets the labels associated with the on and off states of the toggle. + * @brief Gets the labels associated with the on and off states of the + * toggle. * * @param obj The toggle object * @param onlabel A char** to place the onlabel of @p obj into * @param offlabel A char** to place the offlabel of @p obj into + * + * @deprecated use elm_object_text_part_get() for "on" and "off" parts + * instead. */ - EAPI void elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1); /** * @brief Sets the state of the toggle to @p state. * * @param obj The toggle object * @param state The state of @p obj + * + * @deprecated use elm_check_state_set() instead. */ - EAPI void elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1); /** * @brief Gets the state of the toggle to @p state. * * @param obj The toggle object * @return The state of @p obj + * + * @deprecated use elm_check_state_get() instead. */ - EAPI Eina_Bool elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * @brief Sets the state pointer of the toggle to @p statep. * * @param obj The toggle object * @param statep The state pointer of @p obj + * + * @deprecated use elm_check_state_pointer_set() instead. */ - EAPI void elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1); /** * @} */ @@ -7735,6 +7933,47 @@ extern "C" { * @} */ + /* TEMPORARY: DOCS WILL BE FILLED IN WITH CNP/SED */ + typedef struct Elm_Gen_Item Elm_Gen_Item; + typedef struct _Elm_Gen_Item_Class Elm_Gen_Item_Class; + typedef struct _Elm_Gen_Item_Class_Func Elm_Gen_Item_Class_Func; /**< Class functions for gen item classes. */ + typedef char *(*Elm_Gen_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for gen item classes. */ + typedef Evas_Object *(*Elm_Gen_Item_Content_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Content(swallowed object) fetching class function for gen item classes. */ + typedef Eina_Bool (*Elm_Gen_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for gen item classes. */ + typedef void (*Elm_Gen_Item_Del_Cb) (void *data, Evas_Object *obj); /**< Deletion class function for gen item classes. */ + struct _Elm_Gen_Item_Class + { + const char *item_style; + struct _Elm_Gen_Item_Class_Func + { + Elm_Gen_Item_Label_Get_Cb label_get; + Elm_Gen_Item_Content_Get_Cb content_get; + Elm_Gen_Item_State_Get_Cb state_get; + Elm_Gen_Item_Del_Cb del; + } func; + }; + EAPI void elm_gen_clear(Evas_Object *obj); + EAPI void elm_gen_item_selected_set(Elm_Gen_Item *it, Eina_Bool selected); + EAPI Eina_Bool elm_gen_item_selected_get(const Elm_Gen_Item *it); + EAPI void elm_gen_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select); + EAPI Eina_Bool elm_gen_always_select_mode_get(const Evas_Object *obj); + EAPI void elm_gen_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select); + EAPI Eina_Bool elm_gen_no_select_mode_get(const Evas_Object *obj); + EAPI void elm_gen_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); + EAPI void elm_gen_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); + EAPI void elm_gen_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel); + EAPI void elm_gen_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel); + EAPI void elm_gen_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize); + EAPI void elm_gen_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber); + EAPI void elm_gen_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber); + EAPI void elm_gen_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber); + EAPI void elm_gen_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber); + EAPI Elm_Gen_Item *elm_gen_first_item_get(const Evas_Object *obj); + EAPI Elm_Gen_Item *elm_gen_last_item_get(const Evas_Object *obj); + EAPI Elm_Gen_Item *elm_gen_item_next_get(const Elm_Gen_Item *it); + EAPI Elm_Gen_Item *elm_gen_item_prev_get(const Elm_Gen_Item *it); + EAPI Evas_Object *elm_gen_item_widget_get(const Elm_Gen_Item *it); + /** * @defgroup Gengrid Gengrid (Generic grid) * @@ -7810,16 +8049,16 @@ extern "C" { * item's theme. This function @b must return a strdup'()ed string, * as the caller will free() it when done. See * #Elm_Gengrid_Item_Label_Get_Cb. - * - @c func.icon_get - This function is called when an item object + * - @c func.content_get - This function is called when an item object * is actually created. The @c data parameter will point to the * same data passed to elm_gengrid_item_append() and related item * creation functions. The @c obj parameter is the gengrid object * itself, while the @c part one is the name string of one of the - * existing (icon) swallow parts in the Edje group implementing the - * item's theme. It must return @c NULL, when no icon is desired, + * existing (content) swallow parts in the Edje group implementing the + * item's theme. It must return @c NULL, when no content is desired, * or a valid object handle, otherwise. The object will be deleted * by the gengrid on its deletion or when the item is "unrealized". - * See #Elm_Gengrid_Item_Icon_Get_Cb. + * See #Elm_Gengrid_Item_Content_Get_Cb. * - @c func.state_get - This function is called when an item * object is actually created. The @c data parameter will point to * the same data passed to elm_gengrid_item_append() and related @@ -7850,7 +8089,7 @@ extern "C" { * modified (added, deleted, selected or unselected) of child items * on a gengrid. * - * If an item changes (internal (boolean) state, label or icon + * If an item changes (internal (boolean) state, label or content * changes), then use elm_gengrid_item_update() to have gengrid * update the item with the new state. A gengrid will re-"realize" * the item, thus calling the functions in the @@ -7927,13 +8166,13 @@ extern "C" { * started. * - @c "scroll,drag,stop" - called when dragging the content has * stopped. - * - @c "scroll,edge,top" - This is called when the gengrid is scrolled until + * - @c "edge,top" - This is called when the gengrid is scrolled until * the top edge. - * - @c "scroll,edge,bottom" - This is called when the gengrid is scrolled + * - @c "edge,bottom" - This is called when the gengrid is scrolled * until the bottom edge. - * - @c "scroll,edge,left" - This is called when the gengrid is scrolled + * - @c "edge,left" - This is called when the gengrid is scrolled * until the left edge. - * - @c "scroll,edge,right" - This is called when the gengrid is scrolled + * - @c "edge,right" - This is called when the gengrid is scrolled * until the right edge. * * List of gengrid examples: @@ -7946,18 +8185,15 @@ extern "C" { */ typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class; /**< Gengrid item class definition structs */ - typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func; /**< Class functions for gengrid item classes. */ + #define Elm_Gengrid_Item_Class Elm_Gen_Item_Class typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Gengrid item handles */ + #define Elm_Gengrid_Item Elm_Gen_Item /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */ + typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func; /**< Class functions for gengrid item classes. */ typedef char *(*Elm_Gengrid_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for gengrid item classes. */ - typedef Evas_Object *(*Elm_Gengrid_Item_Icon_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Icon fetching class function for gengrid item classes. */ + typedef Evas_Object *(*Elm_Gengrid_Item_Content_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Content (swallowed object) fetching class function for gengrid item classes. */ typedef Eina_Bool (*Elm_Gengrid_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for gengrid item classes. */ typedef void (*Elm_Gengrid_Item_Del_Cb) (void *data, Evas_Object *obj); /**< Deletion class function for gengrid item classes. */ - typedef char *(*GridItemLabelGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Gengrid_Item_Label_Get_Cb. */ - typedef Evas_Object *(*GridItemIconGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Gengrid_Item_Icon_Get_Cb. */ - typedef Eina_Bool (*GridItemStateGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Gengrid_Item_State_Get_Cb. */ - typedef void (*GridItemDelFunc) (void *data, Evas_Object *obj) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Gengrid_Item_Del_Cb. */ - /** * @struct _Elm_Gengrid_Item_Class * @@ -7970,12 +8206,12 @@ extern "C" { struct _Elm_Gengrid_Item_Class_Func { Elm_Gengrid_Item_Label_Get_Cb label_get; - Elm_Gengrid_Item_Icon_Get_Cb icon_get; + Elm_Gengrid_Item_Content_Get_Cb content_get; Elm_Gengrid_Item_State_Get_Cb state_get; Elm_Gengrid_Item_Del_Cb del; } func; }; /**< #Elm_Gengrid_Item_Class member definitions */ - + #define Elm_Gengrid_Item_Class_Func Elm_Gen_Item_Class_Func /** * Add a new gengrid widget to the given parent Elementary * (container) object @@ -8259,7 +8495,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1); /** * Get whether items on a given gengrid widget have their selection @@ -8274,7 +8510,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Set whether items on a given gengrid widget can be selected or not. @@ -8292,7 +8528,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1); /** * Get whether items on a given gengrid widget can be selected or @@ -8306,7 +8542,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Eina_Bool elm_gengrid_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_gengrid_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Enable or disable multi-selection in a given gengrid widget @@ -8364,7 +8600,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1); /** * Get whether bouncing effects are enabled or disabled, for a @@ -8380,7 +8616,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1); /** * Set a given gengrid widget's scrolling page size, relative to @@ -8414,7 +8650,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1); /** * Get a given gengrid widget's scrolling page size, relative to @@ -8430,7 +8666,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel) EINA_ARG_NONNULL(1); /** * Set a given gengrid widget's scrolling page size @@ -8458,7 +8694,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1); /** * @brief Get gengrid current page number. @@ -8476,7 +8712,7 @@ extern "C" { * @see elm_gengrid_page_show() * @see elm_gengrid_page_brint_in() */ - EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); /** * @brief Get scroll last page number. @@ -8492,7 +8728,7 @@ extern "C" { * @see elm_gengrid_page_show() * @see elm_gengrid_page_brint_in() */ - EAPI void elm_gengrid_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber) EINA_ARG_NONNULL(1); /** * Show a specific virtual region within the gengrid content object by page number. @@ -8516,7 +8752,7 @@ extern "C" { * * @see elm_gengrid_page_bring_in() */ - EAPI void elm_gengrid_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1); /** * Show a specific virtual region within the gengrid content object by page number. @@ -8540,7 +8776,7 @@ extern "C" { * * @see elm_gengrid_page_show() */ - EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber) EINA_ARG_NONNULL(1); + 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 @@ -8592,7 +8828,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Get the last item in a given gengrid widget @@ -8608,7 +8844,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Get the @b next item in a gengrid widget's internal list of items, @@ -8625,7 +8861,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); /** * Get the @b previous item in a gengrid widget's internal list of items, @@ -8642,7 +8878,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); /** * Get the gengrid object's handle which contains a given gengrid @@ -8655,7 +8891,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Evas_Object *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); + 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. @@ -8676,7 +8912,7 @@ extern "C" { * @param item The gengrid item * * This updates an item by calling all the item class functions - * again to get the icons, labels and states. Use this when the + * again to get the contents, labels and states. Use this when the * original item data has changed and you want thta changes to be * reflected. * @@ -8754,7 +8990,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1); /** * Get whether a given gengrid item is selected or not @@ -8766,7 +9002,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1); /** * Get the real Evas object created to implement the view of a @@ -9109,7 +9345,7 @@ extern "C" { * * @ingroup Gengrid */ - EAPI void elm_gengrid_clear(Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_gengrid_clear(Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Get the selected item in a given gengrid widget @@ -9547,7 +9783,7 @@ extern "C" { * column or row span if necessary. * * Again, we could have this design by adding a @ref Table widget to the @c - * SWALLOW part using elm_layout_content_set(). The same difference happens + * SWALLOW part using elm_object_content_part_set(). The same difference happens * here when choosing to use the Layout Table (a @c TABLE part) instead of * the @ref Table plus @c SWALLOW part. It's just a matter of convenience. * @@ -9643,7 +9879,7 @@ extern "C" { * * 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_layout_content_unset() function. + * elm_object_content_part_unset() function. * * @note In an Edje theme, the part used as a content container is called @c * SWALLOW. This is why the parameter name is called @p swallow, but it is @@ -9651,13 +9887,13 @@ extern "C" { * elm_layout_box_append(). * * @see elm_layout_box_append() - * @see elm_layout_content_get() - * @see elm_layout_content_unset() + * @see elm_object_content_part_get() + * @see elm_object_content_part_unset() * @see @ref secBox * * @ingroup Layout */ - EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1); /** * Get the child object in the given content part. * @@ -9666,11 +9902,11 @@ extern "C" { * * @return The swallowed object or NULL if none or an error occurred * - * @see elm_layout_content_set() + * @see elm_object_content_part_set() * * @ingroup Layout */ - EAPI Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1); /** * Unset the layout content. * @@ -9680,11 +9916,11 @@ extern "C" { * * Unparent and return the content object which was set for this part. * - * @see elm_layout_content_set() + * @see elm_object_content_part_set() * * @ingroup Layout */ - EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1); /** * Set the text of the given part * @@ -9800,7 +10036,7 @@ extern "C" { * * The object will be removed from the box part and its lifetime will * not be handled by the layout anymore. This is equivalent to - * elm_layout_content_unset() for box. + * elm_object_content_part_unset() for box. * * @see elm_layout_box_append() * @see elm_layout_box_remove_all() @@ -9871,7 +10107,7 @@ extern "C" { * * The object will be unpacked from the table part and its lifetime * will not be handled by the layout anymore. This is equivalent to - * elm_layout_content_unset() for table. + * elm_object_content_part_unset() for table. * * @see elm_layout_table_pack() * @see elm_layout_table_clear() @@ -9908,7 +10144,7 @@ extern "C" { * * This returns the edje object. It is not expected to be used to then * swallow objects via edje_object_part_swallow() for example. Use - * elm_layout_content_set() instead so child object handling and sizing is + * elm_object_content_part_set() instead so child object handling and sizing is * done properly. * * @note This function should only be used if you really need to call some @@ -9919,7 +10155,7 @@ extern "C" { * @see elm_object_signal_callback_add() * @see elm_object_signal_emit() * @see elm_object_text_part_set() - * @see elm_layout_content_set() + * @see elm_object_content_part_set() * @see elm_layout_box_append() * @see elm_layout_table_pack() * @see elm_layout_data_get() @@ -10084,7 +10320,7 @@ extern "C" { #define elm_layout_icon_set(_ly, _obj) \ do { \ const char *sig; \ - elm_layout_content_set((_ly), "elm.swallow.icon", (_obj)); \ + elm_object_content_part_set((_ly), "elm.swallow.icon", (_obj)); \ if ((_obj)) sig = "elm,state,icon,visible"; \ else sig = "elm,state,icon,hidden"; \ elm_object_signal_emit((_ly), sig, "elm"); \ @@ -10098,7 +10334,7 @@ extern "C" { * @ingroup Layout */ #define elm_layout_icon_get(_ly) \ - elm_layout_content_get((_ly), "elm.swallow.icon") + elm_object_content_part_get((_ly), "elm.swallow.icon") /** * @def elm_layout_end_set @@ -10110,7 +10346,7 @@ extern "C" { #define elm_layout_end_set(_ly, _obj) \ do { \ const char *sig; \ - elm_layout_content_set((_ly), "elm.swallow.end", (_obj)); \ + elm_object_content_part_set((_ly), "elm.swallow.end", (_obj)); \ if ((_obj)) sig = "elm,state,end,visible"; \ else sig = "elm,state,end,hidden"; \ elm_object_signal_emit((_ly), sig, "elm"); \ @@ -10124,7 +10360,7 @@ extern "C" { * @ingroup Layout */ #define elm_layout_end_get(_ly) \ - elm_layout_content_get((_ly), "elm.swallow.end") + elm_object_content_part_get((_ly), "elm.swallow.end") /** * @def elm_layout_label_set @@ -10331,6 +10567,10 @@ extern "C" { * hover is clicked it is dismissed(hidden), if the contents of the hover are * clicked that @b doesn't cause the hover to be dismissed. * + * A Hover object has two parents. One parent that owns it during creation + * and the other parent being the one over which the hover object spans. + * + * * @note The hover object will take up the entire space of @p target * object. * @@ -10712,6 +10952,7 @@ extern "C" { * @li "anchor,down": Mouse button has been pressed on an anchor. The event_info * parameter for the callback will be an #Elm_Entry_Anchor_Info. * @li "preedit,changed": The preedit string has changed. + * @li "language,changed": Program language changed. * * @section entry-examples * @@ -11946,7 +12187,7 @@ extern "C" { /** * Get the style that the hover should use * - * Get the style the hover created by anchorblock will use. + * Get the style, the hover created by anchorblock will use. * * @param obj The anchorblock object * @return The style to use by the hover. NULL means the default is used. @@ -12024,11 +12265,11 @@ extern "C" { * @image html img/widget/bubble/preview-02.png * @image latex img/widget/bubble/preview-02.eps * - * @brief The Bubble is a widget to show text similarly to how speech is + * @brief The Bubble is a widget to show text similar to how speech is * represented in comics. * * The bubble widget contains 5 important visual elements: - * @li The frame is a rectangle with rounded rectangles and an "arrow". + * @li The frame is a rectangle with rounded edjes and an "arrow". * @li The @p icon is an image to which the frame's arrow points to. * @li The @p label is a text which appears to the right of the icon if the * corner is "top_left" or "bottom_left" and is right aligned to the frame @@ -12171,7 +12412,7 @@ extern "C" { * * This function sets the corner of the bubble. The corner will be used to * determine where the arrow in the frame points to and where label, icon and - * info arre shown. + * info are shown. * * Possible values for corner are: * @li "top_left" - Default @@ -12196,7 +12437,7 @@ extern "C" { /** * @defgroup Photo Photo * - * For displaying the photo of a person (contact). Simple yet + * For displaying the photo of a person (contact). Simple, yet * with a very specific purpose. * * Signals that you can add callbacks for are: @@ -12975,16 +13216,12 @@ extern "C" { /** * The possibles types that the items in a menu can be */ - typedef enum _Elm_Web_Menu_Item_Type Elm_Web_Menu_Item_Type; - /** - * The possibles types that the items in a menu can be - */ - enum _Elm_Web_Menu_Item_Type + typedef enum _Elm_Web_Menu_Item_Type { ELM_WEB_MENU_SEPARATOR, ELM_WEB_MENU_GROUP, ELM_WEB_MENU_OPTION - }; + } Elm_Web_Menu_Item_Type; /** * Structure describing the items in a menu @@ -13052,6 +13289,16 @@ extern "C" { }; /** + * Types of zoom available. + */ + typedef enum _Elm_Web_Zoom_Mode + { + ELM_WEB_ZOOM_MODE_MANUAL = 0, /**< Zoom controled normally by elm_web_zoom_set */ + ELM_WEB_ZOOM_MODE_AUTO_FIT, /**< Zoom until content fits in web object */ + ELM_WEB_ZOOM_MODE_AUTO_FILL, /**< Zoom until content fills web object */ + ELM_WEB_ZOOM_MODE_LAST + } Elm_Web_Zoom_Mode; + /** * Opaque handler containing the features (such as statusbar, menubar, etc) * that are to be set on a newly requested window. */ @@ -13161,7 +13408,7 @@ extern "C" { * * @see elm_web_dialog_file selector_hook_set() */ - typedef Evas_Object *(*Elm_Web_Dialog_File_Selector)(void *data, Evas_Object *obj, Eina_Bool allows_multiple, const char *accept_types, Eina_List **selected, Eina_Bool *ret); + typedef Evas_Object *(*Elm_Web_Dialog_File_Selector)(void *data, Evas_Object *obj, Eina_Bool allows_multiple, Eina_List *accept_types, Eina_List **selected, Eina_Bool *ret); /** * Callback type for the JS console message hook. * @@ -13596,27 +13843,81 @@ extern "C" { */ EAPI void elm_web_history_enable_set(Evas_Object *obj, Eina_Bool enable); /** - * Gets whether text-only zoom is set + * Sets the zoom level of the web object + * + * Zoom level matches the Webkit API, so 1.0 means normal zoom, with higher + * values meaning zoom in and lower meaning zoom out. This function will + * only affect the zoom level if the mode set with elm_web_zoom_mode_set() + * is ::ELM_WEB_ZOOM_MODE_MANUAL. * * @param obj The web object + * @param zoom The zoom level to set + */ + EAPI void elm_web_zoom_set(Evas_Object *obj, double zoom); + /** + * Gets the current zoom level set on the web object * - * @return EINA_TRUE if zoom is set to affect only text, EINA_FALSE - * otherwise + * Note that this is the zoom level set on the web object and not that + * of the underlying Webkit one. In the ::ELM_WEB_ZOOM_MODE_MANUAL mode, + * the two zoom levels should match, but for the other two modes the + * Webkit zoom is calculated internally to match the chosen mode without + * changing the zoom level set for the web object. + * + * @param obj The web object + * + * @return The zoom level set on the object + */ + EAPI double elm_web_zoom_get(const Evas_Object *obj); + /** + * Sets the zoom mode to use + * + * The modes can be any of those defined in ::Elm_Web_Zoom_Mode, except + * ::ELM_WEB_ZOOM_MODE_LAST. The default is ::ELM_WEB_ZOOM_MODE_MANUAL. + * + * ::ELM_WEB_ZOOM_MODE_MANUAL means the zoom level will be controlled + * with the elm_web_zoom_set() function. + * ::ELM_WEB_ZOOM_MODE_AUTO_FIT will calculate the needed zoom level to + * make sure the entirety of the web object's contents are shown. + * ::ELM_WEB_ZOOM_MODE_AUTO_FILL will calculate the needed zoom level to + * fit the contents in the web object's size, without leaving any space + * unused. + * + * @param obj The web object + * @param mode The mode to set + */ + EAPI void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode); + /** + * Gets the currently set zoom mode + * + * @param obj The web object + * + * @return The current zoom mode set for the object, or + * ::ELM_WEB_ZOOM_MODE_LAST on error + */ + EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj); + /** + * Shows the given region in the web object * - * @see elm_web_zoom_text_only_set() + * @param obj The web object + * @param x The x coordinate of the region to show + * @param y The y coordinate of the region to show + * @param w The width of the region to show + * @param h The height of the region to show */ - EAPI Eina_Bool elm_web_zoom_text_only_get(const Evas_Object *obj); + EAPI void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h); /** - * Enables or disables zoom to affect only text + * Brings in the region to the visible area * - * If set, then the zoom level set to the page will only be applied on text, - * leaving other objects, such as images, at their original size. + * Like elm_web_region_show(), but it animates the scrolling of the object + * to show the area * * @param obj The web object - * @param setting EINA_TRUE to use text-only zoom, EINA_FALSE to have zoom - * affect the entire page + * @param x The x coordinate of the region to show + * @param y The y coordinate of the region to show + * @param w The width of the region to show + * @param h The height of the region to show */ - EAPI void elm_web_zoom_text_only_set(Evas_Object *obj, Eina_Bool setting); + EAPI void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h); /** * Sets the default dialogs to use an Inwin instead of a normal window * @@ -13749,7 +14050,7 @@ extern "C" { * deleted, if you want to keep that old content object, use the * elm_hoversel_icon_unset() function. * - * @see elm_button_icon_set() + * @see elm_object_content_set() for the button widget */ EAPI void elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); /** @@ -13759,7 +14060,7 @@ extern "C" { * @return The icon object * * Get the icon of the button that is always visible (before it is clicked - * and expanded). Also see elm_button_icon_get(). + * and expanded). Also see elm_object_content_get() for the button widget. * * @see elm_hoversel_icon_set() */ @@ -13774,7 +14075,7 @@ extern "C" { * (before it is clicked and expanded). * * @see elm_hoversel_icon_set() - * @see elm_button_icon_unset() + * @see elm_object_content_unset() for the button widget */ EAPI Evas_Object *elm_hoversel_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); /** @@ -13941,6 +14242,7 @@ extern "C" { * * Smart callbacks one can listen to: * - "clicked" - when the user clicks on a toolbar item and becomes selected. + * - "language,changed" - when the program language changes * * Available styles for it: * - @c "default" @@ -14847,7 +15149,7 @@ extern "C" { * * @ingroup Toolbar */ - EAPI Evas_Object *elm_toolbar_item_menu_get(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1); + EAPI Evas_Object *elm_toolbar_item_menu_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1); /** * Add a new state to @p item. @@ -15215,6 +15517,8 @@ extern "C" { EAPI void elm_object_tooltip_show(Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_object_tooltip_hide(Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_object_tooltip_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1, 2); + EAPI void elm_object_tooltip_domain_translatable_text_set(Evas_Object *obj, const char *domain, const char *text) EINA_ARG_NONNULL(1, 3); +#define elm_object_tooltip_translatable_text_set(obj, text) elm_object_tooltip_domain_translatable_text_set((obj), NULL, (text)) EAPI void elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1); EAPI void elm_object_tooltip_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_object_tooltip_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1); @@ -15714,10 +16018,11 @@ extern "C" { * - "selected" - when the user selected an item * - "unselected" - when the user unselected an item * - "longpressed" - an item in the list is long-pressed - * - "scroll,edge,top" - the list is scrolled until the top edge - * - "scroll,edge,bottom" - the list is scrolled until the bottom edge - * - "scroll,edge,left" - the list is scrolled until the left edge - * - "scroll,edge,right" - the list is scrolled until the right edge + * - "edge,top" - the list is scrolled until the top edge + * - "edge,bottom" - the list is scrolled until the bottom edge + * - "edge,left" - the list is scrolled until the left edge + * - "edge,right" - the list is scrolled until the right edge + * - "language,changed" - the program's language changed * * Available styles for it: * - @c "default" @@ -17409,10 +17714,19 @@ extern "C" { * @image html img/widget/actionslider/preview-00.png * @image latex img/widget/actionslider/preview-00.eps * - * A actionslider is a switcher for 2 or 3 labels with customizable magnet - * properties. The indicator is the element the user drags to choose a label. - * When the position is set with magnet, when released the indicator will be - * moved to it if it's nearest the magnetized position. + * An actionslider is a switcher for 2 or 3 labels with customizable magnet + * properties. The user drags and releases the indicator, to choose a label. + * + * Labels occupy the following positions. + * a. Left + * b. Right + * c. Center + * + * Positions can be enabled or disabled. + * + * Magnets can be set on the above positions. + * + * When the indicator is released, it will move to its nearest "enabled and magnetized" position. * * @note By default all positions are set as enabled. * @@ -17569,10 +17883,6 @@ extern "C" { * - @c item_style - This is a constant string and simply defines the name * of the item style. It @b must be specified and the default should be @c * "default". - * - @c mode_item_style - This is a constant string and simply defines the - * name of the style that will be used for mode animations. It can be left - * as @c NULL if you don't plan to use Genlist mode. See - * elm_genlist_item_mode_set() for more info. * * - @c func - A struct with pointers to functions that will be called when * an item is going to be actually created. All of them receive a @c data @@ -17588,9 +17898,9 @@ extern "C" { * existing text parts in the Edje group implementing the item's theme. * This function @b must return a strdup'()ed string, as the caller will * free() it when done. See #Elm_Genlist_Item_Label_Get_Cb. - * - @c icon_get - The @c part parameter is the name string of one of the - * existing (icon) swallow parts in the Edje group implementing the item's - * theme. It must return @c NULL, when no icon is desired, or a valid + * - @c content_get - The @c part parameter is the name string of one of the + * existing (content) swallow parts in the Edje group implementing the item's + * theme. It must return @c NULL, when no content is desired, or a valid * object handle, otherwise. The object will be deleted by the genlist on * its deletion or when the item is "unrealized". See * #Elm_Genlist_Item_Icon_Get_Cb. @@ -17631,15 +17941,15 @@ extern "C" { * * An item in a genlist can have 0 or more text labels (they can be regular * text or textblock Evas objects - that's up to the style to determine), 0 - * or more icons (which are simply objects swallowed into the genlist item's + * or more contents (which are simply objects swallowed into the genlist item's * theming Edje object) and 0 or more boolean states, which have the * behavior left to the user to define. The Edje part names for each of * these properties will be looked up, in the theme file for the genlist, - * under the Edje (string) data items named @c "labels", @c "icons" and @c + * under the Edje (string) data items named @c "labels", @c "contents" and @c * "states", respectively. For each of those properties, if more than one * part is provided, they must have names listed separated by spaces in the * data fields. For the default genlist item theme, we have @b one label - * part (@c "elm.text"), @b two icon parts (@c "elm.swalllow.icon" and @c + * part (@c "elm.text"), @b two content parts (@c "elm.swalllow.icon" and @c * "elm.swallow.end") and @b no state parts. * * A genlist item may be at one of several styles. Elementary provides one @@ -17705,7 +18015,7 @@ extern "C" { * elm_genlist_item_data_get() returns the data pointer set by the item * creation functions. * - * If an item changes (state of boolean changes, label or icons change), + * If an item changes (state of boolean changes, label or contents change), * then use elm_genlist_item_update() to have genlist update the item with * the new state. Genlist will re-realize the item thus call the functions * in the _Elm_Genlist_Item_Class for that item. @@ -17808,7 +18118,7 @@ extern "C" { * caller to not use the object pointer from elm_genlist_item_object_get() * in a way where it may point to freed objects. * - @c "unrealized" - This is called just before an item is unrealized. - * After this call icon objects provided will be deleted and the item + * After this call content objects provided will be deleted and the item * object itself delete or be put into a floating cache. * - @c "drag,start,up" - This is called when the item in the list has been * dragged (not scrolled) up. @@ -17831,13 +18141,13 @@ extern "C" { * started. * - @c "scroll,drag,stop" - This is called when dragging the content has * stopped. - * - @c "scroll,edge,top" - This is called when the genlist is scrolled until + * - @c "edge,top" - This is called when the genlist is scrolled until * the top edge. - * - @c "scroll,edge,bottom" - This is called when the genlist is scrolled + * - @c "edge,bottom" - This is called when the genlist is scrolled * until the bottom edge. - * - @c "scroll,edge,left" - This is called when the genlist is scrolled + * - @c "edge,left" - This is called when the genlist is scrolled * until the left edge. - * - @c "scroll,edge,right" - This is called when the genlist is scrolled + * - @c "edge,right" - This is called when the genlist is scrolled * until the right edge. * - @c "multi,swipe,left" - This is called when the genlist is multi-touch * swiped left. @@ -17851,6 +18161,9 @@ extern "C" { * pinched out. "- @c multi,pinch,in" - This is called when the genlist is * multi-touch pinched in. * - @c "swipe" - This is called when the genlist is swiped. + * - @c "moved" - This is called when a genlist item is moved. + * - @c "language,changed" - This is called when the program's language is + * changed. * * @section Genlist_Examples Examples * @@ -17884,18 +18197,14 @@ extern "C" { ELM_GENLIST_ITEM_GROUP = (1 << 1) /**< index of a group of items */ } Elm_Genlist_Item_Flags; typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class; /**< Genlist item class definition structs */ + #define Elm_Genlist_Item_Class Elm_Gen_Item_Class typedef struct _Elm_Genlist_Item Elm_Genlist_Item; /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */ + #define Elm_Genlist_Item Elm_Gen_Item /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func; /**< Class functions for genlist item class */ typedef char *(*Elm_Genlist_Item_Label_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Label fetching class function for genlist item classes. */ - typedef Evas_Object *(*Elm_Genlist_Item_Icon_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Icon fetching class function for genlist item classes. */ + typedef Evas_Object *(*Elm_Genlist_Item_Content_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< Content (swallowed object) fetching class function for genlist item classes. */ typedef Eina_Bool (*Elm_Genlist_Item_State_Get_Cb) (void *data, Evas_Object *obj, const char *part); /**< State fetching class function for genlist item classes. */ typedef void (*Elm_Genlist_Item_Del_Cb) (void *data, Evas_Object *obj); /**< Deletion class function for genlist item classes. */ - typedef void (*GenlistItemMovedFunc) (Evas_Object *obj, Elm_Genlist_Item *item, Elm_Genlist_Item *rel_item, Eina_Bool move_after); /** TODO: remove this by SeoZ **/ - - typedef char *(*GenlistItemLabelGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Genlist_Item_Label_Get_Cb instead. */ - typedef Evas_Object *(*GenlistItemIconGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Genlist_Item_Icon_Get_Cb instead. */ - typedef Eina_Bool (*GenlistItemStateGetFunc) (void *data, Evas_Object *obj, const char *part) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Genlist_Item_State_Get_Cb instead. */ - typedef void (*GenlistItemDelFunc) (void *data, Evas_Object *obj) EINA_DEPRECATED; /** DEPRECATED. Use Elm_Genlist_Item_Del_Cb instead. */ /** * @struct _Elm_Genlist_Item_Class @@ -17910,17 +18219,15 @@ extern "C" { struct _Elm_Genlist_Item_Class { const char *item_style; /**< style of this class. */ - struct + struct Elm_Genlist_Item_Class_Func { Elm_Genlist_Item_Label_Get_Cb label_get; /**< Label fetching class function for genlist item classes.*/ - Elm_Genlist_Item_Icon_Get_Cb icon_get; /**< Icon fetching class function for genlist item classes. */ + Elm_Genlist_Item_Content_Get_Cb content_get; /**< Content fetching class function for genlist item classes. */ Elm_Genlist_Item_State_Get_Cb state_get; /**< State fetching class function for genlist item classes. */ Elm_Genlist_Item_Del_Cb del; /**< Deletion class function for genlist item classes. */ - GenlistItemMovedFunc moved; // TODO: do not use this. change this to smart callback. } func; - const char *mode_item_style; }; - + #define Elm_Genlist_Item_Class_Func Elm_Gen_Item_Class_Func /** * Add a new genlist widget to the given parent Elementary * (container) object @@ -17948,7 +18255,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Enable or disable multi-selection in the genlist * @@ -18027,7 +18334,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1); /** * Get the always select mode. * @@ -18039,7 +18346,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Eina_Bool elm_genlist_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_genlist_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Enable/disable the no select mode. * @@ -18054,7 +18361,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1); /** * Gets whether the no select mode is enabled. * @@ -18066,7 +18373,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Eina_Bool elm_genlist_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_genlist_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Enable/disable compress mode. * @@ -18148,7 +18455,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1); /** * Get whether the horizontal and vertical bouncing effect is enabled. * @@ -18162,7 +18469,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1); /** * Enable/disable homogenous mode. * @@ -18406,6 +18713,32 @@ extern "C" { */ EAPI const Eina_List *elm_genlist_selected_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** + * Get the mode item style of items in the genlist + * @param obj The genlist object + * @return The mode item style string, or NULL if none is specified + * + * This is a constant string and simply defines the name of the + * style that will be used for mode animations. It can be + * @c NULL if you don't plan to use Genlist mode. See + * elm_genlist_item_mode_set() for more info. + * + * @ingroup Genlist + */ + EAPI const char *elm_genlist_mode_item_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + /** + * Set the mode item style of items in the genlist + * @param obj The genlist object + * @param style The mode item style string, or NULL if none is desired + * + * This is a constant string and simply defines the name of the + * style that will be used for mode animations. It can be + * @c NULL if you don't plan to use Genlist mode. See + * elm_genlist_item_mode_set() for more info. + * + * @ingroup Genlist + */ + EAPI void elm_genlist_mode_item_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1); + /** * Get a list of realized items in genlist * * @param obj The genlist object @@ -18454,7 +18787,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Get the last item in the genlist * @@ -18464,7 +18797,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * Set the scrollbar policy * @@ -18512,7 +18845,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); /** * Get the @b previous item in a genlist widget's internal list of items, * given a handle to one of those items. @@ -18528,7 +18861,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); /** * Get the genlist object's handle which contains a given genlist * item @@ -18540,7 +18873,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Evas_Object *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Evas_Object *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); /** * Get the parent item of the given item * @@ -18583,7 +18916,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1); /** * Get whether a given genlist item is selected or not * @@ -18594,7 +18927,7 @@ extern "C" { * * @ingroup Genlist */ - EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); /** * Sets the expanded state of an item. * @@ -18856,7 +19189,8 @@ extern "C" { * * @ingroup Genlist */ - EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); + EAPI void elm_genlist_item_contents_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); /** * Get the real Evas object created to implement the view of a * given genlist item @@ -19377,6 +19711,9 @@ extern "C" { * elm_check_state_set(). */ EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_check_states_labels_set(Evas_Object *obj, const char *ontext, const char *offtext) EINA_ARG_NONNULL(1,2,3); + EINA_DEPRECATED EAPI void elm_check_states_labels_get(const Evas_Object *obj, const char **ontext, const char **offtext) EINA_ARG_NONNULL(1,2,3); + /** * @} */ @@ -19635,6 +19972,7 @@ extern "C" { * @return The top object or NULL if none */ EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + /** * @} */ @@ -23593,6 +23931,8 @@ extern "C" { * @ingroup Panes */ EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EAPI void elm_panes_fixed_set(Evas_Object *obj, Eina_Bool fixed) EINA_ARG_NONNULL(1); + EAPI Eina_Bool elm_panes_fixed_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** * @} @@ -26949,117 +27289,117 @@ extern "C" { * @} */ - typedef struct _Elm_Store Elm_Store; - typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem; - typedef struct _Elm_Store_Item Elm_Store_Item; - typedef struct _Elm_Store_Item_Filesystem Elm_Store_Item_Filesystem; - typedef struct _Elm_Store_Item_Info Elm_Store_Item_Info; - typedef struct _Elm_Store_Item_Info_Filesystem Elm_Store_Item_Info_Filesystem; - typedef struct _Elm_Store_Item_Mapping Elm_Store_Item_Mapping; - typedef struct _Elm_Store_Item_Mapping_Empty Elm_Store_Item_Mapping_Empty; - typedef struct _Elm_Store_Item_Mapping_Icon Elm_Store_Item_Mapping_Icon; - typedef struct _Elm_Store_Item_Mapping_Photo Elm_Store_Item_Mapping_Photo; - typedef struct _Elm_Store_Item_Mapping_Custom Elm_Store_Item_Mapping_Custom; - - typedef Eina_Bool (*Elm_Store_Item_List_Cb) (void *data, Elm_Store_Item_Info *info); - typedef void (*Elm_Store_Item_Fetch_Cb) (void *data, Elm_Store_Item *sti); - typedef void (*Elm_Store_Item_Unfetch_Cb) (void *data, Elm_Store_Item *sti); - typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part); - - typedef enum - { - ELM_STORE_ITEM_MAPPING_NONE = 0, - ELM_STORE_ITEM_MAPPING_LABEL, // const char * -> label - ELM_STORE_ITEM_MAPPING_STATE, // Eina_Bool -> state - ELM_STORE_ITEM_MAPPING_ICON, // char * -> icon path - ELM_STORE_ITEM_MAPPING_PHOTO, // char * -> photo path - ELM_STORE_ITEM_MAPPING_CUSTOM, // item->custom(it->data, it, part) -> void * (-> any) - // can add more here as needed by common apps - ELM_STORE_ITEM_MAPPING_LAST - } Elm_Store_Item_Mapping_Type; - - struct _Elm_Store_Item_Mapping_Icon - { - // FIXME: allow edje file icons - int w, h; - Elm_Icon_Lookup_Order lookup_order; - Eina_Bool standard_name : 1; - Eina_Bool no_scale : 1; - Eina_Bool smooth : 1; - Eina_Bool scale_up : 1; - Eina_Bool scale_down : 1; - }; + typedef struct _Elm_Store Elm_Store; + typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem; + typedef struct _Elm_Store_Item Elm_Store_Item; + typedef struct _Elm_Store_Item_Filesystem Elm_Store_Item_Filesystem; + typedef struct _Elm_Store_Item_Info Elm_Store_Item_Info; + typedef struct _Elm_Store_Item_Info_Filesystem Elm_Store_Item_Info_Filesystem; + typedef struct _Elm_Store_Item_Mapping Elm_Store_Item_Mapping; + typedef struct _Elm_Store_Item_Mapping_Empty Elm_Store_Item_Mapping_Empty; + typedef struct _Elm_Store_Item_Mapping_Icon Elm_Store_Item_Mapping_Icon; + typedef struct _Elm_Store_Item_Mapping_Photo Elm_Store_Item_Mapping_Photo; + typedef struct _Elm_Store_Item_Mapping_Custom Elm_Store_Item_Mapping_Custom; - struct _Elm_Store_Item_Mapping_Empty - { - Eina_Bool dummy; - }; + typedef Eina_Bool (*Elm_Store_Item_List_Cb) (void *data, Elm_Store_Item_Info *info); + typedef void (*Elm_Store_Item_Fetch_Cb) (void *data, Elm_Store_Item *sti); + typedef void (*Elm_Store_Item_Unfetch_Cb) (void *data, Elm_Store_Item *sti); + typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part); - struct _Elm_Store_Item_Mapping_Photo - { - int size; - }; + typedef enum + { + ELM_STORE_ITEM_MAPPING_NONE = 0, + ELM_STORE_ITEM_MAPPING_LABEL, // const char * -> label + ELM_STORE_ITEM_MAPPING_STATE, // Eina_Bool -> state + ELM_STORE_ITEM_MAPPING_ICON, // char * -> icon path + ELM_STORE_ITEM_MAPPING_PHOTO, // char * -> photo path + ELM_STORE_ITEM_MAPPING_CUSTOM, // item->custom(it->data, it, part) -> void * (-> any) + // can add more here as needed by common apps + ELM_STORE_ITEM_MAPPING_LAST + } Elm_Store_Item_Mapping_Type; + + struct _Elm_Store_Item_Mapping_Icon + { + // FIXME: allow edje file icons + int w, h; + Elm_Icon_Lookup_Order lookup_order; + Eina_Bool standard_name : 1; + Eina_Bool no_scale : 1; + Eina_Bool smooth : 1; + Eina_Bool scale_up : 1; + Eina_Bool scale_down : 1; + }; - struct _Elm_Store_Item_Mapping_Custom - { - Elm_Store_Item_Mapping_Cb func; - }; + struct _Elm_Store_Item_Mapping_Empty + { + Eina_Bool dummy; + }; - struct _Elm_Store_Item_Mapping - { - Elm_Store_Item_Mapping_Type type; - const char *part; - int offset; - union - { - Elm_Store_Item_Mapping_Empty empty; - Elm_Store_Item_Mapping_Icon icon; - Elm_Store_Item_Mapping_Photo photo; - Elm_Store_Item_Mapping_Custom custom; - // add more types here - } details; - }; + struct _Elm_Store_Item_Mapping_Photo + { + int size; + }; - struct _Elm_Store_Item_Info - { - Elm_Genlist_Item_Class *item_class; - const Elm_Store_Item_Mapping *mapping; - void *data; - char *sort_id; - }; + struct _Elm_Store_Item_Mapping_Custom + { + Elm_Store_Item_Mapping_Cb func; + }; - struct _Elm_Store_Item_Info_Filesystem - { - Elm_Store_Item_Info base; - char *path; - }; + struct _Elm_Store_Item_Mapping + { + Elm_Store_Item_Mapping_Type type; + const char *part; + int offset; + union + { + Elm_Store_Item_Mapping_Empty empty; + Elm_Store_Item_Mapping_Icon icon; + Elm_Store_Item_Mapping_Photo photo; + Elm_Store_Item_Mapping_Custom custom; + // add more types here + } details; + }; + + struct _Elm_Store_Item_Info + { + Elm_Genlist_Item_Class *item_class; + const Elm_Store_Item_Mapping *mapping; + void *data; + char *sort_id; + }; + + struct _Elm_Store_Item_Info_Filesystem + { + Elm_Store_Item_Info base; + char *path; + }; #define ELM_STORE_ITEM_MAPPING_END { ELM_STORE_ITEM_MAPPING_NONE, NULL, 0, { .empty = { EINA_TRUE } } } #define ELM_STORE_ITEM_MAPPING_OFFSET(st, it) offsetof(st, it) - EAPI void elm_store_free(Elm_Store *st); + EAPI void elm_store_free(Elm_Store *st); - EAPI Elm_Store *elm_store_filesystem_new(void); - EAPI void elm_store_filesystem_directory_set(Elm_Store *st, const char *dir) EINA_ARG_NONNULL(1); - EAPI const char *elm_store_filesystem_directory_get(const Elm_Store *st) EINA_ARG_NONNULL(1); - EAPI const char *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); + EAPI Elm_Store *elm_store_filesystem_new(void); + EAPI void elm_store_filesystem_directory_set(Elm_Store *st, const char *dir) EINA_ARG_NONNULL(1); + EAPI const char *elm_store_filesystem_directory_get(const Elm_Store *st) EINA_ARG_NONNULL(1); + EAPI const char *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); - EAPI void elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj) EINA_ARG_NONNULL(1); + EAPI void elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj) EINA_ARG_NONNULL(1); - EAPI void elm_store_cache_set(Elm_Store *st, int max) EINA_ARG_NONNULL(1); - EAPI int elm_store_cache_get(const Elm_Store *st) EINA_ARG_NONNULL(1); - EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); - EAPI void elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); - EAPI void elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread) EINA_ARG_NONNULL(1); - EAPI Eina_Bool elm_store_fetch_thread_get(const Elm_Store *st) EINA_ARG_NONNULL(1); + EAPI void elm_store_cache_set(Elm_Store *st, int max) EINA_ARG_NONNULL(1); + EAPI int elm_store_cache_get(const Elm_Store *st) EINA_ARG_NONNULL(1); + EAPI void elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); + EAPI void elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); + EAPI void elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread) EINA_ARG_NONNULL(1); + EAPI Eina_Bool elm_store_fetch_thread_get(const Elm_Store *st) EINA_ARG_NONNULL(1); - EAPI void elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); - EAPI void elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted) EINA_ARG_NONNULL(1); - EAPI Eina_Bool elm_store_sorted_get(const Elm_Store *st) EINA_ARG_NONNULL(1); - EAPI void elm_store_item_data_set(Elm_Store_Item *sti, void *data) EINA_ARG_NONNULL(1); - EAPI void *elm_store_item_data_get(Elm_Store_Item *sti) EINA_ARG_NONNULL(1); - EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); - EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); + EAPI void elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2); + EAPI void elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted) EINA_ARG_NONNULL(1); + EAPI Eina_Bool elm_store_sorted_get(const Elm_Store *st) EINA_ARG_NONNULL(1); + EAPI void elm_store_item_data_set(Elm_Store_Item *sti, void *data) EINA_ARG_NONNULL(1); + EAPI void *elm_store_item_data_get(Elm_Store_Item *sti) EINA_ARG_NONNULL(1); + EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); + EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1); /** * @defgroup SegmentControl SegmentControl @@ -27515,10 +27855,20 @@ extern "C" { /** * @defgroup Video Video * - * This object display an player that let you control an Elm_Video - * object. It take care of updating it's content according to what is - * going on inside the Emotion object. It does activate the remember - * function on the linked Elm_Video object. + * @addtogroup Video + * @{ + * + * Elementary comes with two object that help design application that need + * to display video. The main one, Elm_Video, display a video by using Emotion. + * It does embedded the video inside an Edje object, so you can do some + * animation depending on the video state change. It does also implement a + * ressource management policy to remove this burden from the application writer. + * + * The second one, Elm_Player is a video player that need to be linked with and Elm_Video. + * It take care of updating its content according to Emotion event and provide a + * way to theme itself. It also does automatically raise the priority of the + * linked Elm_Video so it will use the video decoder if available. It also does + * activate the remember function on the linked Elm_Video object. * * Signals that you can add callback for are : * @@ -27531,31 +27881,208 @@ extern "C" { * "rewind,clicked" - the user clicked the rewind button. * "stop,clicked" - the user clicked the stop button. */ + + /** + * @brief Add a new Elm_Player object to the given parent Elementary (container) object. + * + * @param parent The parent object + * @return a new player widget handle or @c NULL, on errors. + * + * This function inserts a new player widget on the canvas. + * + * @see elm_player_video_set() + * + * @ingroup Video + */ + EAPI Evas_Object *elm_player_add(Evas_Object *parent); + + /** + * @brief Link a Elm_Payer with an Elm_Video object. + * + * @param player the Elm_Player object. + * @param video The Elm_Video object. + * + * This mean that action on the player widget will affect the + * video object and the state of the video will be reflected in + * the player itself. + * + * @see elm_player_add() + * @see elm_video_add() + * + * @ingroup Video + */ + 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. + * + * @param parent The parent object + * @return a new video widget handle or @c NULL, on errors. + * + * This function inserts a new video widget on the canvas. + * + * @seeelm_video_file_set() + * @see elm_video_uri_set() + * + * @ingroup Video + */ EAPI Evas_Object *elm_video_add(Evas_Object *parent); + + /** + * @brief Define the file that will be the video source. + * + * @param video The video object to define the file for. + * @param filename The file to target. + * + * This function will explicitly define a filename as a source + * for the video of the Elm_Video object. + * + * @see elm_video_uri_set() + * @see elm_video_add() + * @see elm_player_add() + * + * @ingroup Video + */ EAPI void elm_video_file_set(Evas_Object *video, const char *filename); + + /** + * @brief Define the uri that will be the video source. + * + * @param video The video object to define the file for. + * @param uri The uri to target. + * + * This function will define an uri as a source for the video of the + * Elm_Video object. URI could be remote source of video, like http:// or local source + * like for example WebCam who are most of the time v4l2:// (but that depend and + * you should use Emotion API to request and list the available Webcam on your system). + * + * @see elm_video_file_set() + * @see elm_video_add() + * @see elm_player_add() + * + * @ingroup Video + */ EAPI void elm_video_uri_set(Evas_Object *video, const char *uri); + + /** + * @brief Get the underlying Emotion object. + * + * @param video The video object to proceed the request on. + * @return the underlying Emotion object. + * + * @ingroup Video + */ EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video); + + /** + * @brief Start to play the video + * + * @param video The video object to proceed the request on. + * + * Start to play the video and cancel all suspend state. + * + * @ingroup Video + */ EAPI void elm_video_play(Evas_Object *video); + + /** + * @brief Pause the video + * + * @param video The video object to proceed the request on. + * + * Pause the video and start a timer to trigger suspend mode. + * + * @ingroup Video + */ EAPI void elm_video_pause(Evas_Object *video); + + /** + * @brief Stop the video + * + * @param video The video object to proceed the request on. + * + * Stop the video and put the emotion in deep sleep mode. + * + * @ingroup Video + */ EAPI void elm_video_stop(Evas_Object *video); + + /** + * @brief Is the video actually playing. + * + * @param video The video object to proceed the request on. + * @return EINA_TRUE if the video is actually playing. + * + * You should consider watching event on the object instead of polling + * the object state. + * + * @ingroup Video + */ EAPI Eina_Bool elm_video_is_playing(Evas_Object *video); + + /** + * @brief Is it possible to seek inside the video. + * + * @param video The video object to proceed the request on. + * @return EINA_TRUE if is possible to seek inside the video. + * + * @ingroup Video + */ EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video); + + /** + * @brief Is the audio muted. + * + * @param video The video object to proceed the request on. + * @return EINA_TRUE if the audio is muted. + * + * @ingroup Video + */ EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video); + + /** + * @brief Change the mute state of the Elm_Video object. + * + * @param video The video object to proceed the request on. + * @param mute The new mute state. + * + * @ingroup Video + */ EAPI void elm_video_audio_mute_set(Evas_Object *video, Eina_Bool mute); + + /** + * @brief Get the audio level of the current video. + * + * @param video The video object to proceed the request on. + * @return the current audio level. + * + * @ingroup Video + */ EAPI double elm_video_audio_level_get(Evas_Object *video); + + /** + * @brief Set the audio level of anElm_Video object. + * + * @param video The video object to proceed the request on. + * @param volume The new audio volume. + * + * @ingroup Video + */ EAPI void elm_video_audio_level_set(Evas_Object *video, double volume); + EAPI double elm_video_play_position_get(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 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 Evas_Object *elm_player_add(Evas_Object *parent); - EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video); + /** + * @} + */ /** * @defgroup Naviframe Naviframe + * @ingroup Elementary * * @brief Naviframe is a kind of view manager for the applications. * @@ -27587,13 +28114,20 @@ extern "C" { * @li "elm.text.title" - The title label in the title area * * @ref tutorial_naviframe gives a good overview of the usage of the API. + */ + + /** + * @addtogroup Naviframe * @{ */ + /** * @brief Add a new Naviframe object to the parent. * * @param parent Parent object * @return New object or @c NULL, if it cannot be created + * + * @ingroup Naviframe */ EAPI Evas_Object *elm_naviframe_add(Evas_Object *parent) EINA_ARG_NONNULL(1); /** @@ -27620,6 +28154,8 @@ extern "C" { * * The following styles are available for this item: * @li @c "default" + * + * @ingroup Naviframe */ EAPI Elm_Object_Item *elm_naviframe_item_push(Evas_Object *obj, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style) EINA_ARG_NONNULL(1, 5); /** @@ -27634,21 +28170,50 @@ extern "C" { * stack will become visible. * * @see also elm_naviframe_content_preserve_on_pop_get() + * + * @ingroup Naviframe */ EAPI Evas_Object *elm_naviframe_item_pop(Evas_Object *obj) EINA_ARG_NONNULL(1); /** * @brief Pop the items between the top and the above one on the given item. * * @param it The naviframe item + * + * @ingroup Naviframe */ EAPI void elm_naviframe_item_pop_to(Elm_Object_Item *it) EINA_ARG_NONNULL(1); /** + * Promote an item already in the naviframe stack to the top of the stack + * + * @param it The naviframe item + * + * This will take the indicated item and promote it to the top of the stack + * as if it had been pushed there. The item must already be inside the + * naviframe stack to work. + * + */ + EAPI void elm_naviframe_item_promote(Elm_Object_Item *it) EINA_ARG_NONNULL(1); + /** + * @brief Delete the given item instantly. + * + * @param it The naviframe item + * + * This just deletes the given item from the naviframe item list instantly. + * So this would not emit any signals for view transitions but just change + * the current view if the given item is a top one. + * + * @ingroup Naviframe + */ + EAPI void elm_naviframe_item_del(Elm_Object_Item *it) EINA_ARG_NONNULL(1); + /** * @brief preserve the content objects when items are popped. * * @param obj The naviframe object * @param preserve Enable the preserve mode if EINA_TRUE, disable otherwise * * @see also elm_naviframe_content_preserve_on_pop_get() + * + * @ingroup Naviframe */ EAPI void elm_naviframe_content_preserve_on_pop_set(Evas_Object *obj, Eina_Bool preserve) EINA_ARG_NONNULL(1); /** @@ -27658,6 +28223,8 @@ extern "C" { * @return If @c EINA_TRUE, preserve mode is enabled * * @see also elm_naviframe_content_preserve_on_pop_set() + * + * @ingroup Naviframe */ EAPI Eina_Bool elm_naviframe_content_preserve_on_pop_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** @@ -27666,6 +28233,8 @@ extern "C" { * @param obj The naviframe object * @return The top item on the naviframe stack or @c NULL, if the stack is * empty + * + * @ingroup Naviframe */ EAPI Elm_Object_Item *elm_naviframe_top_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** @@ -27674,6 +28243,8 @@ extern "C" { * @param obj The naviframe object * @return The bottom item on the naviframe stack or @c NULL, if the stack is * empty + * + * @ingroup Naviframe */ EAPI Elm_Object_Item *elm_naviframe_bottom_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** @@ -27686,6 +28257,8 @@ extern "C" { * @li @c "default" * * @see also elm_naviframe_item_style_get() + * + * @ingroup Naviframe */ EAPI void elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style) EINA_ARG_NONNULL(1); /** @@ -27695,6 +28268,8 @@ extern "C" { * @return The current item style name * * @see also elm_naviframe_item_style_set() + * + * @ingroup Naviframe */ EAPI const char *elm_naviframe_item_style_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1); /** @@ -27707,6 +28282,8 @@ extern "C" { * When the title area is invisible, then the controls would be hidden so as * to expand the content area to full-size. * * @see also elm_naviframe_item_title_visible_get() + * + * @ingroup Naviframe */ EAPI void elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible) EINA_ARG_NONNULL(1); /** @@ -27716,10 +28293,35 @@ extern "C" { * @return If @c EINA_TRUE, title area is visible * * @see also elm_naviframe_item_title_visible_set() + * + * @ingroup Naviframe */ EAPI Eina_Bool elm_naviframe_item_title_visible_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1); /** + * @brief Set creating prev button automatically or not + * + * @param obj The naviframe object + * @param auto_pushed If @c EINA_TRUE, the previous button(back button) will + * be created internally when you pass the @c NULL to the prev_btn + * parameter in elm_naviframe_item_push + * + * @see also elm_naviframe_item_push() + */ + EAPI void elm_naviframe_prev_btn_auto_pushed_set(Evas_Object *obj, Eina_Bool auto_pushed) EINA_ARG_NONNULL(1); + /** + * @brief Get a value whether prev button(back button) will be auto pushed or + * not. + * + * @param obj The naviframe object + * @return If @c EINA_TRUE, prev button will be auto pushed. + * + * @see also elm_naviframe_item_push() + * elm_naviframe_prev_btn_auto_pushed_set() + */ + EAPI Eina_Bool elm_naviframe_prev_btn_auto_pushed_get(const Evas_Object *obj); EINA_ARG_NONNULL(1); + + /** * @} */