/**
@mainpage Elementary
@image html elementary.png
-@version 0.7.0
+@version 0.8.0
@date 2008-2011
@section intro What is Elementary?
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
{
Evas_Object *win, *bg, *box, *lab, *btn;
- // new window - do the usual and give it a name, title and delete handler
- win = elm_win_add(NULL, "hello", ELM_WIN_BASIC);
- elm_win_title_set(win, "Hello");
+ // new window - do the usual and give it a name (hello) and title (Hello)
+ win = elm_win_util_standard_add("hello", "Hello");
// when the user clicks "close" on a window there is a request to delete
evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
- // add a standard bg
- bg = elm_bg_add(win);
- // add object as a resize object for the window (controls window minimum
- // size as well as gets resized if window is resized)
- elm_win_resize_object_add(win, bg);
- evas_object_show(bg);
-
// add a box object - default is vertical. a box holds children in a row,
// either horizontally or vertically. nothing more.
box = elm_box_add(win);
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;
ELM_INPUT_PANEL_LAYOUT_INVALID
} Elm_Input_Panel_Layout;
+ typedef enum
+ {
+ ELM_AUTOCAPITAL_TYPE_NONE,
+ ELM_AUTOCAPITAL_TYPE_WORD,
+ ELM_AUTOCAPITAL_TYPE_SENTENCE,
+ ELM_AUTOCAPITAL_TYPE_ALLCHARACTER,
+ } Elm_Autocapital_Type;
+
/**
* @typedef Elm_Object_Item
* An Elementary Object item handle.
* @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
*/
* 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
/**
* 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
* 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);
* was run from.
*
* @return The binaries directory prefix the application is actually
- * using
+ * using.
*/
EAPI const char *elm_app_bin_dir_get(void);
* was run from.
*
* @return The libraries directory prefix the application is actually
- * using
+ * using.
*/
EAPI const char *elm_app_lib_dir_get(void);
* was run from.
*
* @return The data directory prefix the application is actually
- * using
+ * using.
*/
EAPI const char *elm_app_data_dir_get(void);
* was run from.
*
* @return The locale directory prefix the application is actually
- * using
+ * using.
*/
EAPI const char *elm_app_locale_dir_get(void);
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
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
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
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
#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
#define elm_object_content_unset(obj) elm_object_content_part_unset((obj), NULL)
/**
- * Get the wiget object's handle which contains a given item
+ * Get the widget object's handle which contains a given item
*
- * @param item The Elementary object item
+ * @param item The Elementary object item
* @return The widget object
*
* @note This returns the widget object itself that an item belongs to.
#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)
#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)
*/
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
*
*/
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
/**
* 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
/**
* 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
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);
+
+ /**
* @}
*/
*/
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
+ *
+ * @see elm_win_add()
+ */
+ 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.
*
*
* packing into any container object. It works just like an image, but has
* some properties useful to a background, like setting it to tiled,
* centered, scaled or stretched.
+ *
+ * Default contents parts of the bg widget that you can use for are:
+ * @li "elm.swallow.content" - overlay of the bg
*
* Here is some sample code using it:
* @li @ref bg_01_example_page
* @ingroup Bg
*/
- EAPI void elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
/**
* Get the overlay object used for the background object.
*
* @ingroup Bg
*/
- EAPI Evas_Object *elm_bg_overlay_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bg_overlay_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Get the overlay object used for the background object.
*
* @ingroup Bg
*/
- EAPI Evas_Object *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the size of the pixmap representation of the image.
*
* @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)
*
* 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()
*
*/
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
*/
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.
* @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);
* @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
* @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);
* @ingroup Image
*/
EAPI Eina_Bool elm_image_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/**
* Gets the current size of the image.
*
*/
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,
* 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.
* 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
*/
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
*/
* continuous look across its options.
* @li hoversel_vertical_entry: Another internal for @ref Hoversel.
*
+ * Default contents parts of the button widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the button
+ *
+ * Default text parts of the button widget that you can use for are:
+ * @li "elm.text" - Label of the button
+ *
* Follow through a complete example @ref button_example_01 "here".
* @{
*/
* @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
*
*
* @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
*
* @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
*
* 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:
* @note When Elementary is in desktop mode the thumbscroll(a.k.a.
* fingerscroll) won't work.
*
+ * To set/get/unset the content of the panel, you can use
+ * elm_object_content_set/get/unset APIs.
+ * Once the content object is set, a previously set one will be deleted.
+ * If you want to keep that old content object, use the
+ * elm_object_content_unset() function
+ *
* In @ref tutorial_scroller you'll find an example of how to use most of
* this API.
* @{
* If you want to keep that old content object, use the
* elm_scroller_content_unset() function.
*/
- EAPI void elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
/**
* @brief Get the content of the scroller widget
*
*
* @see elm_scroller_content_set()
*/
- EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the content of the scroller widget
*
*
* @see elm_scroller_content_set()
*/
- EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Set custom theme elements for the scroller
*
* @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.
*/
* @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()
*/
* 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.
*/
* @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()
* 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
*
*
* @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);
/**
* @}
*/
* 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.
* @{
*/
* @param obj The label object
* @param slide To start slide or stop
*
- * If set to true the text of the label will slide throught the length of
+ * If set to true, the text of the label will slide/scroll through the length of
* label.
*
- * @warning This only work with the themes "slide_short", "slide_long" and
+ * @warning This only works with the themes "slide_short", "slide_long" and
* "slide_bounce".
*/
EAPI void elm_label_slide_set(Evas_Object *obj, Eina_Bool slide) EINA_ARG_NONNULL(1);
* @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
*
* @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.
*
* 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_object_content_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
*
* Return the icon object which is set for this widget.
*
* @see elm_toggle_icon_set()
+ *
+ * @deprecated use elm_object_content_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
*
* Unparent and return the icon object which was set for this widget.
*
* @see elm_toggle_icon_set()
+ *
+ * @deprecated use elm_object_content_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);
/**
* @}
*/
*
* Of all this styles only default shows the title. Frame emits no signals.
*
+ * Default contents parts of the frame widget that you can use for are:
+ * @li "elm.swallow.content" - A content of the frame
+ *
+ * Default text parts of the frame widget that you can use for are:
+ * @li "elm.text" - Label of the frame
+ *
* For a detailed example see the @ref tutorial_frame.
*
* @{
* @param obj The frame object
* @param content The content will be filled in this frame object
*/
- EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* @brief Get the content of the frame widget
*
* @param obj The frame object
* @return The content that is being used
*/
- EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the content of the frame widget
*
* @param obj The frame object
* @return The content that was being used
*/
- EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @}
*/
* also span multiple columns or rows - even overlap (and then be raised or
* lowered accordingly to adjust stacking if they do overlap).
*
+ * For a Table widget the row/column count is not fixed.
+ * The table widget adjusts itself when subobjects are added to it dynamically.
+ *
* The followin are examples of how to use a table:
* @li @ref tutorial_table_01
* @li @ref tutorial_table_02
* @}
*/
+ /* 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)
*
*
* @section Gengrid_Layouts Gengrid layouts
*
- * Gengrids may layout its items in one of two possible layouts:
+ * Gengrid may layout its items in one of two possible layouts:
* - horizontal or
* - vertical.
*
* 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
* 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
* 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:
*/
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
*
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
*/
EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+ /**
+ * Insert an item in a gengrid widget using a user-defined sort function.
+ *
+ * @param obj The gengrid object.
+ * @param gic The item class for the item.
+ * @param data The item data.
+ * @param comp User defined comparison function that defines the sort order based on
+ * Elm_Gen_Item and its data param.
+ * @param func Convenience function called when the item is selected.
+ * @param func_data Data to be passed to @p func.
+ * @return A handle to the item added or @c NULL, on errors.
+ *
+ * This inserts an item in the gengrid based on user defined comparison function.
+ *
+ * @see elm_gengrid_item_append()
+ * @see elm_gengrid_item_prepend()
+ * @see elm_gengrid_item_insert_after()
+ * @see elm_gengrid_item_del()
+ * @see elm_gengrid_item_direct_sorted_insert()
+ *
+ * @ingroup Gengrid
+ */
EAPI Elm_Gengrid_Item *elm_gengrid_item_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+ /**
+ * Insert an item in a gengrid widget using a user-defined sort function.
+ *
+ * @param obj The gengrid object.
+ * @param gic The item class for the item.
+ * @param data The item data.
+ * @param comp User defined comparison function that defines the sort order based on
+ * Elm_Gen_Item.
+ * @param func Convenience function called when the item is selected.
+ * @param func_data Data to be passed to @p func.
+ * @return A handle to the item added or @c NULL, on errors.
+ *
+ * This inserts an item in the gengrid based on user defined comparison function.
+ *
+ * @see elm_gengrid_item_append()
+ * @see elm_gengrid_item_prepend()
+ * @see elm_gengrid_item_insert_after()
+ * @see elm_gengrid_item_del()
+ * @see elm_gengrid_item_sorted_insert()
+ *
+ * @ingroup Gengrid
+ */
EAPI Elm_Gengrid_Item *elm_gengrid_item_direct_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
/**
*
* @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
*
* @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.
*
* @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
*
* @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
* @param multi @c EINA_TRUE, to enable multi-selection,
* @c EINA_FALSE to disable it.
*
- * Multi-selection is the ability for one to have @b more than one
+ * Multi-selection is the ability to have @b more than one
* item selected, on a given gengrid, simultaneously. When it is
* enabled, a sequence of clicks on different items will make them
* all selected, progressively. A click on an already selected item
- * will unselect it. If interecting via the keyboard,
+ * will unselect it. If interacting via the keyboard,
* multi-selection is enabled while holding the "Shift" key.
*
* @note By default, multi-selection is @b disabled on gengrids
*
* @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
*
* @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
*
* @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
*
* @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
*
* @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.
* @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.
* @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.
*
* @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.
*
* @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
+ * Set the direction in which a given gengrid widget will expand while
* placing its items.
*
* @param obj The gengrid object.
*
* @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
*
* @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,
*
* @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,
*
* @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
*
* @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.
+ * Remove a gengrid item from its parent, deleting it.
*
* @param item The item to be removed.
* @return @c EINA_TRUE on success or @c EINA_FALSE, otherwise.
* @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
- * original item data has changed and you want thta changes to be
+ * again to get the contents, labels and states. Use this when the
+ * original item data has changed and you want the changes to be
* reflected.
*
* @ingroup Gengrid
*/
EAPI void elm_gengrid_item_update(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the Gengrid Item class for the given Gengrid Item.
+ *
+ * @param item The gengrid item
+ *
+ * This returns the Gengrid_Item_Class for the given item. It can be used to examine
+ * the function pointers and item_style.
+ *
+ * @ingroup Gengrid
+ */
EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the Gengrid Item class for the given Gengrid Item.
+ *
+ * This sets the Gengrid_Item_Class for the given item. It can be used to examine
+ * the function pointers and item_style.
+ *
+ * @param item The gengrid item
+ * @param gic The gengrid item class describing the function pointers and the item style.
+ *
+ * @ingroup Gengrid
+ */
EAPI void elm_gengrid_item_item_class_set(Elm_Gengrid_Item *item, const Elm_Gengrid_Item_Class *gic) EINA_ARG_NONNULL(1, 2);
/**
* Return the data associated to a given gengrid item
*
* @param item The gengrid item.
- * @return the data associated to this item.
+ * @return the data associated with this item.
*
* This returns the @c data value passed on the
* elm_gengrid_item_append() and related item addition calls.
EAPI void *elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
/**
- * Set the data associated to a given gengrid item
+ * Set the data associated with a given gengrid item
*
* @param item The gengrid item
- * @param data The new data pointer to set on it
+ * @param data The data pointer to set on it
*
* This @b overrides the @c data value passed on the
* elm_gengrid_item_append() and related item addition calls. This
* function @b won't call elm_gengrid_item_update() automatically,
- * so you'd issue it afterwards if you want to hove the item
- * updated to reflect the that new data.
+ * so you'd issue it afterwards if you want to have the item
+ * updated to reflect the new data.
*
* @see elm_gengrid_item_data_get()
+ * @see elm_gengrid_item_update()
*
* @ingroup Gengrid
*/
* gengrid's grid area.
*
* @param item The Gengrid item.
- * @param x Pointer to variable where to store the item's <b>row
- * number</b>.
- * @param y Pointer to variable where to store the item's <b>column
- * number</b>.
+ * @param x Pointer to variable to store the item's <b>row number</b>.
+ * @param y Pointer to variable to store the item's <b>column number</b>.
*
- * This returns the "logical" position of the item whithin the
+ * This returns the "logical" position of the item within the
* gengrid. For example, @c (0, 1) would stand for first row,
* second column.
*
* @param selected Use @c EINA_TRUE, to make it selected, @c
* EINA_FALSE to make it unselected
*
- * This sets the selected state of an item. If multi selection is
+ * This sets the selected state of an item. If multi-selection is
* not enabled on the containing gengrid and @p selected is @c
* EINA_TRUE, any other previously selected items will get
* unselected in favor of this new one.
*
* @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
* @param item The gengrid item
* @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
*
+ * This API returns EINA_TRUE for all the items selected in multi-select mode as well.
+ *
* @see elm_gengrid_item_selected_set() for more details
*
* @ingroup Gengrid
*/
- EAPI 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
EAPI void elm_gengrid_item_show(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
/**
- * Animatedly bring in, to the visible are of a gengrid, a given
+ * Animatedly bring in, to the visible area of a gengrid, a given
* item on it.
*
* @param item The gengrid item to display
*
- * This causes gengrig to jump to the given @p item item and show
+ * This causes gengrid to jump to the given @p item and show
* it (by scrolling), if it is not fully visible. This will use
* animation to do so and take a period of time to complete.
*
EAPI void elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) EINA_ARG_NONNULL(1);
/**
- * Set the content to be shown in a given gengrid item's tooltips
+ * Set the content to be shown in a given gengrid item's tooltip
*
* @param item The gengrid item.
* @param func The function returning the tooltip contents.
*
* @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
*
* Only one object can be added to the @c SWALLOW part (but you still can
* have many @c SWALLOW parts and one object on each of them). Use the @c
- * elm_layout_content_* set of functions to set, retrieve and unset objects
- * as content of the @c SWALLOW. After being set to this part, the object
- * size, position, visibility, clipping and other description properties
- * will be totally controled by the description of the given part (inside
- * the Edje theme file).
+ * elm_object_content_set/get/unset functions to set, retrieve and unset
+ * objects as content of the @c SWALLOW. After being set to this part, the
+ * object size, position, visibility, clipping and other description
+ * properties will be totally controled by the description of the given part
+ * (inside the Edje theme file).
*
* One can use @c evas_object_size_hint_* functions on the child to have some
* kind of control over its behavior, but the resulting behavior will still
* 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.
*
*
* 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
* 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.
*
*
* @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.
*
*
* 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
*
*
* 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()
*
* 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()
*
* 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
* @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()
#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"); \
* @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
#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"); \
* @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
* @li "timeout" - when timeout happens on notify and it's hidden
* @li "block,clicked" - when a click outside of the notify happens
*
+ * Default contents parts of the notify widget that you can use for are:
+ * @li "elm.swallow.content" - A content of the notify
+ *
* @ref tutorial_notify show usage of the API.
*
* @{
* you want to keep that old content object, use the
* elm_notify_content_unset() function.
*/
- EAPI void elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* @brief Unset the content of the notify widget
*
*
* @see elm_notify_content_set()
*/
- EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Return the content of the notify widget
*
*
* @see elm_notify_content_set()
*/
- EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Set the notify parent
*
* 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.
*
* @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
*
* @param entry The text to be displayed
*
* @deprecated Use elm_object_text_set() instead.
+ * @note Using this function bypasses text filters
*/
EAPI void elm_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
/**
*/
EAPI Elm_Input_Panel_Layout elm_entry_input_panel_layout_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
+ * Set the autocapitalization type on the immodule.
+ *
+ * @param obj The entry object
+ * @param autocapital_type The type of autocapitalization
+ */
+ EAPI void elm_entry_autocapital_type_set(Evas_Object *obj, Elm_Autocapital_Type autocapital_type) EINA_ARG_NONNULL(1);
+ /**
+ * Retrieve the autocapitalization type on the immodule.
+ *
+ * @param obj The entry object
+ * @return autocapitalization type
+ */
+ EAPI Elm_Autocapital_Type elm_entry_autocapital_type_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /**
+ * Sets the attribute to show the input panel automatically.
+ *
+ * @param obj The entry object
+ * @param enabled If true, the input panel is appeared when entry is clicked or has a focus
+ */
+ EAPI void elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+ /**
+ * Retrieve the attribute to show the input panel automatically.
+ *
+ * @param obj The entry object
+ * @return EINA_TRUE if input panel will be appeared when the entry is clicked or has a focus, EINA_FALSE otherwise
+ */
+ EAPI Eina_Bool elm_entry_input_panel_enabled_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
* @}
*/
/**
* 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.
* @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
*
* This function sets the content shown on the middle of the bubble.
*/
- EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the content shown in the bubble
*
* @param obj The bubble object
* @return The content that is being used
*/
- EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the content shown in the bubble
*
* @param obj The bubble object
* @return The content that was being used
*/
- EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the icon of the bubble
*
*
* 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
/**
* @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:
Evas_Coord mx; /**< Momentum on X */
Evas_Coord my; /**< Momentum on Y */
+
+ unsigned int n; /**< Number of fingers */
};
/**
struct _Elm_Gesture_Line_Info
{ /* Report line ends, timestamps, and momentum computed */
Elm_Gesture_Momentum_Info momentum; /**< Line momentum info */
- unsigned int n; /**< Number of fingers (lines) */
/* FIXME should be radians, bot degrees */
double angle; /**< Angle (direction) of lines */
};
};
/**
+ * 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.
*/
*
* @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.
*
*/
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
*
- * @see elm_web_zoom_text_only_set()
+ * @return The zoom level set on the object
*/
- EAPI Eina_Bool elm_web_zoom_text_only_get(const Evas_Object *obj);
+ EAPI double elm_web_zoom_get(const Evas_Object *obj);
/**
- * Enables or disables zoom to affect only text
+ * Sets the zoom mode to use
*
- * 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.
+ * 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
- * @param setting EINA_TRUE to use text-only zoom, EINA_FALSE to have zoom
- * affect the entire page
+ *
+ * @return The current zoom mode set for the object, or
+ * ::ELM_WEB_ZOOM_MODE_LAST on error
*/
- EAPI void elm_web_zoom_text_only_set(Evas_Object *obj, Eina_Bool setting);
+ EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj);
+ /**
+ * Shows the given region in the web object
+ *
+ * @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 void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h);
+ /**
+ * Brings in the region to the visible area
+ *
+ * Like elm_web_region_show(), but it animates the scrolling of the object
+ * to show the area
+ *
+ * @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 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
*
* 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);
/**
* @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()
*/
* (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);
/**
*
* 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"
ELM_TOOLBAR_SHRINK_NONE, /**< Set toolbar minimun size to fit all the items. */
ELM_TOOLBAR_SHRINK_HIDE, /**< Hide exceeding items. */
ELM_TOOLBAR_SHRINK_SCROLL, /**< Allow accessing exceeding items through a scroller. */
- ELM_TOOLBAR_SHRINK_MENU /**< Inserts a button to pop up a menu with exceeding items. */
+ ELM_TOOLBAR_SHRINK_MENU, /**< Inserts a button to pop up a menu with exceeding items. */
+ ELM_TOOLBAR_SHRINK_LAST /**< Indicates error if returned by elm_toolbar_shrink_mode_get() */
} Elm_Toolbar_Shrink_Mode;
typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item. Can be created with elm_toolbar_item_append(), elm_toolbar_item_prepend() and functions to add items in relative positions, like elm_toolbar_item_insert_before(), and deleted with elm_toolbar_item_del(). */
* By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
* @ingroup Toolbar
*/
- EAPI void elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_toolbar_orientation_set(Evas_Object *obj, Eina_Bool vertical) EINA_ARG_NONNULL(1);
+
+ /**
+ * Change a toolbar's orientation
+ * @param obj The toolbar object
+ * @param horizontal If @c EINA_TRUE, the toolbar is horizontal
+ * By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.
+ * @ingroup Toolbar
+ */
+ EAPI void elm_toolbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
/**
* Get a toolbar's orientation
* By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
* @ingroup Toolbar
*/
- EAPI Eina_Bool elm_toolbar_orientation_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_toolbar_orientation_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
+ * Get a toolbar's orientation
+ * @param obj The toolbar object
+ * @return If @c EINA_TRUE, the toolbar is horizontal
+ * By default, a toolbar will be horizontal. Use this function to determine whether a toolbar is vertical.
+ * @ingroup Toolbar
+ */
+ EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
+ /**
* @}
*/
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);
* cursors, also use ones coming from Edje theming files. Both
* globally and per widget, Elementary makes it possible for one to
* make the cursors lookup to be held on engines only or on
- * Elementary's theme file, too.
+ * Elementary's theme file, too. To set cursor's hot spot,
+ * two data items should be added to cursor's theme: "hot_x" and
+ * "hot_y", that are the offset from upper-left corner of the cursor
+ * (coordinates 0,0).
*
* @{
*/
* - "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"
* Available styles for it:
* - @c "default"
*
+ * Default contents parts of the slider widget that you can use for are:
+ * @li "elm.swallow.icon" - A icon of the slider
+ * @li "elm.swallow.end" - A end part content of the slider
+ *
* Here is an example on its usage:
* @li @ref slider_example
*/
+#define ELM_SLIDER_CONTENT_ICON "elm.swallow.icon"
+#define ELM_SLIDER_CONTENT_END "elm.swallow.end"
+
/**
* @addtogroup Slider
* @{
*
* @ingroup Slider
*/
- EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* Unset an icon set on a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Retrieve the icon object set for a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the end object of the slider object.
*
* @ingroup Slider
*/
- EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
/**
* Unset an end object set on a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Retrieve the end object set for a given slider widget.
*
* @ingroup Slider
*/
- EAPI Evas_Object *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the (exact) length of the bar region of a given slider widget.
* @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.
*
* - @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
* 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.
*
* 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 <b>boolean states</b>, 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
* 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.
* 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.
* 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.
* 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
*
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
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
*
* @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
*
*
* @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.
*
*
* @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.
*
*
* @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.
*
*
* @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.
*
*
* @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.
*
*
* @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.
*
*/
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
*
* @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
*
*
* @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
*
*
* @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.
*
* @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
*
* @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
*
*
* @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
*
*
* @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.
*
*
* @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
* "changed" - This is called whenever the user changes the state of one of
* the check object(event_info is NULL).
*
- * @ref tutorial_check should give you a firm grasp of how to use this widget.
+ * Default contents parts of the check widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the check
+ *
+ * Default text parts of the check widget that you can use for are:
+ * @li "elm.text" - Label of the check
+ *
+ * @ref tutorial_check should give you a firm grasp of how to use this widget
+ * .
* @{
*/
/**
*
* 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_check_icon_unset() function.
+ * elm_object_content_unset() function.
*/
- EAPI void elm_check_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_check_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* @brief Get the icon object of the check object
*
* @param obj The check object
* @return The icon object
*/
- EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the icon used for the check object
*
*
* Unparent and return the icon object which was set for this widget.
*/
- EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Set the on/off state of the check object
*
* 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);
+
/**
* @}
*/
* @li changed - This is called whenever the user changes the state of one of
* the radio objects within the group of radio objects that work together.
*
+ * Default contents parts of the radio widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the radio
+ *
* @ref tutorial_radio show most of this API in action.
* @{
*/
* want to keep that old content object, use the elm_radio_icon_unset()
* function.
*/
- EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* @brief Get the icon object of the radio object
*
*
* @see elm_radio_icon_set()
*/
- EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the icon used for the radio object
*
*
* @see elm_radio_icon_set()
*/
- EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Add this radio to a group of other radio objects
*
* @return The top object or NULL if none
*/
EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/**
* @}
*/
* - @c "wheel" (simple style, no text, no progression, only
* "pulse" effect is available)
*
+ * Default contents parts of the progressbar widget that you can use for are:
+ * @li "elm.swallow.content" - A icon of the progressbar
+ *
* Here is an example on its usage:
* @li @ref progressbar_example
*/
*
* @ingroup Progressbar
*/
- EAPI void elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* Retrieve the icon object set for a given progress bar widget
*
* @ingroup Progressbar
*/
- EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset an icon set on a given progress bar widget
*
* @ingroup Progressbar
*/
- EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the (exact) length of the bar region of a given progress bar
* @li ELM_PANEL_ORIENT_LEFT
* @li ELM_PANEL_ORIENT_RIGHT
*
+ * To set/get/unset the content of the panel, you can use
+ * elm_object_content_set/get/unset APIs.
+ * Once the content object is set, a previously set one will be deleted.
+ * If you want to keep that old content object, use the
+ * elm_object_content_unset() function
+ *
* @ref tutorial_panel shows one way to use this widget.
* @{
*/
* If you want to keep that old content object, use the
* elm_panel_content_unset() function.
*/
- EAPI void elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* @brief Get the content of the panel.
*
*
* @see elm_panel_content_set()
*/
- EAPI Evas_Object *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Unset the content of the panel.
*
*
* @see elm_panel_content_set()
*/
- EAPI Evas_Object *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* @brief Set the state of the panel.
*
* Available styles for it:
* - @c "default"
*
+ * Default contents parts of the panes widget that you can use for are:
+ * @li "elm.swallow.left" - A leftside content of the panes
+ * @li "elm.swallow.right" - A rightside content of the panes
+ *
+ * If panes is displayed vertically, left content will be displayed at
+ * top.
+ *
* Here is an example on its usage:
* @li @ref panes_example
*/
+#define ELM_PANES_CONTENT_LEFT "elm.swallow.left"
+#define ELM_PANES_CONTENT_RIGHT "elm.swallow.right"
+
/**
* @addtogroup Panes
* @{
*
* @ingroup Panes
*/
- EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Set the right content of the panes widget.
*
* @ingroup Panes
*/
- EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the left content of the panes.
*
* @ingroup Panes
*/
- EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Get the right content of the panes.
*
* @ingroup Panes
*/
- EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the left content used for the panes.
*
* @ingroup Panes
*/
- EAPI Evas_Object *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the right content used for the panes.
* @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);
/**
* @}
* Available styles for it:
* - @c "default"
*
+ * Default contents parts of the conformant widget that you can use for are:
+ * @li "elm.swallow.content" - A content of the conformant
+ *
* See how to use this widget in this example:
* @ref conformant_example
*/
*
* 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_conformat_content_unset() function.
+ * elm_object_content_unset() function.
*
- * @see elm_conformant_content_unset()
- * @see elm_conformant_content_get()
+ * @see elm_object_content_unset()
+ * @see elm_object_content_get()
*
* @ingroup Conformant
*/
- EAPI void elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the content of the conformant widget.
*
* Return the content object which is set for this widget.
* It won't be unparent from conformant. For that, use
- * elm_conformant_content_unset().
+ * elm_object_content_unset().
*
- * @see elm_conformant_content_set() for more details.
- * @see elm_conformant_content_unset()
+ * @see elm_object_content_set().
+ * @see elm_object_content_unset()
*
* @ingroup Conformant
*/
- EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the content of the conformant widget.
*
* Unparent and return the content object which was set for this widget.
*
- * @see elm_conformant_content_set() for more details.
+ * @see elm_object_content_set().
*
* @ingroup Conformant
*/
- EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Returns the Evas_Object that represents the content area.
* need to resize or move it frequently (the content object and its
* children).
*
+ * To set/get/unset the content of the mapbuf, you can use
+ * elm_object_content_set/get/unset APIs.
+ * Once the content object is set, a previously set one will be deleted.
+ * If you want to keep that old content object, use the
+ * elm_object_content_unset() function.
+ *
+ * To enable map, elm_mapbuf_enabled_set() should be used.
+ *
* See how to use this widget in this example:
* @ref mapbuf_example
*/
*
* @ingroup Mapbuf
*/
- EAPI void elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the content of the mapbuf.
*
* @ingroup Mapbuf
*/
- EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Unset the content of the mapbuf.
*
* @ingroup Mapbuf
*/
- EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Enable or disable the map.
* Signals that you can add callbacks for are:
* "dismissed" - the ctxpopup was dismissed
*
+ * Default contents parts of the ctxpopup widget that you can use for are:
+ * @li "elm.swallow.content" - A content of the ctxpopup
+ *
* @ref tutorial_ctxpopup shows the usage of a good deal of the API.
* @{
*/
* @}
*/
- 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
* Smart callbacks one can listen to:
* - "changed" - When the user clicks on a segment item which is not
* previously selected and get selected. The event_info parameter is the
- * segment item index.
+ * segment item pointer.
*
* Available styles for it:
* - @c "default"
*/
EAPI Evas_Object *elm_factory_add(Evas_Object *parent);
- EAPI void elm_factory_content_set(Evas_Object *obj, Evas_Object *content);
- EAPI Evas_Object *elm_factory_content_get(const Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_factory_content_set(Evas_Object *obj, Evas_Object *content);
+ EINA_DEPRECATED EAPI Evas_Object *elm_factory_content_get(const Evas_Object *obj);
EAPI void elm_factory_maxmin_mode_set(Evas_Object *obj, Eina_Bool enabled);
EAPI Eina_Bool elm_factory_maxmin_mode_get(const Evas_Object *obj);
EAPI void elm_factory_maxmin_reset_set(Evas_Object *obj);
* "prev,clicked" - the user clicked the prev button.
* "rewind,clicked" - the user clicked the rewind button.
* "stop,clicked" - the user clicked the stop button.
+ *
+ * To set the video of the player, you can use elm_object_content_set() API.
+ *
*/
/**
*
* This function inserts a new player widget on the canvas.
*
- * @see elm_player_video_set()
+ * @see elm_object_content_set()
*
* @ingroup Video
*/
*
* @ingroup Video
*/
- EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+ EINA_DEPRECATED EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
/**
* @brief Add a new Elm_Video object to the given parent Elementary (container) object.
*
* @ingroup Video
*/
- EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video);
+ EAPI Evas_Object *elm_video_emotion_get(const Evas_Object *video);
/**
* @brief Start to play the video
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+ EAPI Eina_Bool elm_video_is_playing(const Evas_Object *video);
/**
* @brief Is it possible to seek inside the video.
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video);
+ EAPI Eina_Bool elm_video_is_seekable(const Evas_Object *video);
/**
* @brief Is the audio muted.
*
* @ingroup Video
*/
- EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
+ EAPI Eina_Bool elm_video_audio_mute_get(const Evas_Object *video);
/**
* @brief Change the mute state of the Elm_Video object.
*
* @ingroup Video
*/
- EAPI double elm_video_audio_level_get(Evas_Object *video);
+ EAPI double elm_video_audio_level_get(const Evas_Object *video);
/**
* @brief Set the audio level of anElm_Video object.
*/
EAPI void elm_video_audio_level_set(Evas_Object *video, double volume);
- EAPI double elm_video_play_position_get(Evas_Object *video);
+ EAPI double elm_video_play_position_get(const Evas_Object *video);
EAPI void elm_video_play_position_set(Evas_Object *video, double position);
- EAPI double elm_video_play_length_get(Evas_Object *video);
+ EAPI double elm_video_play_length_get(const Evas_Object *video);
EAPI void elm_video_remember_position_set(Evas_Object *video, Eina_Bool remember);
- EAPI Eina_Bool elm_video_remember_position_get(Evas_Object *video);
- EAPI const char *elm_video_title_get(Evas_Object *video);
+ EAPI Eina_Bool elm_video_remember_position_get(const Evas_Object *video);
+ EAPI const char *elm_video_title_get(const Evas_Object *video);
/**
* @}
*/
/**
* @defgroup Naviframe Naviframe
+ * @ingroup Elementary
*
* @brief Naviframe is a kind of view manager for the applications.
*
* application.
*
* Signals that you can add callback for are:
- *
* @li "transition,finished" - When the transition is finished in changing
* the item
* @li "title,clicked" - User clicked title area
*
- * Default contents parts for the naviframe items that you can use for are:
- *
- * @li "elm.swallow.content" - The main content of the page
- * @li "elm.swallow.prev_btn" - The button to go to the previous page
- * @li "elm.swallow.next_btn" - The button to go to the next page
+ * Default contents parts of the naviframe items that you can use for are:
+ * @li "elm.swallow.content" - A main content of the page
+ * @li "elm.swallow.icon" - A icon in the title area
+ * @li "elm.swallow.prev_btn" - A button to go to the previous page
+ * @li "elm.swallow.next_btn" - A button to go to the next page
*
- * Default text parts of naviframe items that you can be used are:
- *
- * @li "elm.text.title" - The title label in the title area
+ * Default text parts of the naviframe items that you can use for are:
+ * @li "elm.text.title" - Title label in the title area
+ * @li "elm.text.subtitle" - Sub-title label in the title area
*
* @ref tutorial_naviframe gives a good overview of the usage of the API.
+ */
+
+#define ELM_NAVIFRAME_ITEM_CONTENT_ICON "elm.swallow.icon"
+#define ELM_NAVIFRAME_ITEM_CONTENT_PREV_BTN "elm.swallow.prev_btn"
+#define ELM_NAVIFRAME_ITEM_CONTNET_NEXT_BTN "elm.swallow.next_btn"
+#define ELM_NAVIFRAME_ITEM_TEXT_SUBTITLE "elm.text.subtitle"
+
+ /**
+ * @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);
/**
*
* 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);
/**
* 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);
/**
* @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);
/**
* @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);
/**
* @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);
/**
* @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);
/**
* @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);
/**
* 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);
/**
* @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);
+
+ /**
* @}
*/