*/
/**
-@file elementary.dox
+@file Elementary.h.in
@brief Elementary Widget Library
*/
/**
+ * @typedef Elm_Object_Item
+ * An Elementary Object item handle.
+ * @ingroup General
+ */
+ typedef struct _Elm_Object_Item Elm_Object_Item;
+
+
+ /**
* Called back when a widget's tooltip is activated and needs content.
* @param data user-data given to elm_object_tooltip_content_cb_set()
* @param obj owner widget.
* Set a label of an object
*
* @param obj The Elementary object
- * @param item The label id to set (NULL for the default label)
+ * @param part The text part name to set (NULL for the default label)
* @param label The new text of the label
*
* @note Elementary objects may have many labels (e.g. Action Slider)
*
* @ingroup General
*/
- EAPI void elm_object_text_part_set(Evas_Object *obj, const char *item, const char *label);
+ EAPI void elm_object_text_part_set(Evas_Object *obj, const char *part, const char *label);
#define elm_object_text_set(obj, label) elm_object_text_part_set((obj), NULL, (label))
* Get a label of an object
*
* @param obj The Elementary object
- * @param item The label id to get (NULL for the default label)
- * @return text of the label or
- * NULL for any error
+ * @param part The text part name to get (NULL for the default label)
+ * @return text of the label or NULL for any error
*
* @note Elementary objects may have many labels (e.g. Action Slider)
*
* @ingroup General
*/
- EAPI const char *elm_object_text_part_get(const Evas_Object *obj, const char *item);
+ EAPI const char *elm_object_text_part_get(const Evas_Object *obj, const char *part);
#define elm_object_text_get(obj) elm_object_text_part_get((obj), NULL)
/**
+ * Set a content of an object
+ *
+ * @param obj The Elementary object
+ * @param part The content part name to set (NULL for the default content)
+ * @param content The new content of the object
+ *
+ * @note Elementary objects may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
+
+#define elm_object_content_set(obj, content) elm_object_content_part_set((obj), NULL, (content))
+
+ /**
+ * Get a content of an object
+ *
+ * @param obj The Elementary object
+ * @param item The content part name to get (NULL for the default content)
+ * @return content of the object or NULL for any error
+ *
+ * @note Elementary objects may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI Evas_Object *elm_object_content_part_get(const Evas_Object *obj, const char *part);
+
+#define elm_object_content_get(obj) elm_object_content_part_get((obj), NULL)
+
+ /**
+ * Unset a content of an object
+ *
+ * @param obj The Elementary object
+ * @param item The content part name to unset (NULL for the default content)
+ *
+ * @note Elementary objects may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI Evas_Object *elm_object_content_part_unset(Evas_Object *obj, const char *part);
+
+#define elm_object_content_unset(obj) elm_object_content_part_unset((obj), NULL)
+
+ /**
+ * Set a content of an object item
+ *
+ * @param it The Elementary object item
+ * @param part The content part name to set (NULL for the default content)
+ * @param content The new content of the object item
+ *
+ * @note Elementary object items may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_item_content_part_set(Elm_Object_Item *it, const char *part, Evas_Object *content);
+
+#define elm_object_item_content_set(it, content) elm_object_item_content_part_set((it), NULL, (content))
+
+ /**
+ * Get a content of an object item
+ *
+ * @param it The Elementary object item
+ * @param part The content part name to unset (NULL for the default content)
+ * @return content of the object item or NULL for any error
+ *
+ * @note Elementary object items may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI Evas_Object *elm_object_item_content_part_get(const Elm_Object_Item *it, const char *item);
+
+#define elm_object_item_content_get(it) elm_object_item_content_part_get((it), NULL)
+
+ /**
+ * Unset a content of an object item
+ *
+ * @param it The Elementary object item
+ * @param part The content part name to unset (NULL for the default content)
+ *
+ * @note Elementary object items may have many contents
+ *
+ * @ingroup General
+ */
+ EAPI Evas_Object *elm_object_item_content_part_unset(Elm_Object_Item *it, const char *part);
+
+#define elm_object_item_content_unset(it, content) elm_object_item_content_part_unset((it), (content))
+
+ /**
+ * Set a label of an objec itemt
+ *
+ * @param it The Elementary object item
+ * @param part The text part name to set (NULL for the default label)
+ * @param label The new text of the label
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_item_text_part_set(Elm_Object_Item *it, const char *part, const char *label);
+
+#define elm_object_item_text_set(it, label) elm_object_item_text_part_set((it), NULL, (label))
+
+ /**
+ * Get a label of an object
+ *
+ * @param it The Elementary object item
+ * @param part The text part name to get (NULL for the default label)
+ * @return text of the label or NULL for any error
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @ingroup General
+ */
+ EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
+
+ /**
+ * Set the text to read out when in accessibility mode
+ *
+ * @param obj The object which is to be described
+ * @param txt The text that describes the widget to people with poor or no vision
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
+
+ /**
+ * Set the text to read out when in accessibility mode
+ *
+ * @param it The object item which is to be described
+ * @param txt The text that describes the widget to people with poor or no vision
+ *
+ * @ingroup General
+ */
+ 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
+ * @return The data associated with @p it
+ *
+ * @ingroup General
+ */
+ EAPI void *elm_object_item_data_get(const Elm_Object_Item *it);
+
+ /**
+ * Set the data associated with an object item
+ * @param it The object item
+ * @param data The data to be associated with @p it
+ *
+ * @ingroup General
+ */
+ EAPI void elm_object_item_data_set(Elm_Object_Item *it, void *data);
+
+ /**
* @}
*/
* @ingroup Scaling
*/
EAPI double elm_object_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * @defgroup Password_last_show Password last input show
+ *
+ * Last show feature of password mode enables user to view
+ * the last input entered for few seconds before masking it.
+ * These functions allow to set this feature in password mode
+ * of entry widget and also allow to manipulate the duration
+ * for which the input has to be visible.
+ *
+ * @{
+ */
+
+ /**
+ * Get show last setting of password mode.
+ *
+ * This gets the show last input setting of password mode which might be
+ * enabled or disabled.
+ *
+ * @return @c EINA_TRUE, if the last input show setting is enabled, @c EINA_FALSE
+ * if it's disabled.
+ * @ingroup Password_last_show
+ */
+ EAPI Eina_Bool elm_password_show_last_get(void);
+
+ /**
+ * Set show last setting in password mode.
+ *
+ * This enables or disables show last setting of password mode.
+ *
+ * @param password_show_last If EINA_TRUE enable's last input show in password mode.
+ * @see elm_password_show_last_timeout_set()
+ * @ingroup Password_last_show
+ */
+ EAPI void elm_password_show_last_set(Eina_Bool password_show_last);
+
+ /**
+ * Get's the timeout value in last show password mode.
+ *
+ * This gets the time out value for which the last input entered in password
+ * mode will be visible.
+ *
+ * @return The timeout value of last show password mode.
+ * @ingroup Password_last_show
+ */
+ EAPI double elm_password_show_last_timeout_get(void);
+
+ /**
+ * Set's the timeout value in last show password mode.
+ *
+ * This sets the time out value for which the last input entered in password
+ * mode will be visible.
+ *
+ * @param password_show_last_timeout The timeout value.
+ * @see elm_password_show_last_set()
+ * @ingroup Password_last_show
+ */
+ EAPI void elm_password_show_last_timeout_set(double password_show_last_timeout);
+
+ /**
+ * @}
+ */
+
EAPI Eina_Bool elm_object_mirrored_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_object_mirrored_set(Evas_Object *obj, Eina_Bool mirrored) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_object_mirrored_automatic_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_object_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir) EINA_ARG_NONNULL(1);
EAPI void elm_object_focus_direction_go(Evas_Object *obj, int x, int y) EINA_ARG_NONNULL(1);
+ /**
+ * Make the elementary object and its children to be unfocusable (or focusable).
+ *
+ * @param obj The Elementary object to operate on
+ * @param tree_unfocusable @c EINA_TRUE for unfocusable,
+ * @c EINA_FALSE for focusable.
+ *
+ * This sets whether the object @p obj and its children objects
+ * able to take focus or not. If the tree is unfocusable,
+ * newest focused object which is not in this tree will get focus.
+ * This API can be helpful for an object to be deleted.
+ * When an object will be deleted soon, it and its children may not
+ * want to get focus (by focus reverting or by other focus controls).
+ * Then, just use this API before deleting.
+ *
+ * @see elm_object_tree_unfocusable_get()
+ *
+ * @ingroup Focus
+ */
+ EAPI void elm_object_tree_unfocusable_set(Evas_Object *obj, Eina_Bool tree_unfocusable); EINA_ARG_NONNULL(1);
+
+ /**
+ * Get whether an Elementary object and its children are unfocusable or not.
+ *
+ * @param obj The Elementary object to get the information from
+ * @return @c EINA_TRUE, if the tree is unfocussable,
+ * @c EINA_FALSE if not (and on errors).
+ *
+ * @see elm_object_tree_unfocusable_set()
+ *
+ * @ingroup Focus
+ */
+ EAPI Eina_Bool elm_object_tree_unfocusable_get(const Evas_Object *obj); EINA_ARG_NONNULL(1);
+
EAPI Eina_Bool elm_scroll_bounce_enabled_get(void);
EAPI void elm_scroll_bounce_enabled_set(Eina_Bool enabled);
EAPI void elm_scroll_bounce_enabled_all_set(Eina_Bool enabled);
EAPI void elm_object_tree_dump(const Evas_Object *top);
EAPI void elm_object_tree_dot_dump(const Evas_Object *top, const char *file);
+ EAPI void elm_autocapitalization_allow_all_set(Eina_Bool autocap);
+ EAPI void elm_autoperiod_allow_all_set(Eina_Bool autoperiod);
+
/* theme */
/**
EAPI int elm_win_quickpanel_priority_minor_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_win_quickpanel_zone_set(Evas_Object *obj, int zone) EINA_ARG_NONNULL(1);
EAPI int elm_win_quickpanel_zone_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_win_prop_focus_skip_set(Evas_Object *obj, Eina_Bool skip); EINA_ARG_NONNULL(1);
- EAPI void elm_win_illume_command_send(Evas_Object *obj, Elm_Illume_Command command, void *params); EINA_ARG_NONNULL(1);
+ EAPI void elm_win_prop_focus_skip_set(Evas_Object *obj, Eina_Bool skip) EINA_ARG_NONNULL(1);
+ EAPI void elm_win_illume_command_send(Evas_Object *obj, Elm_Illume_Command command, void *params) EINA_ARG_NONNULL(1);
EAPI Evas_Object *elm_win_inlined_image_object_get(Evas_Object *obj);
EAPI void elm_win_focus_highlight_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
EAPI const char *elm_win_focus_highlight_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_win_indicator_state_set(Evas_Object *obj, int show_state);
+ EAPI int elm_win_indicator_state_get(Evas_Object *obj);
/*...
* ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
* ecore_x_icccm_hints_set -> window_group (add to ecore_evas)
EAPI int elm_icon_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order) EINA_ARG_NONNULL(1);
EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_icon_anim_available_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_icon_anim_set(Evas_Object *obj, Eina_Bool anim) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_icon_anim_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_icon_anim_play_set(Evas_Object *obj, Eina_Bool play) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_icon_anim_play_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/* smart callbacks called:
* "clicked" - the user clicked the icon
*/
/**
* @defgroup Button Button
*
+ * @image html widget/button/preview-00.png
+ * @image html widget/button/preview-01.png
+ * @image html widget/button/preview-02.png
+ *
* This is a push-button. Press it and run some function. It can contain
* a simple label and icon object and it also has an autorepeat feature.
*
* This widgets emits the following signals:
* @li "clicked": the user clicked the button (press/release).
* @li "repeated": the user pressed the button without releasing it.
- * @li "pressed": button was pressed.
+ * @li "pressed": button was pressed.
* @li "unpressed": button was released after being pressed.
* In all three cases, the @c event parameter of the callback will be
* @c NULL.
* Follow through a complete example @ref button_example_01 "here".
* @{
*/
+
+ typedef enum
+ {
+ UIControlStateDefault,
+ UIControlStateHighlighted,
+ UIControlStateDisabled,
+ UIControlStateFocused,
+ UIControlStateReserved
+ } UIControlState;
+
/**
* Add a new button to the parent's canvas
*
*/
EINA_DEPRECATED EAPI const char *elm_button_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
+ * Set the label for each state of button
+ *
+ * The passed @p label can be NULL to clean any existing text in it and
+ * leave the button as an icon only object for the state.
+ *
+ * @param obj The button object
+ * @param label The text will be written on the button
+ * @param state The state of button
+ *
+ * @ingroup Button
+ */
+ EINA_DEPRECATED EAPI void elm_button_label_set_for_state(Evas_Object *obj, const char *label, UIControlState state) EINA_ARG_NONNULL(1);
+ /**
+ * Get the label of button for each state
+ *
+ * The string returned is an internal pointer and should not be freed or
+ * altered. It will also become invalid when the button is destroyed.
+ * The string returned, if not NULL, is a stringshare, so if you need to
+ * keep it around even after the button is destroyed, you can use
+ * eina_stringshare_ref().
+ *
+ * @param obj The button object
+ * @param state The state of button
+ * @return The title of button for state
+ *
+ * @ingroup Button
+ */
+ EINA_DEPRECATED EAPI const char *elm_button_label_get_for_state(const Evas_Object *obj, UIControlState state) EINA_ARG_NONNULL(1);
+ /**
* Set the icon used for the button
*
* Setting a new icon will delete any other that was previously set, making
EAPI void elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation);
EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_scroller_page_move_set(Evas_Object *obj, Eina_Bool set);
/* smart callbacks called:
* "edge,left" - the left edge of the content has been reached
* "edge,right" - the right edge of the content has been reached
EAPI void elm_label_text_align_set(Evas_Object *obj, const char *alignmode) EINA_ARG_NONNULL(1);
EAPI void elm_label_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a) EINA_ARG_NONNULL(1);
EAPI void elm_label_ellipsis_set(Evas_Object *obj, Eina_Bool ellipsis) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_label_wrap_mode_set(Evas_Object *obj, Eina_Bool wrapmode) EINA_ARG_NONNULL(1);
EAPI void elm_label_slide_set(Evas_Object *obj, Eina_Bool slide) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_label_slide_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_label_slide_duration_set(Evas_Object *obj, double duration) EINA_ARG_NONNULL(1);
* by the cursor in the first place).
*/
- /* frame */
+ /**
+ * @page tutorial_frame Frame example
+ * @dontinclude frame_example_01.c
+ *
+ * In this example we are going to create 4 Frames with different styles and
+ * add a rectangle of different color in each.
+ *
+ * We start we the usual setup code:
+ * @until show(bg)
+ *
+ * And then create one rectangle:
+ * @until show
+ *
+ * To add it in our first frame, which since it doesn't have it's style
+ * specifically set uses the default style:
+ * @until show
+ *
+ * And then create another rectangle:
+ * @until show
+ *
+ * To add it in our second frame, which uses the "pad_small" style, note that
+ * even tough we are setting a text for this frame it won't be show, only the
+ * default style shows the Frame's title:
+ * @until show
+ * @note The "pad_small", "pad_medium", "pad_large" and "pad_huge" styles are
+ * very similar, their only difference is the size of the empty area around
+ * the content of the frame.
+ *
+ * And then create yet another rectangle:
+ * @until show
+ *
+ * To add it in our third frame, which uses the "outdent_top" style, note
+ * that even tough we are setting a text for this frame it won't be show,
+ * only the default style shows the Frame's title:
+ * @until show
+ *
+ * And then create one last rectangle:
+ * @until show
+ *
+ * To add it in our fourth and final frame, which uses the "outdent_bottom"
+ * style, note that even tough we are setting a text for this frame it won't
+ * be show, only the default style shows the Frame's title:
+ * @until show
+ *
+ * And now we are left with just some more setup code:
+ * @until ELM_MAIN()
+ *
+ * Our example will look like this:
+ * @image html screenshots/frame_example_01.png
+ * @image latex screenshots/frame_example_01.eps
+ *
+ * @example frame_example_01.c
+ */
+ /**
+ * @defgroup Frame Frame
+ *
+ * @brief Frame is a widget that holds some content and has a title.
+ *
+ * The default look is a frame with a title, but Frame supports multple
+ * styles:
+ * @li default
+ * @li pad_small
+ * @li pad_medium
+ * @li pad_large
+ * @li pad_huge
+ * @li outdent_top
+ * @li outdent_bottom
+ *
+ * Of all this styles only default shows the title. Frame emits no signals.
+ *
+ * For a detailed example see the @ref tutorial_frame.
+ *
+ * @{
+ */
+ /**
+ * @brief Add a new frame to the parent
+ *
+ * @param parent The parent object
+ * @return The new object or NULL if it cannot be created
+ */
EAPI Evas_Object *elm_frame_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
- EINA_DEPRECATED EAPI void elm_frame_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1)
- EINA_DEPRECATED EAPI const char *elm_frame_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content); EINA_ARG_NONNULL(1)
- EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj); EINA_ARG_NONNULL(1)
- /* available styles:
- * default
- * pad_small
- * pad_medium
- * pad_large
- * pad_huge
- * outdent_top
- * outdent_bottom
+ /**
+ * @brief Set the frame label
+ *
+ * @param obj The frame object
+ * @param label The label of this frame object
+ *
+ * @deprecated use elm_object_text_set() instead.
*/
- /* smart callbacks called:
+ EINA_DEPRECATED EAPI void elm_frame_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Get the frame label
+ *
+ * @param obj The frame object
+ *
+ * @return The label of this frame objet or NULL if unable to get frame
+ *
+ * @deprecated use elm_object_text_get() instead.
+ */
+ EINA_DEPRECATED EAPI const char *elm_frame_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Set the content of the frame widget
+ *
+ * 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_frame_content_unset() function.
+ *
+ * @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);
+ /**
+ * @brief Get the content of the frame widget
+ *
+ * Return the content object which is set for this 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);
+ /**
+ * @brief Unset the content of the frame widget
+ *
+ * Unparent and return the content object which was set for this 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);
+ /**
+ * @}
*/
/* table */
EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear) EINA_ARG_NONNULL(1);
EAPI void elm_table_pack_set(Evas_Object *subobj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
EAPI void elm_table_pack_get(Evas_Object *subobj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1);
-
+
/* gengrid */
typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;
* or gengrid has been resized or horizontal property has been changed.
* scroll - the content has been scrolled (moved).
* "scroll,drag,start" - dragging the contents around has started.
- * "scroll,drat,stop" - dragging the contents around has stopped.
+ * "scroll,drag,stop" - dragging the contents around has stopped.
* drag - Gengrid is being dragged.
* "drag,start,up" - Gengrid has been dragged (not scrolled) up.
* "drag,start,down" - Gengrid has been dragged (not scrolled) down.
* "drag,stop" - Gengrid is not being dragged.
*/
- /* clock */
+ /**
+ * @defgroup Clock Clock
+ *
+ * This is a @b digital clock widget. In its default theme, it has a
+ * vintage "flipping numbers clock" appearance, which will animate
+ * sheets of individual algarisms individually as time goes by.
+ *
+ * A newly created clock will fetch system's time (already
+ * considering local time adjustments) to start with, and will tick
+ * accondingly. It may or may not show seconds.
+ *
+ * Clocks have an @b edition mode. When in it, the sheets will
+ * display extra arrow indications on the top and bottom and the
+ * user may click on them to raise or lower the time values. After
+ * it's told to exit edition mode, it will keep ticking with that
+ * new time set (it keeps the difference from local time).
+ *
+ * Also, when under edition mode, user clicks on the cited arrows
+ * which are @b held for some time will make the clock to flip the
+ * sheet, thus editing the time, continuosly and automatically for
+ * the user. The interval between sheet flips will keep growing in
+ * time, so that it helps the user to reach a time which is distant
+ * from the one set.
+ *
+ * The time display is, by default, in military mode (24h), but an
+ * am/pm indicator may be optionally shown, too, when it will
+ * switch to 12h.
+ *
+ * Smart callbacks one can register to:
+ * - "changed" - the clock's user changed the time
+ *
+ * Here is an example on its usage:
+ * @li @ref clock_example
+ */
+
+ /**
+ * @addtogroup Clock
+ * @{
+ */
+
+ /**
+ * Identifiers for which clock digits should be editable, when a
+ * clock widget is in edition mode. Values may be ORed together to
+ * make a mask, naturally.
+ *
+ * @see elm_clock_edit_set()
+ * @see elm_clock_digit_edit_set()
+ */
typedef enum _Elm_Clock_Digedit
{
- ELM_CLOCK_NONE = 0,
- ELM_CLOCK_HOUR_DECIMAL = 1 << 0,
- ELM_CLOCK_HOUR_UNIT = 1 << 1,
- ELM_CLOCK_MIN_DECIMAL = 1 << 2,
- ELM_CLOCK_MIN_UNIT = 1 << 3,
- ELM_CLOCK_SEC_DECIMAL = 1 << 4,
- ELM_CLOCK_SEC_UNIT = 1 << 5,
- ELM_CLOCK_ALL = (1 << 6) - 1
+ ELM_CLOCK_NONE = 0, /**< Default value. Means that all digits are editable, when in edition mode. */
+ ELM_CLOCK_HOUR_DECIMAL = 1 << 0, /**< Decimal algarism of hours value should be editable */
+ ELM_CLOCK_HOUR_UNIT = 1 << 1, /**< Unit algarism of hours value should be editable */
+ ELM_CLOCK_MIN_DECIMAL = 1 << 2, /**< Decimal algarism of minutes value should be editable */
+ ELM_CLOCK_MIN_UNIT = 1 << 3, /**< Unit algarism of minutes value should be editable */
+ ELM_CLOCK_SEC_DECIMAL = 1 << 4, /**< Decimal algarism of seconds value should be editable */
+ ELM_CLOCK_SEC_UNIT = 1 << 5, /**< Unit algarism of seconds value should be editable */
+ ELM_CLOCK_ALL = (1 << 6) - 1 /**< All digits should be editable */
} Elm_Clock_Digedit;
+ /**
+ * Add a new clock widget to the given parent Elementary
+ * (container) object
+ *
+ * @param parent The parent object
+ * @return a new clock widget handle or @c NULL, on errors
+ *
+ * This function inserts a new clock widget on the canvas.
+ *
+ * @ingroup Clock
+ */
EAPI Evas_Object *elm_clock_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
- EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec) EINA_ARG_NONNULL(1);
- EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec) EINA_ARG_NONNULL(1);
- EAPI void elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set a clock widget's time, programmatically
+ *
+ * @param obj The clock widget object
+ * @param hrs The hours to set
+ * @param min The minutes to set
+ * @param sec The secondes to set
+ *
+ * This function updates the time that is showed by the clock
+ * widget.
+ *
+ * Values @b must be set within the following ranges:
+ * - 0 - 23, for hours
+ * - 0 - 59, for minutes
+ * - 0 - 59, for seconds,
+ *
+ * even if the clock is not in "military" mode.
+ *
+ * @warning The behavior for values set out of those ranges is @b
+ * indefined.
+ *
+ * @ingroup Clock
+ */
+ EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get a clock widget's time values
+ *
+ * @param obj The clock object
+ * @param[out] hrs Pointer to the variable to get the hours value
+ * @param[out] min Pointer to the variable to get the minutes value
+ * @param[out] sec Pointer to the variable to get the seconds value
+ *
+ * This function gets the time set for @p obj, returning
+ * it on the variables passed as the arguments to function
+ *
+ * @note Use @c NULL pointers on the time values you're not
+ * interested in: they'll be ignored by the function.
+ *
+ * @ingroup Clock
+ */
+ EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set whether a given clock widget is under <b>edition mode</b> or
+ * under (default) displaying-only mode.
+ *
+ * @param obj The clock object
+ * @param edit @c EINA_TRUE to put it in edition, @c EINA_FALSE to
+ * put it back to "displaying only" mode
+ *
+ * This function makes a clock's time to be editable or not <b>by
+ * user interaction</b>. When in edition mode, clocks @b stop
+ * ticking, until one brings them back to canonical mode. The
+ * elm_clock_digit_edit_set() function will influence which digits
+ * of the clock will be editable. By default, all of them will be
+ * (#ELM_CLOCK_NONE).
+ *
+ * @note am/pm sheets, if being shown, will @b always be editable
+ * under edition mode.
+ *
+ * @see elm_clock_edit_get()
+ *
+ * @ingroup Clock
+ */
+ EAPI void elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit) EINA_ARG_NONNULL(1);
+
+ /**
+ * Retrieve whether a given clock widget is under <b>edition
+ * mode</b> or under (default) displaying-only mode.
+ *
+ * @param obj The clock object
+ * @param edit @c EINA_TRUE, if it's in edition mode, @c EINA_FALSE
+ * otherwise
+ *
+ * This function retrieves whether the clock's time can be edited
+ * or not by user interaction.
+ *
+ * @see elm_clock_edit_set() for more details
+ *
+ * @ingroup Clock
+ */
EAPI Eina_Bool elm_clock_edit_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set what digits of the given clock widget should be editable
+ * when in edition mode.
+ *
+ * @param obj The clock object
+ * @param digedit Bit mask indicating the digits to be editable
+ * (values in #Elm_Clock_Digedit).
+ *
+ * If the @p digedit param is #ELM_CLOCK_NONE, editing will be
+ * disabled on @p obj (same effect as elm_clock_edit_set(), with @c
+ * EINA_FALSE).
+ *
+ * @see elm_clock_digit_edit_get()
+ *
+ * @ingroup Clock
+ */
EAPI void elm_clock_digit_edit_set(Evas_Object *obj, Elm_Clock_Digedit digedit) EINA_ARG_NONNULL(1);
+
+ /**
+ * Retrieve what digits of the given clock widget should be
+ * editable when in edition mode.
+ *
+ * @param obj The clock object
+ * @return Bit mask indicating the digits to be editable
+ * (values in #Elm_Clock_Digedit).
+ *
+ * @see elm_clock_digit_edit_set() for more details
+ *
+ * @ingroup Clock
+ */
EAPI Elm_Clock_Digedit elm_clock_digit_edit_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set if the given clock widget must show hours in military or
+ * am/pm mode
+ *
+ * @param obj The clock object
+ * @param am_pm @c EINA_TRUE to put it in am/pm mode, @c EINA_FALSE
+ * to military mode
+ *
+ * This function sets if the clock must show hours in military or
+ * am/pm mode. In some countries like Brazil the military mode
+ * (00-24h-format) is used, in opposition to the USA, where the
+ * am/pm mode is more commonly used.
+ *
+ * @see elm_clock_show_am_pm_get()
+ *
+ * @ingroup Clock
+ */
EAPI void elm_clock_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get if the given clock widget shows hours in military or am/pm
+ * mode
+ *
+ * @param obj The clock object
+ * @return @c EINA_TRUE, if in am/pm mode, @c EINA_FALSE if in
+ * military
+ *
+ * This function gets if the clock shows hours in military or am/pm
+ * mode.
+ *
+ * @see elm_clock_show_am_pm_set() for more details
+ *
+ * @ingroup Clock
+ */
EAPI Eina_Bool elm_clock_show_am_pm_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set if the given clock widget must show time with seconds or not
+ *
+ * @param obj The clock object
+ * @param seconds @c EINA_TRUE to show seconds, @c EINA_FALSE otherwise
+ *
+ * This function sets if the given clock must show or not elapsed
+ * seconds. By default, they are @b not shown.
+ *
+ * @see elm_clock_show_seconds_get()
+ *
+ * @ingroup Clock
+ */
EAPI void elm_clock_show_seconds_set(Evas_Object *obj, Eina_Bool seconds) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get whether the given clock widget is showing time with seconds
+ * or not
+ *
+ * @param obj The clock object
+ * @return @c EINA_TRUE if it's showing seconds, @c EINA_FALSE otherwise
+ *
+ * This function gets whether @p obj is showing or not the elapsed
+ * seconds.
+ *
+ * @see elm_clock_show_seconds_set()
+ *
+ * @ingroup Clock
+ */
EAPI Eina_Bool elm_clock_show_seconds_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set the interval on time updates for an user mouse button hold
+ * on clock widgets' time edition.
+ *
+ * @param obj The clock object
+ * @param interval The (first) interval value in seconds
+ *
+ * This interval value is @b decreased while the user holds the
+ * mouse pointer either incrementing or decrementing a given the
+ * clock digit's value.
+ *
+ * This helps the user to get to a given time distant from the
+ * current one easier/faster, as it will start to flip quicker and
+ * quicker on mouse button holds.
+ *
+ * The calculation for the next flip interval value, starting from
+ * the one set with this call, is the previous interval divided by
+ * 1.05, so it decreases a little bit.
+ *
+ * The default starting interval value for automatic flips is
+ * @b 0.85 seconds.
+ *
+ * @see elm_clock_interval_get()
+ *
+ * @ingroup Clock
+ */
EAPI void elm_clock_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the interval on time updates for an user mouse button hold
+ * on clock widgets' time edition.
+ *
+ * @param obj The clock object
+ * @return The (first) interval value, in seconds, set on it
+ *
+ * @see elm_clock_interval_set() for more details
+ *
+ * @ingroup Clock
+ */
EAPI double elm_clock_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- /* smart callbacks called:
- * "changed" - the user changed the time
+
+ /**
+ * @}
*/
/* layout */
ELM_ICON_FILE,
ELM_ICON_STANDARD
} Elm_Icon_Type;
+
+ typedef enum _Elm_Input_Panel_Layout
+ {
+ ELM_INPUT_PANEL_LAYOUT_NORMAL, /**< Default 4x4 layout */
+ ELM_INPUT_PANEL_LAYOUT_NUMBER, /**< Number layout */
+ ELM_INPUT_PANEL_LAYOUT_EMAIL, /**< Email layout */
+ ELM_INPUT_PANEL_LAYOUT_URL, /**< URL layout */
+ ELM_INPUT_PANEL_LAYOUT_PHONENUMBER, /**< Phone Number layout */
+ ELM_INPUT_PANEL_LAYOUT_IP, /**< IP layout */
+ ELM_INPUT_PANEL_LAYOUT_MONTH, /**< Month layout */
+ ELM_INPUT_PANEL_LAYOUT_NUMBERONLY, /**< Number Only layout */
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_1 = 100, /* Reserved for future use */
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_2,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_3,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_4,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_5,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_6,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_7,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_8,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_9,
+ ELM_INPUT_PANEL_LAYOUT_CUSTOM_10
+ } Elm_Input_Panel_Layout;
+
typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item; /**< Item of Elm_Hoversel. Sub-type of Elm_Widget_Item */
EAPI Evas_Object *elm_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
EAPI const char *elm_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_entry_entry_insert(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
EAPI void elm_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+ EAPI Elm_Wrap_Type elm_entry_line_wrap_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_entry_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_entry_select_none(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v);
EAPI void elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
EAPI void elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-
+
/* pre-made filters for entries */
typedef struct _Elm_Entry_Filter_Limit_Size Elm_Entry_Filter_Limit_Size;
struct _Elm_Entry_Filter_Limit_Size
const char *rejected;
};
EAPI void elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text) EINA_ARG_NONNULL(1, 3);
+ EAPI void elm_entry_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
+ EAPI void elm_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool autocap);
+ EAPI void elm_entry_autoperiod_set(Evas_Object *obj, Eina_Bool autoperiod);
+ EAPI void elm_entry_autoenable_returnkey_set(Evas_Object *obj, Eina_Bool on);
+ EAPI void elm_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
+ EAPI void elm_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
+ EAPI Ecore_IMF_Context *elm_entry_imf_context_get(Evas_Object *obj);
+ EAPI void elm_entry_matchlist_set(Evas_Object *obj, Eina_List *match_list, Eina_Bool case_sensitive);
+ EAPI void elm_entry_magnifier_type_set(Evas_Object *obj, int type) EINA_ARG_NONNULL(1);
+
+ EINA_DEPRECATED EAPI void elm_entry_wrap_width_set(Evas_Object *obj, Evas_Coord w);
+ EINA_DEPRECATED EAPI Evas_Coord elm_entry_wrap_width_get(const Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_entry_fontsize_set(Evas_Object *obj, int fontsize);
+ EINA_DEPRECATED EAPI void elm_entry_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
+ EINA_DEPRECATED EAPI void elm_entry_text_align_set(Evas_Object *obj, const char *alignmode);
+
/* smart callbacks called:
* "changed" - the text content changed
* "selection,start" - the user started selecting text
*
* Other markup can be used to style the text in different ways, but it's
* up to the style defined in the theme which tags do what.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI void elm_anchorview_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_anchorview_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
/**
* Get the markup text set for the anchorview
*
* @param obj The anchorview object
* @return The markup text set or @c NULL if nothing was set or an error
* occurred
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI const char *elm_anchorview_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_anchorview_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the parent of the hover popup
*
*
* Other markup can be used to style the text in different ways, but it's
* up to the style defined in the theme which tags do what.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI void elm_anchorblock_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_anchorblock_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
/**
* Get the markup text set for the anchorblock
*
* @param obj The anchorblock object
* @return The markup text set or @c NULL if nothing was set or an error
* occurred
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI const char *elm_anchorblock_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_anchorblock_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the parent of the hover popup
*
*
* This function sets the title of the bubble. Where this appears depends on
* the selected corner.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI void elm_bubble_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_bubble_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
/**
* Get the label of the bubble
*
* @return The string of set in the label
*
* This function gets the title of the bubble.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI const char *elm_bubble_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_bubble_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the info of the bubble
*
*
* This function sets the info of the bubble. Where this appears depends on
* the selected corner.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI void elm_bubble_info_set(Evas_Object *obj, const char *info) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_bubble_info_set(Evas_Object *obj, const char *info) EINA_ARG_NONNULL(1);
/**
* Get the info of the bubble
*
* @return The "info" string of the bubble
*
* This function gets the info text.
+ * @deprecated use elm_object_text_set() instead.
*/
- EAPI const char *elm_bubble_info_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_bubble_info_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the content to be shown in the bubble
*
* This function gets the selected corner of the bubble.
*/
EAPI const char *elm_bubble_corner_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ EINA_DEPRECATED EAPI void elm_bubble_sweep_layout_set(Evas_Object *obj, Evas_Object *sweep) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_bubble_sweep_layout_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/**
* @}
*/
* "drag,end" - Dragged item was dropped (somewhere)
*/
+ /* gesture layer */
+ /** @defgroup Elm_Gesture_Layer Gesture Layer */
+ /**
+ * @enum _Elm_Gesture_Types
+ * Emum of supported gesture types.
+ * @ingroup Elm_Gesture_Layer
+ */
+ enum _Elm_Gesture_Types
+ {
+ ELM_GESTURE_FIRST = 0,
+
+ ELM_GESTURE_N_TAPS, /**< N fingers single taps */
+ ELM_GESTURE_N_DOUBLE_TAPS, /**< N fingers double-single taps */
+ ELM_GESTURE_N_TRIPLE_TAPS, /**< N fingers triple-single taps */
+
+ ELM_GESTURE_MOMENTUM, /**< Reports momentum in the dircetion of move */
+
+ ELM_GESTURE_N_LINES, /**< N fingers line gesture */
+ ELM_GESTURE_N_FLICKS, /**< N fingers flick gesture */
+
+ ELM_GESTURE_ZOOM, /**< Zoom */
+ ELM_GESTURE_ROTATE, /**< Rotate */
+
+ ELM_GESTURE_LAST
+ };
+
+ /**
+ * @typedef Elm_Gesture_Types
+ * Type for Emum of supported gesture types.
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef enum _Elm_Gesture_Types Elm_Gesture_Types;
+
+ /**
+ * @enum _Elm_Gesture_State
+ * Emum of gesture states.
+ * @ingroup Elm_Gesture_Layer
+ */
+ enum _Elm_Gesture_State
+ {
+ ELM_GESTURE_STATE_UNDEFINED = -1, /**< Gesture not STARTed */
+ ELM_GESTURE_STATE_START, /**< Gesture STARTed */
+ ELM_GESTURE_STATE_MOVE, /**< Gesture is ongoing */
+ ELM_GESTURE_STATE_END, /**< Gesture completed */
+ ELM_GESTURE_STATE_ABORT /**< Onging gesture was ABORTed */
+ };
+ /**
+ * @typedef Elm_Gesture_State
+ * gesture states.
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef enum _Elm_Gesture_State Elm_Gesture_State;
+
+ /**
+ * @struct _Elm_Gesture_Taps_Info
+ * Struct holds taps info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ struct _Elm_Gesture_Taps_Info
+ {
+ Evas_Coord x, y; /**< Holds center point between fingers */
+ unsigned int n; /**< Number of fingers tapped */
+ unsigned int timestamp; /**< event timestamp */
+ };
+
+ /**
+ * @typedef Elm_Gesture_Taps_Info
+ * holds taps info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef struct _Elm_Gesture_Taps_Info Elm_Gesture_Taps_Info;
+
+ /**
+ * @struct _Elm_Gesture_Momentum_Info
+ * Struct holds momentum info for user
+ * x1 and y1 are not necessarily in sync
+ * x1 holds x value of x direction starting point
+ * and same holds for y1.
+ * This is noticeable when doing V-shape movement
+ * @ingroup Elm_Gesture_Layer
+ */
+ struct _Elm_Gesture_Momentum_Info
+ { /* Report line ends, timestamps, and momentum computed */
+ Evas_Coord x1; /**< Final-swipe direction starting point on X */
+ Evas_Coord y1; /**< Final-swipe direction starting point on Y */
+ Evas_Coord x2; /**< Final-swipe direction ending point on X */
+ Evas_Coord y2; /**< Final-swipe direction ending point on Y */
+
+ unsigned int tx; /**< Timestamp of start of final x-swipe */
+ unsigned int ty; /**< Timestamp of start of final y-swipe */
+
+ Evas_Coord mx; /**< Momentum on X */
+ Evas_Coord my; /**< Momentum on Y */
+ };
+
+ /**
+ * @typedef Elm_Gesture_Momentum_Info
+ * holds momentum info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef struct _Elm_Gesture_Momentum_Info Elm_Gesture_Momentum_Info;
+
+ /**
+ * @struct _Elm_Gesture_Line_Info
+ * Struct holds line info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ 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 */
+ };
+
+ /**
+ * @typedef _Elm_Gesture_Line_Info
+ * Holds line info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef struct _Elm_Gesture_Line_Info Elm_Gesture_Line_Info;
+
+ /**
+ * @struct _Elm_Gesture_Zoom_Info
+ * Struct holds zoom info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ struct _Elm_Gesture_Zoom_Info
+ {
+ Evas_Coord x, y; /**< Holds zoom center point reported to user */
+ Evas_Coord radius; /**< Holds radius between fingers reported to user */
+ float zoom; /**< Zoom value: 1.0 means no zoom */
+ float momentum; /**< Zoom momentum: zoom growth per second (NOT YET SUPPORTED) */
+ };
+
+ /**
+ * @typedef Elm_Gesture_Zoom_Info
+ * Holds zoom info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef struct _Elm_Gesture_Zoom_Info Elm_Gesture_Zoom_Info;
+
+ /**
+ * @struct _Elm_Gesture_Rotate_Info
+ * Struct holds rotation info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ struct _Elm_Gesture_Rotate_Info
+ {
+ Evas_Coord x, y; /**< Holds zoom center point reported to user */
+ Evas_Coord radius; /**< Holds radius between fingers reported to user */
+ double base_angle; /**< Holds start-angle */
+ double angle; /**< Rotation value: 0.0 means no rotation */
+ double momentum; /**< Rotation momentum: rotation done per second (NOT YET SUPPORTED) */
+ };
+
+ /**
+ * @typedef Elm_Gesture_Rotate_Info
+ * Holds rotation info for user
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef struct _Elm_Gesture_Rotate_Info Elm_Gesture_Rotate_Info;
+
+ /**
+ * @typedef Elm_Gesture_Event_Cb
+ * User callback used to stream gesture info from gesture layer
+ * @param data user data
+ * @param event_info gesture report info
+ * Returns a flag field to be applied on the causing event.
+ * You should probably return EVAS_EVENT_FLAG_ON_HOLD if your widget acted
+ * upon the event, in an irreversible way.
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ typedef Evas_Event_Flags (*Elm_Gesture_Event_Cb) (void *data, void *event_info);
+
+ /**
+ * Use function to set callbacks to be notified about
+ * change of state of gesture.
+ * When a user registers a callback with this function
+ * this means this gesture has to be tested.
+ *
+ * When ALL callbacks for a gesture are set to NULL
+ * it means user isn't interested in gesture-state
+ * and it will not be tested.
+ *
+ * @param obj Pointer to gesture-layer.
+ * @param idx The gesture you would like to track its state.
+ * @param cb callback function pointer.
+ * @param cb_type what event this callback tracks: START, MOVE, END, ABORT.
+ * @param data user info to be sent to callback (usually, Smart Data)
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI void elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Types idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data) EINA_ARG_NONNULL(1);
+
+ /**
+ * Call this function to get repeat-events settings.
+ *
+ * @param obj Pointer to gesture-layer.
+ *
+ * @return repeat events settings.
+ * @see elm_gesture_layer_hold_events_set()
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI Eina_Bool elm_gesture_layer_hold_events_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * This function called in order to make gesture-layer repeat events.
+ * Set this of you like to get the raw events only if gestures were not detected.
+ * Clear this if you like gesture layer to fwd events as testing gestures.
+ *
+ * @param obj Pointer to gesture-layer.
+ * @param r Repeat: TRUE/FALSE
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI void elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool r) EINA_ARG_NONNULL(1);
+
+ /**
+ * This function sets step-value for zoom action.
+ * Set step to any positive value.
+ * Cancel step setting by setting to 0.0
+ *
+ * @param obj Pointer to gesture-layer.
+ * @param s new zoom step value.
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI void elm_gesture_layer_zoom_step_set(Evas_Object *obj, double s) EINA_ARG_NONNULL(1);
+
+ /**
+ * This function sets step-value for rotate action.
+ * Set step to any positive value.
+ * Cancel step setting by setting to 0.0
+ *
+ * @param obj Pointer to gesture-layer.
+ * @param s new roatate step value.
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI void elm_gesture_layer_rotate_step_set(Evas_Object *obj, double s) EINA_ARG_NONNULL(1);
+
+ /**
+ * This function called to attach gesture-layer to an Evas_Object.
+ * @param obj Pointer to gesture-layer.
+ * @param t Pointer to underlying object (AKA Target)
+ *
+ * @return TRUE, FALSE on success, failure.
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI Eina_Bool elm_gesture_layer_attach(Evas_Object *obj, Evas_Object *t) EINA_ARG_NONNULL(1, 2);
+
+ /**
+ * Call this function to construct a new gesture-layer object.
+ * This does not activate the gesture layer. You have to
+ * call elm_gesture_layer_attach in order to 'activate' gesture-layer.
+ *
+ * @param parent the parent object.
+ *
+ * @return Pointer to new gesture-layer object.
+ *
+ * @ingroup Elm_Gesture_Layer
+ */
+ EAPI Evas_Object *elm_gesture_layer_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+
/* thumb */
typedef enum _Elm_Thumb_Animation_Setting
{
EAPI const char *elm_slider_unit_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator) EINA_ARG_NONNULL(1);
EAPI const char *elm_slider_indicator_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val)) EINA_ARG_NONNULL(1);
+ EAPI void elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val), void (*free_func)(const char *str)) EINA_ARG_NONNULL(1);
+ EAPI void elm_slider_units_format_function_set(Evas_Object *obj, const char *(*func)(double val), void (*free_func)(const char *str)) EINA_ARG_NONNULL(1);
EAPI void elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_slider_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max) EINA_ARG_NONNULL(1);
* expensive reactions to the value change.
*/
+
+ /* actionslider */
+
/**
* @addtogroup Actionslider Actionslider
*
* See an example of actionslider usage @ref actionslider_example_page "here"
* @{
*/
- typedef enum _Elm_Actionslider_Pos
+
+ typedef enum _Elm_Actionslider_Indicator_Pos
+ {
+ ELM_ACTIONSLIDER_INDICATOR_NONE,
+ ELM_ACTIONSLIDER_INDICATOR_LEFT,
+ ELM_ACTIONSLIDER_INDICATOR_RIGHT,
+ ELM_ACTIONSLIDER_INDICATOR_CENTER
+ } Elm_Actionslider_Indicator_Pos;
+
+ typedef enum _Elm_Actionslider_Magnet_Pos
+ {
+ ELM_ACTIONSLIDER_MAGNET_NONE = 0,
+ ELM_ACTIONSLIDER_MAGNET_LEFT = 1 << 0,
+ ELM_ACTIONSLIDER_MAGNET_CENTER = 1 << 1,
+ ELM_ACTIONSLIDER_MAGNET_RIGHT= 1 << 2,
+ ELM_ACTIONSLIDER_MAGNET_ALL = (1 << 3) -1,
+ ELM_ACTIONSLIDER_MAGNET_BOTH = (1 << 3)
+ } Elm_Actionslider_Magnet_Pos;
+
+ typedef enum _Elm_Actionslider_Label_Pos
{
- ELM_ACTIONSLIDER_NONE = 0,
- ELM_ACTIONSLIDER_LEFT = 1 << 0,
- ELM_ACTIONSLIDER_CENTER = 1 << 1,
- ELM_ACTIONSLIDER_RIGHT = 1 << 2,
- ELM_ACTIONSLIDER_ALL = (1 << 3) -1
- } Elm_Actionslider_Pos;
+ ELM_ACTIONSLIDER_LABEL_LEFT,
+ ELM_ACTIONSLIDER_LABEL_RIGHT,
+ ELM_ACTIONSLIDER_LABEL_CENTER,
+ ELM_ACTIONSLIDER_LABEL_BUTTON
+ } Elm_Actionslider_Label_Pos;
+
+ /* smart callbacks called:
+ * "indicator,position" - when a button reaches to the special position like "left", "right" and "center".
+ */
/**
* Add a new actionslider to the parent.
* @return The new actionslider object or NULL if it cannot be created
*/
EAPI Evas_Object *elm_actionslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+
/**
- * Set actionslider labels.
- *
- * @param obj The actionslider object
- * @param left_label The label to be set on the left.
- * @param center_label The label to be set on the center.
- * @param right_label The label to be set on the right.
- * @deprecated use elm_object_text_set() instead.
- */
- EINA_DEPRECATED EAPI void elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char *center_label, const char *right_label) EINA_ARG_NONNULL(1);
+ * Set actionslider label.
+ *
+ * @param[in] obj The actionslider object
+ * @param[in] pos The position of the label.
+ * (ELM_ACTIONSLIDER_LABEL_LEFT, ELM_ACTIONSLIDER_LABEL_RIGHT)
+ * @param label The label which is going to be set.
+ */
+ EAPI void elm_actionslider_label_set(Evas_Object *obj, Elm_Actionslider_Label_Pos pos, const char *label) EINA_ARG_NONNULL(1);
/**
* Get actionslider labels.
*
* @param left_label A char** to place the left_label of @p obj into.
* @param center_label A char** to place the center_label of @p obj into.
* @param right_label A char** to place the right_label of @p obj into.
- * @deprecated use elm_object_text_set() instead.
*/
- EINA_DEPRECATED EAPI void elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label) EINA_ARG_NONNULL(1);
+ EAPI void elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label) EINA_ARG_NONNULL(1);
/**
* Get actionslider selected label.
*
* @param obj The actionslider object.
* @param pos The position of the indicator.
*/
- EAPI void elm_actionslider_indicator_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+ EAPI void elm_actionslider_indicator_pos_set(Evas_Object *obj, Elm_Actionslider_Indicator_Pos pos) EINA_ARG_NONNULL(1);
/**
* Get actionslider indicator position.
*
* @param obj The actionslider object.
* @return The position of the indicator.
*/
- EAPI Elm_Actionslider_Pos elm_actionslider_indicator_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Elm_Actionslider_Indicator_Pos elm_actionslider_indicator_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set actionslider magnet position. To make multiple positions magnets @c or
- * them together(e.g.: ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT)
+ * them together(e.g.: ELM_ACTIONSLIDER_MAGNET_LEFT | ELM_ACTIONSLIDER_MAGNET_RIGHT)
*
* @param obj The actionslider object.
* @param pos Bit mask indicating the magnet positions.
*/
- EAPI void elm_actionslider_magnet_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+ EAPI void elm_actionslider_magnet_pos_set(Evas_Object *obj, Elm_Actionslider_Magnet_Pos pos) EINA_ARG_NONNULL(1);
/**
* Get actionslider magnet position.
*
* @param obj The actionslider object.
* @return The positions with magnet property.
*/
- EAPI Elm_Actionslider_Pos elm_actionslider_magnet_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Elm_Actionslider_Magnet_Pos elm_actionslider_magnet_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set actionslider enabled position. To set multiple positions as enabled @c or
- * them together(e.g.: ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT).
+ * them together(e.g.: ELM_ACTIONSLIDER_MAGNET_LEFT | ELM_ACTIONSLIDER_MAGNET_RIGHT).
*
* @note All the positions are enabled by default.
*
* @param obj The actionslider object.
* @param pos Bit mask indicating the enabled positions.
*/
- EAPI void elm_actionslider_enabled_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+ EAPI void elm_actionslider_enabled_pos_set(Evas_Object *obj, Elm_Actionslider_Magnet_Pos pos) EINA_ARG_NONNULL(1);
/**
* Get actionslider enabled position.
*
* @param obj The actionslider object.
* @return The enabled positions.
*/
- EAPI Elm_Actionslider_Pos elm_actionslider_enabled_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Elm_Actionslider_Magnet_Pos elm_actionslider_enabled_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the label used on the indicator.
*
*
* @param obj The actionslider object
* @return The indicator label
- * @deprecated use elm_object_text_set() instead.
+ * @deprecated use elm_object_text_get() instead.
*/
EINA_DEPRECATED EAPI const char *elm_actionslider_indicator_label_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
/**
- * @}
+ * Hold actionslider object movement.
+ *
+ * @param[in] obj The actionslider object
+ * @param[in] flag Actionslider hold/release
+ * (EINA_TURE = hold/EIN_FALSE = release)
+ *
+ * @ingroup Actionslider
+ */
+ EAPI void elm_actionslider_hold(Evas_Object *obj, Eina_Bool flag) EINA_ARG_NONNULL(1);
+
+
+ /**
+ *
*/
/* genlist */
typedef Evas_Object *(*GenlistItemIconGetFunc) (void *data, Evas_Object *obj, const char *part);
typedef Eina_Bool (*GenlistItemStateGetFunc) (void *data, Evas_Object *obj, const char *part);
typedef void (*GenlistItemDelFunc) (void *data, Evas_Object *obj);
- typedef void (*GenlistItemMovedFunc) (Evas_Object *obj, Elm_Genlist_Item *item, Elm_Genlist_Item *rel_item, Eina_Bool move_after);
+ typedef void (*GenlistItemMovedFunc) ( Evas_Object *genlist, Elm_Genlist_Item *item, Elm_Genlist_Item *rel_item, Eina_Bool move_after);
struct _Elm_Genlist_Item_Class
{
- const char *item_style;
- struct
- {
- GenlistItemLabelGetFunc label_get;
- GenlistItemIconGetFunc icon_get;
- GenlistItemStateGetFunc state_get;
- GenlistItemDelFunc del;
- GenlistItemMovedFunc moved; // TODO: do not use this. change this to smart callback.
- } func;
+ const char *item_style;
+ struct {
+ GenlistItemLabelGetFunc label_get;
+ GenlistItemIconGetFunc icon_get;
+ GenlistItemStateGetFunc state_get;
+ GenlistItemDelFunc del;
+ GenlistItemMovedFunc moved;
+ } func;
+ const char *edit_item_style;
const char *mode_item_style;
};
-
EAPI Evas_Object *elm_genlist_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_multi_select_set(Evas_Object *obj, Eina_Bool multi) EINA_ARG_NONNULL(1);
EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5);
EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5);
- EAPI Elm_Genlist_Item *elm_genlist_item_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func,const void *func_data);
- EAPI Elm_Genlist_Item *elm_genlist_item_direct_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
/* operations to retrieve existing items */
EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI const Eina_List *elm_genlist_selected_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_item_item_class_update(Elm_Genlist_Item *it, const Elm_Genlist_Item_Class *itc) EINA_ARG_NONNULL(1, 2);
- EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
EAPI const Elm_Genlist_Item *elm_genlist_mode_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_genlist_reorder_mode_set(Evas_Object *obj, Eina_Bool reorder_mode) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_genlist_reorder_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- /** Signals that you can add callbacks for are:
+ /* Signals that you can add callbacks for are:
* "clicked,double" - This is called when a user has double-clicked an item.
* The event_info parameter is the genlist item that was
* double-clicked.
* "selected" - This is called when a user has made an item selected. The
* event_info parameter is the genlist item that was selected.
* "unselected" - This is called when a user has made an item unselected. The
- * event_info parameter is the genlist item that was
- * unselected.
+ * event_info parameter is the genlist item that was unselected.
* "expanded" - This is called when elm_genlist_item_expanded_set() is called
- * and the item is now meant to be expanded. The event_info
- * parameter is the genlist item that was indicated to expand.
- * It is the job of this callback to then fill in the child
- * items.
- * "contracted" - This is called when elm_genlist_item_expanded_set() is
- * called and the item is now meant to be contracted. The
- * event_info parameter is the genlist item that was indicated
- * to contract. It is the job of this callback to then delete
- * the child items.
+ * and the item is now meant to be expanded. The event_info parameter is the
+ * genlist item that was indicated to expand. It is the job of this callback
+ * to then fill in the child items.
+ * "contracted" - This is called when elm_genlist_item_expanded_set() is called
+ * and the item is now meant to be contracted. The event_info parameter is
+ * the genlist item that was indicated to contract. It is the job of this
+ * callback to then delete the child items.
* "expand,request" - This is called when a user has indicated they want to
- * expand a tree branch item. The callback should decide
- * if the item can expand (has any children) and then call
- * elm_genlist_item_expanded_set() appropriately to set
- * the state. The event_info parameter is the genlist item
- * that was indicated to expand.
+ * expand a tree branch item. The callback should decide if the item can
+ * expand (has any children) and then call elm_genlist_item_expanded_set()
+ * appropriately to set the state. The event_info parameter is the genlist
+ * item that was indicated to expand.
* "contract,request" - This is called when a user has indicated they want to
- * contract a tree branch item. The callback should
- * decide if the item can contract (has any children)
- * and then call elm_genlist_item_expanded_set()
- * appropriately to set the state. The event_info
- * parameter is the genlist item that was indicated to
- * contract.
+ * contract a tree branch item. The callback should decide if the item can
+ * contract (has any children) and then call elm_genlist_item_expanded_set()
+ * appropriately to set the state. The event_info parameter is the genlist
+ * item that was indicated to contract.
* "realized" - This is called when the item in the list is created as a real
- * evas object. event_info parameter is the genlist item that
- * was created. The object may be deleted at any time, so it is
- * up to the caller to not use the object pointer from
- * elm_genlist_item_object_get() in a way where it may point to
- * freed objects.
+ * evas object. event_info parameter is the genlist item that was created.
+ * The object may be deleted at any time, so it is up to the caller to
+ * not use the object pointer from elm_genlist_item_object_get() in a way
+ * where it may point to freed objects.
* "unrealized" - This is called just before an item is unrealized. After
- * this call icon objects provided will be deleted and the
- * item object itself delete or be put into a floating cache.
- * "drag,start,up" - This is called when the item in the list has been
- * dragged (not scrolled) up.
- * "drag,start,down" - This is called when the item in the list has been
- * dragged (not scrolled) down.
- * "drag,start,left" - This is called when the item in the list has been
- * dragged (not scrolled) left.
- * "drag,start,right" - This is called when the item in the list has been
- * dragged (not scrolled) right.
+ * this call icon objects provided will be deleted and the item object
+ * itself delete or be put into a floating cache.
+ * "drag,start,up" - This is called when the item in the list has been dragged
+ * (not scrolled) up.
+ * "drag,start,down" - This is called when the item in the list has been dragged
+ * (not scrolled) down.
+ * "drag,start,left" - This is called when the item in the list has been dragged i
+ * (not scrolled) left.
+ * "drag,start,right" - This is called when the item in the list has been dragged
+ * (not scrolled) right.
* "drag,stop" - This is called when the item in the list has stopped being
* dragged.
* "drag" - This is called when the item in the list is being dragged.
- * "longpressed" - This is called when the item is pressed for a certain
- * amount of time. By default it's 1 second.
+ * "longpressed" - This is called when the item is pressed for a certain amount
+ * of time. By default it's 1 second.
* "scroll,edge,top" - This is called when the genlist is scrolled until the
* top edge.
- * "scroll,edge,bottom" - This is called when the genlist is scrolled until
- * the bottom edge.
+ * "scroll,edge,bottom" - This is called when the genlist is scrolled until the
+ * bottom edge.
* "scroll,edge,left" - This is called when the genlist is scrolled until the
* left edge.
- * "scroll,edge,right" - This is called when the genlist is scrolled until
- * the right edge.
+ * "scroll,edge,right" - This is called when the genlist is scrolled until the
+ * right edge.
* "multi,swipe,left" - This is called when the genlist is multi-touch swiped
* left.
- * "multi,swipe,right" - This is called when the genlist is multi-touch
- * swiped right.
- * "multi,swipe,up" - This is called when the genlist is multi-touch swiped
- * up.
+ * "multi,swipe,right" - This is called when the genlist is multi-touch swiped
+ * right.
+ * "multi,swipe,up" - This is called when the genlist is multi-touch swiped up.
* "multi,swipe,down" - This is called when the genlist is multi-touch swiped
* down.
* "multi,pinch,out" - This is called when the genlist is multi-touch pinched
* out.
- * "multi,pinch,in" - This is called when the genlist is multi-touch pinched
- * in.
- * "swipe" - This is called when the genlist is swiped.
+ * "multi,pinch,in" - This is called when the genlist is multi-touch pinched in.
*/
- /* check */
- EAPI Evas_Object *elm_check_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
- EINA_DEPRECATED EAPI void elm_check_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1)
- EINA_DEPRECATED EAPI const char *elm_check_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI void elm_check_icon_set(Evas_Object *obj, Evas_Object *icon); EINA_ARG_NONNULL(1)
- EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI void elm_check_state_set(Evas_Object *obj, Eina_Bool state); EINA_ARG_NONNULL(1)
- EAPI Eina_Bool elm_check_state_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
- EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep); EINA_ARG_NONNULL(1)
- /* smart callbacks called:
- * "changed" - This is called whenever the user changes the state of one of the check object.
- */
+ EAPI void elm_genlist_edit_mode_set(Evas_Object *obj, Eina_Bool edit_mode) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_genlist_edit_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, Eina_Bool renamed) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_genlist_item_rename_mode_get(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+ EAPI void elm_genlist_item_move_after(Elm_Genlist_Item *it, Elm_Genlist_Item *after ) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_genlist_item_move_before(Elm_Genlist_Item *it, Elm_Genlist_Item *before) EINA_ARG_NONNULL(1, 2);
+ EAPI void elm_genlist_effect_set(const Evas_Object *obj, Eina_Bool emode) EINA_ARG_NONNULL(1);
+ EAPI void elm_genlist_pinch_zoom_set(Evas_Object *obj, Eina_Bool emode) EINA_ARG_NONNULL(1);
+ EAPI void elm_genlist_pinch_zoom_mode_set(Evas_Object *obj, Eina_Bool emode) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_genlist_pinch_zoom_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- /* radio */
- EAPI Evas_Object *elm_radio_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
- EINA_DEPRECATED EAPI void elm_radio_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
- EINA_DEPRECATED EAPI const char *elm_radio_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
- EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_radio_group_add(Evas_Object *obj, Evas_Object *group) EINA_ARG_NONNULL(1);
- EAPI void elm_radio_state_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
- EAPI int elm_radio_state_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_radio_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
+ /**
+ * @page tutorial_check Check example
+ * @dontinclude check_example_01.c
+ *
+ * This example will show 2 checkboxes, one with just a label and the second
+ * one with both a label and an icon. This example also ilustrates how to
+ * have the checkbox change the value of a variable and how to react to those
+ * changes.
+ *
+ * We will start with the usual setup code:
+ * @until show(bg)
+ *
+ * And now we create our first checkbox, set its label, tell it to change
+ * the value of @p value when the checkbox stats is changed and ask to be
+ * notified of state changes:
+ * @until show
+ *
+ * For our second checkbox we are going to set an icon so we need to create
+ * and icon:
+ * @until show
+ * @note For simplicity we are using a rectangle as icon, but any evas object
+ * can be used.
+ *
+ * And for our second checkbox we set the label, icon and state to true:
+ * @until show
+ *
+ * We now do some more setup:
+ * @until ELM_MAIN
+ *
+ * And finally implement the callback that will be called when the first
+ * checkbox's state changes. This callback will use @p data to print a
+ * message:
+ * @until }
+ * @note This work because @p data is @p value(from the main function) and @p
+ * value is changed when the checkbox is changed.
+ *
+ * Our example will look like this:
+ * @image html screenshots/check_example_01.png
+ * @image latex screenshots/check_example_01.eps
+ *
+ * @example check_example_01.c
+ */
+ /**
+ * @defgroup Check Check
+ *
+ * @brief The check widget allows for toggling a value between true and
+ * false.
+ *
+ * Check objects are a lot like radio objects in layout and functionality
+ * except they do not work as a group, but independently and only toggle the
+ * value of a boolean from false to true (0 or 1). elm_check_state_set() sets
+ * the boolean state (1 for true, 0 for false), and elm_check_state_get()
+ * returns the current state. For convenience, like the radio objects, you
+ * can set a pointer to a boolean directly with elm_check_state_pointer_set()
+ * for it to modify.
+ *
+ * Signals that you can add callbacks for are:
+ * "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.
+ * @{
+ */
+ /**
+ * @brief Add a new Check object
+ *
+ * @param parent The parent object
+ * @return The new object or NULL if it cannot be created
+ */
+ EAPI Evas_Object *elm_check_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Set the text label of the check object
+ *
+ * @param obj The check object
+ * @param label The text label string in UTF-8
+ *
+ * @deprecated use elm_object_text_set() instead.
+ */
+ EINA_DEPRECATED EAPI void elm_check_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Get the text label of the check object
+ *
+ * @param obj The check object
+ * @return The text label string in UTF-8
+ *
+ * @deprecated use elm_object_text_get() instead.
+ */
+ EINA_DEPRECATED EAPI const char *elm_check_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Set the icon object of the check object
+ *
+ * @param obj The check object
+ * @param icon The icon object
+ *
+ * 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.
+ */
+ 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);
+ /**
+ * @brief Unset the icon used for the check object
+ *
+ * @param obj The check object
+ * @return The icon object that was being used
+ *
+ * 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);
+ /**
+ * @brief Set the on/off state of the check object
+ *
+ * @param obj The check object
+ * @param state The state to use (1 == on, 0 == off)
+ *
+ * This sets the state of the check. If set
+ * with elm_check_state_pointer_set() the state of that variable is also
+ * changed. Calling this @b doesn't cause the "changed" signal to be emited.
+ */
+ EAPI void elm_check_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Get the state of the check object
+ *
+ * @param obj The check object
+ * @return The boolean state
+ */
+ EAPI Eina_Bool elm_check_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /**
+ * @brief Set a convenience pointer to a boolean to change
+ *
+ * @param obj The check object
+ * @param statep Pointer to the boolean to modify
+ *
+ * This sets a pointer to a boolean, that, in addition to the check objects
+ * state will also be modified directly. To stop setting the object pointed
+ * to simply use NULL as the @p statep parameter. If @p statep is not NULL,
+ * then when this is called, the check objects state will also be modified to
+ * reflect the value of the boolean @p statep points to, just like calling
+ * elm_check_state_set().
+ */
+ EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1);
+ /**
+ * @}
+ */
+
+ /* radio */
+ EAPI Evas_Object *elm_radio_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_radio_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_radio_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_radio_group_add(Evas_Object *obj, Evas_Object *group) EINA_ARG_NONNULL(1);
+ EAPI void elm_radio_state_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
+ EAPI int elm_radio_state_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_radio_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
EAPI int elm_radio_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_radio_value_pointer_set(Evas_Object *obj, int *valuep) EINA_ARG_NONNULL(1);
/* smart callbacks called:
EAPI void elm_pager_content_promote(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
EAPI Evas_Object *elm_pager_content_bottom_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_pager_to_content_pop(Evas_Object *obj, Evas_Object *content); EINA_ARG_NONNULL(1);
+ EAPI void elm_pager_animation_disabled_set(Evas_Object *obj, Eina_Bool disable); EINA_ARG_NONNULL(1);
+
/* available item styles:
* default
* fade
EAPI void elm_index_item_data_set(Elm_Index_Item *it, const void *data) EINA_ARG_NONNULL(1);
EAPI void elm_index_item_del_cb_set(Elm_Index_Item *it, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
EAPI const char *elm_index_item_letter_get(const Elm_Index_Item *item) EINA_ARG_NONNULL(1);
+ EAPI void elm_index_button_image_invisible_set(Evas_Object *obj, Eina_Bool invisible) EINA_ARG_NONNULL(1);
/* smart callbacks called:
* "changed" - when the selected index item changes
* "delay,changed" - when the selected index item changes, but after some small idle period
EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size) EINA_ARG_NONNULL(1);
EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
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);
/* flip */
typedef enum _Elm_Flip_Mode
EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EINA_DEPRECATED EAPI void elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_input_panel_enabled_set(Evas_Object *obj, Eina_Bool enabled);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_input_panel_layout_set(Evas_Object *obj, Elm_Input_Panel_Layout layout);
+ EINA_DEPRECATED EAPI Ecore_IMF_Context *elm_scrolled_entry_imf_context_get(Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool autocap);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_autoperiod_set(Evas_Object *obj, Eina_Bool autoperiod);
/* conformant */
EAPI Evas_Object *elm_conformant_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
EAPI void elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_mapbuf_alpha_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- /* flipselector */
- typedef struct _Elm_Flipselector_Item Elm_Flipselector_Item;
+ /**
+ * @defgroup Flipselector Flip Selector
+ *
+ * A flip selector is a widget to show a set of @b text items, one
+ * at a time, with the same sheet switching style as the @ref Clock
+ * "clock" widget, when one changes the current displaying sheet
+ * (thus, the "flip" in the name).
+ *
+ * User clicks to flip sheets which are @b held for some time will
+ * make the flip selector to flip continuosly and automatically for
+ * the user. The interval between flips will keep growing in time,
+ * so that it helps the user to reach an item which is distant from
+ * the current selection.
+ *
+ * Smart callbacks one can register to:
+ * - @c "selected" - when the widget's selected text item is changed
+ * - @c "overflowed" - when the widget's current selection is changed
+ * from the first item in its list to the last
+ * - @c "underflowed" - when the widget's current selection is changed
+ * from the last item in its list to the first
+ *
+ * Available styles for it:
+ * - @c "default"
+ *
+ * Here is an example on its usage:
+ * @li @ref flipselector_example
+ */
+
+ /**
+ * @addtogroup Flipselector
+ * @{
+ */
+ typedef struct _Elm_Flipselector_Item Elm_Flipselector_Item; /**< Item handle for a flip selector widget. */
+
+ /**
+ * Add a new flip selector widget to the given parent Elementary
+ * (container) widget
+ *
+ * @param parent The parent object
+ * @return a new flip selector widget handle or @c NULL, on errors
+ *
+ * This function inserts a new flip selector widget on the canvas.
+ *
+ * @ingroup Flipselector
+ */
EAPI Evas_Object *elm_flipselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+
+ /**
+ * Programmatically select the next item of a flip selector widget
+ *
+ * @param obj The flipselector object
+ *
+ * @note The selection will be animated. Also, if it reaches the
+ * end of its list of member items, it will continue with the first
+ * one onwards.
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_flip_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Programmatically select the previous item of a flip selector
+ * widget
+ *
+ * @param obj The flipselector object
+ *
+ * @note The selection will be animated. Also, if it reaches the
+ * beginning of its list of member items, it will continue with the
+ * last one backwards.
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_flip_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Elm_Flipselector_Item *elm_flipselector_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data) EINA_ARG_NONNULL(1);
- EAPI Elm_Flipselector_Item *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data) EINA_ARG_NONNULL(1);
+
+ /**
+ * Append a (text) item to a flip selector widget
+ *
+ * @param obj The flipselector object
+ * @param label The (text) label of the new item
+ * @param func Convenience callback function to take place when
+ * item is selected
+ * @param data Data passed to @p func, above
+ * @return A handle to the item added or @c NULL, on errors
+ *
+ * The widget's list of labels to show will be appended with the
+ * given value. If the user wishes so, a callback function pointer
+ * can be passed, which will get called when this same item is
+ * selected.
+ *
+ * @note The current selection @b won't be modified by appending an
+ * element to the list.
+ *
+ * @note The maximum length of the text label is going to be
+ * determined <b>by the widget's theme</b>. Strings larger than
+ * that value are going to be @b truncated.
+ *
+ * @ingroup Flipselector
+ */
+ EAPI Elm_Flipselector_Item *elm_flipselector_item_append(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
+
+ /**
+ * Prepend a (text) item to a flip selector widget
+ *
+ * @param obj The flipselector object
+ * @param label The (text) label of the new item
+ * @param func Convenience callback function to take place when
+ * item is selected
+ * @param data Data passed to @p func, above
+ * @return A handle to the item added or @c NULL, on errors
+ *
+ * The widget's list of labels to show will be prepended with the
+ * given value. If the user wishes so, a callback function pointer
+ * can be passed, which will get called when this same item is
+ * selected.
+ *
+ * @note The current selection @b won't be modified by prepending
+ * an element to the list.
+ *
+ * @note The maximum length of the text label is going to be
+ * determined <b>by the widget's theme</b>. Strings larger than
+ * that value are going to be @b truncated.
+ *
+ * @ingroup Flipselector
+ */
+ EAPI Elm_Flipselector_Item *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the internal list of items in a given flip selector widget.
+ *
+ * @param obj The flipselector object
+ * @return The list of items (#Elm_Flipselector_Item as data) or @c
+ * NULL on errors.
+ *
+ * This list is @b not to be modified in any way and must not be
+ * freed. Use the list members with functions like
+ * elm_flipselector_item_label_set(),
+ * elm_flipselector_item_label_get(), elm_flipselector_item_del(),
+ * elm_flipselector_item_del(),
+ * elm_flipselector_item_selected_get(),
+ * elm_flipselector_item_selected_set().
+ *
+ * @warning This list is only valid until @p obj object's internal
+ * items list is changed. It should be fetched again with another
+ * call to this function when changes happen.
+ *
+ * @ingroup Flipselector
+ */
EAPI const Eina_List *elm_flipselector_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the first item in the given flip selector widget's list of
+ * items.
+ *
+ * @param obj The flipselector object
+ * @return The first item or @c NULL, if it has no items (and on
+ * errors)
+ *
+ * @see elm_flipselector_item_append()
+ * @see elm_flipselector_last_item_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI Elm_Flipselector_Item *elm_flipselector_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the last item in the given flip selector widget's list of
+ * items.
+ *
+ * @param obj The flipselector object
+ * @return The last item or @c NULL, if it has no items (and on
+ * errors)
+ *
+ * @see elm_flipselector_item_prepend()
+ * @see elm_flipselector_first_item_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI Elm_Flipselector_Item *elm_flipselector_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the currently selected item in a flip selector widget.
+ *
+ * @param obj The flipselector object
+ * @return The selected item or @c NULL, if the widget has no items
+ * (and on erros)
+ *
+ * @ingroup Flipselector
+ */
EAPI Elm_Flipselector_Item *elm_flipselector_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set whether a given flip selector widget's item should be the
+ * currently selected one.
+ *
+ * @param item The flip selector item
+ * @param selected @c EINA_TRUE to select it, @c EINA_FALSE to unselect.
+ *
+ * This sets whether @p item is or not the selected (thus, under
+ * display) one. If @p item is different than one under display,
+ * the latter will be unselected. If the @p item is set to be
+ * unselected, on the other hand, the @b first item in the widget's
+ * internal members list will be the new selected one.
+ *
+ * @see elm_flipselector_item_selected_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_item_selected_set(Elm_Flipselector_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get whether a given flip selector widget's item is the currently
+ * selected one.
+ *
+ * @param item The flip selector item
+ * @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
+ * (or on errors).
+ *
+ * @see elm_flipselector_item_selected_set()
+ *
+ * @ingroup Flipselector
+ */
EAPI Eina_Bool elm_flipselector_item_selected_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Delete a given item from a flip selector widget.
+ *
+ * @param item The item to delete
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_item_del(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Get the label of a given flip selector widget's item.
+ *
+ * @param item The item to get label from
+ * @return The text label of @p item or @c NULL, on errors
+ *
+ * @see elm_flipselector_item_label_set()
+ *
+ * @ingroup Flipselector
+ */
EAPI const char *elm_flipselector_item_label_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set the label of a given flip selector widget's item.
+ *
+ * @param item The item to set label on
+ * @param label The text label string, in UTF-8 encoding
+ *
+ * @see elm_flipselector_item_label_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_item_label_set(Elm_Flipselector_Item *item, const char *label) EINA_ARG_NONNULL(1);
+
+ /**
+ * Gets the item before @p item in a flip selector widget's
+ * internal list of items.
+ *
+ * @param item The item to fetch previous from
+ * @return The item before the @p item, in its parent's list. If
+ * there is no previous item for @p item or there's an
+ * error, @c NULL is returned.
+ *
+ * @see elm_flipselector_item_next_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI Elm_Flipselector_Item *elm_flipselector_item_prev_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Gets the item after @p item in a flip selector widget's
+ * internal list of items.
+ *
+ * @param item The item to fetch next from
+ * @return The item after the @p item, in its parent's list. If
+ * there is no next item for @p item or there's an
+ * error, @c NULL is returned.
+ *
+ * @see elm_flipselector_item_next_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI Elm_Flipselector_Item *elm_flipselector_item_next_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+
+ /**
+ * Set the interval on time updates for an user mouse button hold
+ * on a flip selector widget.
+ *
+ * @param obj The flip selector object
+ * @param interval The (first) interval value in seconds
+ *
+ * This interval value is @b decreased while the user holds the
+ * mouse pointer either flipping up or flipping doww a given flip
+ * selector.
+ *
+ * This helps the user to get to a given item distant from the
+ * current one easier/faster, as it will start to flip quicker and
+ * quicker on mouse button holds.
+ *
+ * The calculation for the next flip interval value, starting from
+ * the one set with this call, is the previous interval divided by
+ * 1.05, so it decreases a little bit.
+ *
+ * The default starting interval value for automatic flips is
+ * @b 0.85 seconds.
+ *
+ * @see elm_flipselector_interval_get()
+ *
+ * @ingroup Flipselector
+ */
EAPI void elm_flipselector_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
- EAPI double elm_flipselector_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- /* smart callbacks called:
- * "selected" - when flipselector selected item is changed
- * "overflowed" - when flipselector item is changed to first item
- * from last item
- * "underflowed" - when flipselector item is changed to last item
- * from first item.
+
+ /**
+ * Get the interval on time updates for an user mouse button hold
+ * on a flip selector widget.
+ *
+ * @param obj The flip selector object
+ * @return The (first) interval value, in seconds, set on it
+ *
+ * @see elm_flipselector_interval_set() for more details
+ *
+ * @ingroup Flipselector
*/
- /* available styles:
- * default
+ EAPI double elm_flipselector_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+ /**
+ * @}
*/
/**
* The @a parent argument can be set to NULL for no parent. If a parent is set
* there is no need to call elm_animator_del(), when the parent is deleted it
* will delete the animator.
+ * @deprecated Use @ref Transit instead.
+
*/
EINA_DEPRECATED EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
/**
* automatically called when the parent is deleted.
*
* @param[in] animator Animator object
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_del(Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
*
* @param[in] animator Animator object
* @param[in] duration Duration in second
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_duration_set(Elm_Animator *animator, double duration) EINA_ARG_NONNULL(1);
/**
* The @p func callback will be called with a frame value in range [0, 1] which
* indicates how far along the animation should be. It is the job of @p func to
* actually change the state of any object(or objects) that are being animated.
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_operation_callback_set(Elm_Animator *animator, Elm_Animator_Operation_Cb func, void *data) EINA_ARG_NONNULL(1);
/**
* @param[in] data Callback function user argument
*
* @warning @a func will not be executed if elm_animator_stop() is called.
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_completion_callback_set(Elm_Animator *animator, Elm_Animator_Completion_Cb func, void *data) EINA_ARG_NONNULL(1);
/**
* animation in progress the animation will be stopped(the operation callback
* will not be executed again) and it can't be restarted using
* elm_animator_resume().
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_stop(Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
*
* @param[in] animator Animator object
* @param[in] repeat_cnt Repeat count
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt) EINA_ARG_NONNULL(1);
/**
* This function starts the animation if the nescessary properties(duration
* and operation callback) have been set. Once started the animation will
* run until complete or elm_animator_stop() is called.
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_animate(Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
*
* @param[in] animator Animator object
* @param[in] cs Curve style. Default is ELM_ANIMATOR_CURVE_LINEAR
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs) EINA_ARG_NONNULL(1);
/**
*
* @param[in] animator Animator object
* @param[in] cs Curve style. Default is ELM_ANIMATOR_CURVE_LINEAR
+ * @deprecated Use @ref Transit instead.
*/
- EINA_DEPRECATED EAPI Elm_Animator_Curve_Style elm_animator_curve_style_get(const Elm_Animator *animator); EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Elm_Animator_Curve_Style elm_animator_curve_style_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* @brief Sets wether the animation should be automatically reversed.
*
* will run in reverse once for each time it ran forward.@n
* Runnin an animation in reverse is accomplished by calling the operation
* callback with a frame value starting at 1 and diminshing until 0.
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse) EINA_ARG_NONNULL(1);
/**
* Gets wether the animation will automatically reversed
*
* @param[in] animator Animator object
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI Eina_Bool elm_animator_auto_reverse_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* or through elm_animator_stop()).
*
* @param[in] animator Animator object
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI Eina_Bool elm_animator_operating_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* Gets how many times the animation will be repeated
*
* @param[in] animator Animator object
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI unsigned int elm_animator_repeat_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* will not be called). If the animation is not yet running this is a no-op.
* Once an animation has been paused with this function it can be resumed
* using elm_animator_resume().
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_pause(Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* animation with a duration of 3 seconds is paused after 1 second for 1 second
* it will resume as if it had ben animating for 2 seconds, the operating
* callback will be called with a frame value of aproximately 2/3.
+ * @deprecated Use @ref Transit instead.
*/
EINA_DEPRECATED EAPI void elm_animator_resume(Elm_Animator *animator) EINA_ARG_NONNULL(1);
/**
* "selected" - when item is selected (scroller stops)
*/
- /* colorselector */
+ /**
+ * @page tutorial_colorselector Color selector example
+ * @dontinclude colorselector_example_01.c
+ *
+ * This example shows how to change the color of a rectangle using a color
+ * selector. We aren't going to explain a lot of the code since it's the
+ * usual setup code:
+ * @until show(rect)
+ *
+ * Now that we have a window with background and a rectangle we can create
+ * our color_selector and set it's initial color to fully opaque blue:
+ * @until show
+ *
+ * Next we tell ask to be notified whenever the color changes:
+ * @until changed
+ *
+ * We follow that we some more run of the mill setup code:
+ * @until ELM_MAIN()
+ *
+ * And now get to the callback that sets the color of the rectangle:
+ * @until }
+ *
+ * This example will look like this:
+ * @image html screenshots/colorselector_example_01.png
+ * @image latex screenshots/colorselector_example_01.eps
+ *
+ * @example colorselector_example_01.c
+ */
+ /**
+ * @defgroup Colorselector Colorselector
+ *
+ * @{
+ *
+ * @brief Widget for user to select a color.
+ *
+ * Signals that you can add callbacks for are:
+ * "changed" - When the color value changes(event_info is NULL).
+ *
+ * See @ref tutorial_colorselector.
+ */
+ /**
+ * @brief Add a new colorselector to the parent
+ *
+ * @param parent The parent object
+ * @return The new object or NULL if it cannot be created
+ *
+ * @ingroup Colorselector
+ */
EAPI Evas_Object *elm_colorselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ /**
+ * Set a color for the colorselector
+ *
+ * @param obj Colorselector object
+ * @param r r-value of color
+ * @param g g-value of color
+ * @param b b-value of color
+ * @param a a-value of color
+ *
+ * @ingroup Colorselector
+ */
EAPI void elm_colorselector_color_set(Evas_Object *obj, int r, int g , int b, int a) EINA_ARG_NONNULL(1);
+ /**
+ * Get a color from the colorselector
+ *
+ * @param obj Colorselector object
+ * @param r integer pointer for r-value of color
+ * @param g integer pointer for g-value of color
+ * @param b integer pointer for b-value of color
+ * @param a integer pointer for a-value of color
+ *
+ * @ingroup Colorselector
+ */
EAPI void elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g , int *b, int *a) EINA_ARG_NONNULL(1);
- /* smart callbacks called:
- * "changed" - when the color value changes
+ /**
+ * @}
*/
/* Contextual Popup */
typedef void (*Elm_Transit_Effect_End_Cb) (Elm_Transit_Effect *effect, Elm_Transit *transit);
/**
+ * Elm_Transit_Del_Cb
+ *
+ * A callback called when the transit is deleted.
+ */
+ typedef void (*Elm_Transit_Del_Cb) (void *data, Elm_Transit *transit);
+
+ /**
* Add new transit.
*
* @note Is not necessary to delete the transit object, it will be deleted at
*
* @ingroup Transit
*/
- EAPI void elm_transit_del_cb_set(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit* transit), void *data) EINA_ARG_NONNULL(1);
+ EAPI void elm_transit_del_cb_set(Elm_Transit *transit, Elm_Transit_Del_Cb cb, void *data) EINA_ARG_NONNULL(1);
/**
* Set reverse effect automatically.
EAPI void elm_transit_chain_transit_add(Elm_Transit *transit, Elm_Transit *chain_transit) EINA_ARG_NONNULL(1, 2);
/**
+ * Cut off the chain relationship between two transits.
+ *
+ * @note @p transit can not be NULL. Transit would have the chain relationship with @p chain transit.
+ * @note @p chain_transit can not be NULL. Chain transits should be chained to the @p transit.
+ *
+ * @param transit The transit object.
+ * @param chain_transit The chain transit object.
+ *
+ * This function remove the @p chain_transit transition from the @p transit.
+ *
+ * @ingroup Transit
+ */
+ EAPI void elm_transit_chain_transit_del(Elm_Transit *transit, Elm_Transit *chain_transit) EINA_ARG_NONNULL(1,2);
+
+ /**
* Get the current chain transit list.
*
* @note @p transit can not be NULL.
* @}
*/
- 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;
- };
+ /* Store */
+ typedef struct _Elm_Store Elm_Store;
+ typedef struct _Elm_Store_DBsystem Elm_Store_DBsystem;
+ typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem;
+ typedef struct _Elm_Store_Item Elm_Store_Item;
+ typedef struct _Elm_Store_Item_DBsystem Elm_Store_Item_DBsystem;
+ 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, Elm_Store_Item_Info *info);
+ typedef void (*Elm_Store_Item_Unfetch_Cb) (void *data, Elm_Store_Item *sti, Elm_Store_Item_Info *info);
+ typedef void (*Elm_Store_Item_Select_Cb) (void *data, Elm_Store_Item *sti);
+ typedef int (*Elm_Store_Item_Sort_Cb) (void *data, Elm_Store_Item_Info *info1, Elm_Store_Item_Info *info2);
+ typedef void (*Elm_Store_Item_Free_Cb) (void *data, Elm_Store_Item_Info *info);
+ typedef void *(*Elm_Store_Item_Mapping_Cb) (void *data, Elm_Store_Item *sti, const char *part);
- struct _Elm_Store_Item_Mapping_Empty
- {
- Eina_Bool dummy;
- };
+ 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_Photo
- {
- int size;
- };
+ struct _Elm_Store_Item_Mapping_Empty
+ {
+ Eina_Bool dummy;
+ };
- struct _Elm_Store_Item_Mapping_Custom
- {
- Elm_Store_Item_Mapping_Cb func;
- };
+ struct _Elm_Store_Item_Mapping_Photo
+ {
+ int size;
+ };
- 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_Custom
+ {
+ Elm_Store_Item_Mapping_Cb func;
+ };
- 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
+ {
+ 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_Filesystem
- {
- Elm_Store_Item_Info base;
- char *path;
- };
+ struct _Elm_Store_Item_Info
+ {
+ int index;
+ int item_type;
+ int group_index;
+ Eina_Bool rec_item;
+ int pre_group_index;
+
+ 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 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_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 Elm_Store *elm_store_dbsystem_new(void);
+ EAPI void elm_store_item_count_set(Elm_Store *st, int count) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_select_func_set(Elm_Store *st, Elm_Store_Item_Select_Cb func, const void *data) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_sort_func_set(Elm_Store *st, Elm_Store_Item_Sort_Cb func, const void *data) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_free_func_set(Elm_Store *st, Elm_Store_Item_Free_Cb func, const void *data) EINA_ARG_NONNULL(1);
+ EAPI int elm_store_item_data_index_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI void *elm_store_dbsystem_db_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_dbsystem_db_set(Elm_Store *store, void *pDB) EINA_ARG_NONNULL(1);
+ EAPI int elm_store_item_index_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI Elm_Store_Item *elm_store_item_add(Elm_Store *st, Elm_Store_Item_Info *info) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_update(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_visible_items_update(Elm_Store *st) EINA_ARG_NONNULL(1);
+ EAPI void elm_store_item_del(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+ 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 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_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);
/* SegmentControl */
typedef struct _Elm_Segment_Item Elm_Segment_Item;
EAPI void elm_video_pause(Evas_Object *video);
EAPI void elm_video_stop(Evas_Object *video);
EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+ EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video);
EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
EAPI void elm_video_audio_mute_set(Evas_Object *video, Eina_Bool mute);
EAPI double elm_video_audio_level_get(Evas_Object *video);
EAPI Eina_Bool elm_video_remember_position_get(Evas_Object *video);
EAPI const char *elm_video_title_get(Evas_Object *video);
+ EAPI Evas_Object *elm_player_add(Evas_Object *parent);
+ EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+
+ // FIXME: incomplete - carousel. don't use this until this comment is removed
+ typedef struct _Elm_Carousel_Item Elm_Carousel_Item;
+ EAPI Evas_Object *elm_carousel_add(Evas_Object *parent);
+ EAPI Elm_Carousel_Item *elm_carousel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, Evas_Smart_Cb func, const void *data);
+ EAPI void elm_carousel_item_del(Elm_Carousel_Item *item);
+ EAPI void elm_carousel_item_select(Elm_Carousel_Item *item);
+ /* smart callbacks called:
+ * "clicked" - when the user clicks on a carousel item and becomes selected
+ */
+
+ /* datefield */
+ typedef enum _Elm_Datefield_Layout
+ {
+ ELM_DATEFIELD_LAYOUT_TIME,
+ ELM_DATEFIELD_LAYOUT_DATE,
+ ELM_DATEFIELD_LAYOUT_DATEANDTIME
+ } Elm_Datefield_Layout;
+
+ EAPI Evas_Object *elm_datefield_add(Evas_Object *parent);
+ EAPI void elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout);
+ EAPI Elm_Datefield_Layout elm_datefield_layout_get(const Evas_Object *obj);
+ EAPI void elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, int min);
+ EAPI void elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day, int *hour, int *min);
+ EAPI Eina_Bool elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day);
+ EAPI void elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *day);
+ EAPI Eina_Bool elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day);
+ EAPI void elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *day);
+ EAPI void elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode);
+ EAPI Eina_Bool elm_datefield_time_mode_get(const Evas_Object *obj);
+ EAPI void elm_datefield_date_format_set(Evas_Object *obj, const char *fmt);
+ EAPI const char *elm_datefield_date_format_get(const Evas_Object *obj);
+ EAPI void elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value), void *data);
+ EAPI void elm_datefield_input_panel_state_callback_del(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value));
+ /* smart callbacks called:
+ * "changed" - when datefield entry is changed, this signal is sent.
+ */
+
+ /* popup */
+ typedef enum _Elm_Popup_Response
+ {
+ ELM_POPUP_RESPONSE_NONE = -1,
+ ELM_POPUP_RESPONSE_TIMEOUT = -2,
+ ELM_POPUP_RESPONSE_OK = -3,
+ ELM_POPUP_RESPONSE_CANCEL = -4,
+ ELM_POPUP_RESPONSE_CLOSE = -5
+ } Elm_Popup_Response;
+
+ typedef enum _Elm_Popup_Mode
+ {
+ ELM_POPUP_TYPE_NONE = 0,
+ ELM_POPUP_TYPE_ALERT = (1 << 0)
+ } Elm_Popup_Mode;
+
+ typedef enum _Elm_Popup_Orient
+ {
+ ELM_POPUP_ORIENT_TOP,
+ ELM_POPUP_ORIENT_CENTER,
+ ELM_POPUP_ORIENT_BOTTOM,
+ ELM_POPUP_ORIENT_LEFT,
+ ELM_POPUP_ORIENT_RIGHT,
+ ELM_POPUP_ORIENT_TOP_LEFT,
+ ELM_POPUP_ORIENT_TOP_RIGHT,
+ ELM_POPUP_ORIENT_BOTTOM_LEFT,
+ ELM_POPUP_ORIENT_BOTTOM_RIGHT
+ } Elm_Popup_Orient;
+
+ /* smart callbacks called:
+ * "response" - when ever popup is closed, this signal is sent with appropriate response id.".
+ */
+
+ EAPI Evas_Object *elm_popup_add(Evas_Object *parent);
+ EAPI void elm_popup_desc_set(Evas_Object *obj, const char *text);
+ EAPI const char *elm_popup_desc_get(Evas_Object *obj);
+ EAPI void elm_popup_title_label_set(Evas_Object *obj, const char *text);
+ EAPI const char *elm_popup_title_label_get(Evas_Object *obj);
+ EAPI void elm_popup_title_icon_set(Evas_Object *obj, Evas_Object *icon);
+ EAPI Evas_Object *elm_popup_title_icon_get(Evas_Object *obj);
+ EAPI void elm_popup_content_set(Evas_Object *obj, Evas_Object *content);
+ EAPI Evas_Object *elm_popup_content_get(Evas_Object *obj);
+ EAPI void elm_popup_buttons_add(Evas_Object *obj,int no_of_buttons, const char *first_button_text, ...);
+ EAPI Evas_Object *elm_popup_with_buttons_add(Evas_Object *parent, const char *title, const char *desc_text,int no_of_buttons, const char *first_button_text, ... );
+ EAPI void elm_popup_timeout_set(Evas_Object *obj, double timeout);
+ EAPI void elm_popup_mode_set(Evas_Object *obj, Elm_Popup_Mode mode);
+ EAPI void elm_popup_response(Evas_Object *obj, int response_id);
+ EAPI void elm_popup_orient_set(Evas_Object *obj, Elm_Popup_Orient orient);
+ EAPI int elm_popup_run(Evas_Object *obj);
+
+ /* NavigationBar */
+ #define NAVIBAR_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
+ #define NAVIBAR_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
+
+ typedef enum
+ {
+ ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
+ ELM_NAVIGATIONBAR_FUNCTION_BUTTON2,
+ ELM_NAVIGATIONBAR_FUNCTION_BUTTON3,
+ ELM_NAVIGATIONBAR_BACK_BUTTON
+ } Elm_Navi_Button_Type;
+
+ EAPI Evas_Object *elm_navigationbar_add(Evas_Object *parent);
+ EAPI void elm_navigationbar_push(Evas_Object *obj, const char *title, Evas_Object *fn_btn1, Evas_Object *fn_btn2, Evas_Object *fn_btn3, Evas_Object *content);
+ EAPI void elm_navigationbar_pop(Evas_Object *obj);
+ EAPI void elm_navigationbar_to_content_pop(Evas_Object *obj, Evas_Object *content);
+ EAPI void elm_navigationbar_title_label_set(Evas_Object *obj, Evas_Object *content, const char *title);
+ EAPI const char *elm_navigationbar_title_label_get(Evas_Object *obj, Evas_Object *content);
+ EAPI void elm_navigationbar_title_object_add(Evas_Object *obj, Evas_Object *content, Evas_Object *title_obj);
+ EAPI Evas_Object *elm_navigationbar_title_object_get(Evas_Object *obj, Evas_Object *content);
+ EAPI Eina_List *elm_navigationbar_title_object_list_get(Evas_Object *obj, Evas_Object *content);
+ EAPI Evas_Object *elm_navigationbar_content_top_get(Evas_Object *obj);
+ EAPI Evas_Object *elm_navigationbar_content_bottom_get(Evas_Object *obj);
+ EAPI void elm_navigationbar_hidden_set(Evas_Object *obj, Eina_Bool hidden);
+ EAPI void elm_navigationbar_title_button_set(Evas_Object *obj, Evas_Object *content, Evas_Object *button, Elm_Navi_Button_Type button_type);
+ EAPI Evas_Object *elm_navigationbar_title_button_get(Evas_Object *obj, Evas_Object *content, Elm_Navi_Button_Type button_type);
+ EAPI const char *elm_navigationbar_subtitle_label_get(Evas_Object *obj, Evas_Object *content);
+ EAPI void elm_navigationbar_subtitle_label_set(Evas_Object *obj, Evas_Object *content, const char *subtitle);
+ EAPI void elm_navigationbar_title_object_list_unset(Evas_Object *obj, Evas_Object *content, Eina_List **list);
+ EAPI void elm_navigationbar_animation_disabled_set(Evas_Object *obj, Eina_Bool disable);
+ EAPI void elm_navigationbar_title_object_visible_set(Evas_Object *obj, Evas_Object *content, Eina_Bool visible);
+ Eina_Bool elm_navigationbar_title_object_visible_get(Evas_Object *obj, Evas_Object *content);
+ EAPI void elm_navigationbar_title_icon_set(Evas_Object *obj, Evas_Object *content, Evas_Object *icon);
+ EAPI Evas_Object *elm_navigationbar_title_icon_get(Evas_Object *obj, Evas_Object *content);
+
+ /* NavigationBar */
+ #define NAVIBAR_EX_TITLEOBJ_INSTANT_HIDE "elm,state,hide,noanimate,title", "elm"
+ #define NAVIBAR_EX_TITLEOBJ_INSTANT_SHOW "elm,state,show,noanimate,title", "elm"
+
+ typedef enum
+ {
+ ELM_NAVIGATIONBAR_EX_BACK_BUTTON,
+ ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON1,
+ ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON2,
+ ELM_NAVIGATIONBAR_EX_FUNCTION_BUTTON3,
+ ELM_NAVIGATIONBAR_EX_MAX
+ } Elm_Navi_ex_Button_Type;
+ typedef struct _Elm_Navigationbar_ex_Item Elm_Navigationbar_ex_Item;
+
+ EAPI Evas_Object *elm_navigationbar_ex_add(Evas_Object *parent);
+ EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_push(Evas_Object *obj, Evas_Object *content, const char *item_style);
+ EAPI void elm_navigationbar_ex_item_pop(Evas_Object *obj);
+ EAPI void elm_navigationbar_ex_item_promote(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_to_item_pop(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_item_title_label_set(Elm_Navigationbar_ex_Item *item, const char *title);
+ EAPI const char *elm_navigationbar_ex_item_title_label_get(Elm_Navigationbar_ex_Item* item);
+ EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_top_get(const Evas_Object *obj);
+ EAPI Elm_Navigationbar_ex_Item *elm_navigationbar_ex_item_bottom_get(const Evas_Object *obj);
+ EAPI void elm_navigationbar_ex_item_title_button_set(Elm_Navigationbar_ex_Item* item, char *btn_label, Evas_Object *icon, int button_type, Evas_Smart_Cb func, const void *data);
+ EAPI Evas_Object *elm_navigationbar_ex_item_title_button_get(Elm_Navigationbar_ex_Item* item, int button_type);
+ EAPI void elm_navigationbar_ex_item_title_object_set(Elm_Navigationbar_ex_Item* item, Evas_Object *title_obj);
+ EAPI Evas_Object *elm_navigationbar_ex_item_title_object_unset(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_item_title_hidden_set(Elm_Navigationbar_ex_Item* item, Eina_Bool hidden);
+ EAPI Evas_Object *elm_navigationbar_ex_item_title_object_get(Elm_Navigationbar_ex_Item* item);
+ EAPI const char *elm_navigationbar_ex_item_subtitle_label_get(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_item_subtitle_label_set( Elm_Navigationbar_ex_Item* item, const char *subtitle);
+ EAPI void elm_navigationbar_ex_item_style_set(Elm_Navigationbar_ex_Item* item, const char* item_style);
+ EAPI const char *elm_navigationbar_ex_item_style_get(Elm_Navigationbar_ex_Item* item);
+ EAPI Evas_Object *elm_navigationbar_ex_item_content_unset(Elm_Navigationbar_ex_Item* item);
+ EAPI Evas_Object *elm_navigationbar_ex_item_content_get(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_delete_on_pop_set(Evas_Object *obj, Eina_Bool del_on_pop);
+ EAPI Evas_Object *elm_navigationbar_ex_item_icon_get(Elm_Navigationbar_ex_Item* item);
+ EAPI void elm_navigationbar_ex_item_icon_set(Elm_Navigationbar_ex_Item* item, Evas_Object *icon);
+ EAPI Evas_Object *elm_navigationbar_ex_item_title_button_unset(Elm_Navigationbar_ex_Item* item, int button_type);
+ EAPI void elm_navigationbar_ex_animation_disable_set(Evas_Object *obj, Eina_Bool disable);
+ EAPI void elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, Eina_Bool visible);
+ Eina_Bool elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item);
+
+ /* naviframe */
+ #define ELM_NAVIFRAME_ITEM_ICON "elm.swallow.icon"
+ #define ELM_NAVIFRAME_ITEM_OPTIONHEADER "elm.swallow.optionheader"
+ #define ELM_NAVIFRAME_ITEM_TITLE_LABEL "elm.text.title"
+ #define ELM_NAVIFRAME_ITEM_PREV_BTN "elm.swallow.prev_btn"
+
+ EAPI Evas_Object *elm_naviframe_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ 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);
+ EAPI Evas_Object *elm_naviframe_item_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_naviframe_content_preserve_on_pop_set(Evas_Object *obj, Eina_Bool preserve) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_naviframe_content_preserve_on_pop_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Elm_Object_Item *elm_naviframe_top_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Elm_Object_Item *elm_naviframe_bottom_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_naviframe_item_style_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+ EAPI void elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_naviframe_item_title_visible_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
+
+ /* Control Bar */
+ #define CONTROLBAR_SYSTEM_ICON_ALBUMS "controlbar_albums"
+ #define CONTROLBAR_SYSTEM_ICON_ARTISTS "controlbar_artists"
+ #define CONTROLBAR_SYSTEM_ICON_SONGS "controlbar_songs"
+ #define CONTROLBAR_SYSTEM_ICON_PLAYLIST "controlbar_playlist"
+ #define CONTROLBAR_SYSTEM_ICON_MORE "controlbar_more"
+ #define CONTROLBAR_SYSTEM_ICON_CONTACTS "controlbar_contacts"
+ #define CONTROLBAR_SYSTEM_ICON_DIALER "controlbar_dialer"
+ #define CONTROLBAR_SYSTEM_ICON_FAVORITES "controlbar_favorites"
+ #define CONTROLBAR_SYSTEM_ICON_LOGS "controlbar_logs"
+
+ typedef enum _Elm_Controlbar_Mode_Type
+ {
+ ELM_CONTROLBAR_MODE_DEFAULT = 0,
+ ELM_CONTROLBAR_MODE_TRANSLUCENCE,
+ ELM_CONTROLBAR_MODE_TRANSPARENCY,
+ ELM_CONTROLBAR_MODE_LARGE,
+ ELM_CONTROLBAR_MODE_SMALL,
+ ELM_CONTROLBAR_MODE_LEFT,
+ ELM_CONTROLBAR_MODE_RIGHT
+ } Elm_Controlbar_Mode_Type;
+
+ typedef struct _Elm_Controlbar_Item Elm_Controlbar_Item;
+ EAPI Evas_Object *elm_controlbar_add(Evas_Object *parent);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_append(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, Evas_Object *view);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, Evas_Object *view);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_append(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+ EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
+ EAPI Elm_Controlbar_Item *elm_controlbar_object_item_append(Evas_Object *obj, Evas_Object *obj_item, const int sel);
+ EAPI Elm_Controlbar_Item *elm_controlbar_object_item_prepend(Evas_Object *obj, Evas_Object *obj_item, const int sel);
+ EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, Evas_Object *obj_item, const int sel);
+ EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, Evas_Object *obj_item, const int sel);
+ EAPI Evas_Object *elm_controlbar_object_item_object_get(const Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_item_del(Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_item_select(Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_item_visible_set(Elm_Controlbar_Item *it, Eina_Bool bar);
+ EAPI Eina_Bool elm_controlbar_item_visible_get(const Elm_Controlbar_Item * it);
+ EAPI void elm_controlbar_item_disabled_set(Elm_Controlbar_Item * it, Eina_Bool disabled);
+ EAPI Eina_Bool elm_controlbar_item_disabled_get(const Elm_Controlbar_Item * it);
+ EAPI void elm_controlbar_item_icon_set(Elm_Controlbar_Item *it, const char *icon_path);
+ EAPI Evas_Object *elm_controlbar_item_icon_get(const Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_item_label_set(Elm_Controlbar_Item *it, const char *label);
+ EAPI const char *elm_controlbar_item_label_get(const Elm_Controlbar_Item *it);
+ EAPI Elm_Controlbar_Item *elm_controlbar_selected_item_get(const Evas_Object *obj);
+ EAPI Elm_Controlbar_Item *elm_controlbar_first_item_get(const Evas_Object *obj);
+ EAPI Elm_Controlbar_Item *elm_controlbar_last_item_get(const Evas_Object *obj);
+ EAPI const Eina_List *elm_controlbar_items_get(const Evas_Object *obj);
+ EAPI Elm_Controlbar_Item *elm_controlbar_item_prev(Elm_Controlbar_Item *it);
+ EAPI Elm_Controlbar_Item *elm_controlbar_item_next(Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_item_view_set(Elm_Controlbar_Item *it, Evas_Object * view);
+ EAPI Evas_Object *elm_controlbar_item_view_get(const Elm_Controlbar_Item *it);
+ EAPI Evas_Object *elm_controlbar_item_view_unset(Elm_Controlbar_Item *it);
+ EAPI Evas_Object *elm_controlbar_item_button_get(const Elm_Controlbar_Item *it);
+ EAPI void elm_controlbar_mode_set(Evas_Object *obj, int mode);
+ EAPI void elm_controlbar_alpha_set(Evas_Object *obj, int alpha);
+ EAPI void elm_controlbar_item_auto_align_set(Evas_Object *obj, Eina_Bool auto_align);
+ EAPI void elm_controlbar_vertical_set(Evas_Object *obj, Eina_Bool vertical);
+
+ /* SearchBar */
+ EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent);
+ EAPI void elm_searchbar_text_set(Evas_Object *obj, const char *entry);
+ EAPI const char *elm_searchbar_text_get(Evas_Object *obj);
+ EAPI Evas_Object *elm_searchbar_entry_get(Evas_Object *obj);
+ EAPI Evas_Object *elm_searchbar_editfield_get(Evas_Object *obj);
+ EAPI void elm_searchbar_cancel_button_animation_set(Evas_Object *obj, Eina_Bool cancel_btn_ani_flag);
+ EAPI void elm_searchbar_cancel_button_set(Evas_Object *obj, Eina_Bool visible);
+ EAPI void elm_searchbar_clear(Evas_Object *obj);
+ EAPI void elm_searchbar_boundary_rect_set(Evas_Object *obj, Eina_Bool boundary);
+
+ EAPI Evas_Object *elm_page_control_add(Evas_Object *parent);
+ EAPI void elm_page_control_page_count_set(Evas_Object *obj, unsigned int page_count);
+ EAPI void elm_page_control_page_id_set(Evas_Object *obj, unsigned int page_id);
+ EAPI unsigned int elm_page_control_page_id_get(Evas_Object *obj);
+
+ /* NoContents */
+ EAPI Evas_Object *elm_nocontents_add(Evas_Object *parent);
+ EAPI void elm_nocontents_label_set(Evas_Object *obj, const char *label);
+ EAPI const char *elm_nocontents_label_get(const Evas_Object *obj);
+ EAPI void elm_nocontents_custom_set(const Evas_Object *obj, Evas_Object *custom);
+ EAPI Evas_Object *elm_nocontents_custom_get(const Evas_Object *obj);
+
+/* TickerNoti */
+typedef enum
+ {
+ ELM_TICKERNOTI_DEFAULT,
+ ELM_TICKERNOTI_DETAILVIEW
+ } Elm_Tickernoti_Mode;
+
+typedef enum
+ {
+ ELM_TICKERNOTI_ORIENT_TOP,
+ ELM_TICKERNOTI_ORIENT_BOTTOM
+ } Elm_Tickernoti_Orient;
+
+ EAPI Evas_Object *elm_tickernoti_add (Evas_Object *parent);
+ EAPI void elm_tickernoti_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_tickernoti_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_tickernoti_label_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_tickernoti_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_orientation_set (Evas_Object *obj, Elm_Tickernoti_Orient orient) EINA_ARG_NONNULL(1);
+ EAPI Elm_Tickernoti_Orient elm_tickernoti_orientation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI int elm_tickernoti_rotation_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_rotation_set (Evas_Object *obj, int angle) EINA_ARG_NONNULL(1);
+ /* #### Below APIs are going to be deprecated, announcment will be made soon ####*/
+ EAPI Evas_Object *elm_tickernoti_win_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_tickernoti_detailview_label_get (const Evas_Object *obj)EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_detailview_button_set (Evas_Object *obj, Evas_Object *button) EINA_ARG_NONNULL(2);
+ EAPI Evas_Object *elm_tickernoti_detailview_button_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_detailview_icon_set (Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_tickernoti_detailview_icon_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_tickernoti_detailview_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_tickernoti_mode_set (Evas_Object *obj, Elm_Tickernoti_Mode mode) EINA_ARG_NONNULL(1);
+ EAPI Elm_Tickernoti_Mode elm_tickernoti_mode_get (const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ /* ############################################################################### */
+ /* smart callbacks called:
+ * @li "clicked" - emitted when tickernoti is clicked, except at the
+ * swallow/button region, if any.
+ * @li "hide" - emitted when the tickernoti is completelyhidden. In case of
+ * any hide animation, this signal is raised after the animation.
+ */
+
+ /* colorpalette */
+ typedef struct _Colorpalette_Color Elm_Colorpalette_Color;
+
+ struct _Colorpalette_Color
+ {
+ unsigned int r, g, b;
+ };
+
+ EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
+ EAPI void elm_colorpalette_color_set(Evas_Object *obj, int color_num, Elm_Colorpalette_Color *color);
+ EAPI void elm_colorpalette_row_column_set(Evas_Object *obj, int row, int col);
+ /* smart callbacks called:
+ * "clicked" - when image clicked
+ */
+
+ /* editfield */
+ EAPI Evas_Object *elm_editfield_add(Evas_Object *parent);
+ EAPI void elm_editfield_label_set(Evas_Object *obj, const char *label);
+ EAPI const char *elm_editfield_label_get(Evas_Object *obj);
+ EAPI void elm_editfield_guide_text_set(Evas_Object *obj, const char *text);
+ EAPI const char *elm_editfield_guide_text_get(Evas_Object *obj);
+ EAPI Evas_Object *elm_editfield_entry_get(Evas_Object *obj);
+// EAPI Evas_Object *elm_editfield_clear_button_show(Evas_Object *obj, Eina_Bool show);
+ EAPI void elm_editfield_right_icon_set(Evas_Object *obj, Evas_Object *icon);
+ EAPI Evas_Object *elm_editfield_right_icon_get(Evas_Object *obj);
+ EAPI void elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon);
+ EAPI Evas_Object *elm_editfield_left_icon_get(Evas_Object *obj);
+ EAPI void elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
+ EAPI Eina_Bool elm_editfield_entry_single_line_get(Evas_Object *obj);
+ EAPI void elm_editfield_eraser_set(Evas_Object *obj, Eina_Bool visible);
+ EAPI Eina_Bool elm_editfield_eraser_get(Evas_Object *obj);
+ /* smart callbacks called:
+ * "clicked" - when an editfield is clicked
+ * "unfocused" - when an editfield is unfocused
+ */
+
+
+ /* Sliding Drawer */
+ typedef enum _Elm_SlidingDrawer_Pos
+ {
+ ELM_SLIDINGDRAWER_BOTTOM,
+ ELM_SLIDINGDRAWER_LEFT,
+ ELM_SLIDINGDRAWER_RIGHT,
+ ELM_SLIDINGDRAWER_TOP
+ } Elm_SlidingDrawer_Pos;
+
+ typedef struct _Elm_SlidingDrawer_Drag_Value
+ {
+ double x, y;
+ } Elm_SlidingDrawer_Drag_Value;
+
+ EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
+ EINA_DEPRECATED EAPI void elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
+ EINA_DEPRECATED EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
+ EINA_DEPRECATED EAPI void elm_slidingdrawer_max_drag_value_set(Evas_Object *obj, double dw, double dh);
+ EINA_DEPRECATED EAPI void elm_slidingdrawer_drag_value_set(Evas_Object *obj, double dx, double dy);
+
+ /* multibuttonentry */
+ typedef struct _Multibuttonentry_Item Elm_Multibuttonentry_Item;
+ typedef Eina_Bool (*Elm_Multibuttonentry_Item_Verify_Callback) (Evas_Object *obj, const char *item_label, void *item_data, void *data);
+ EAPI Evas_Object *elm_multibuttonentry_add(Evas_Object *parent);
+ EAPI const char *elm_multibuttonentry_label_get(Evas_Object *obj);
+ EAPI void elm_multibuttonentry_label_set(Evas_Object *obj, const char *label);
+ EAPI Evas_Object *elm_multibuttonentry_entry_get(Evas_Object *obj);
+ EAPI const char * elm_multibuttonentry_guide_text_get(Evas_Object *obj);
+ EAPI void elm_multibuttonentry_guide_text_set(Evas_Object *obj, const char *guidetext);
+ EAPI int elm_multibuttonentry_contracted_state_get(Evas_Object *obj);
+ EAPI void elm_multibuttonentry_contracted_state_set(Evas_Object *obj, int contracted);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data);
+ EAPI const Eina_List *elm_multibuttonentry_items_get(Evas_Object *obj);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_first_get(Evas_Object *obj);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_last_get(Evas_Object *obj);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_selected_get(Evas_Object *obj);
+ EAPI void elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
+ EAPI void elm_multibuttonentry_item_unselect_all(Evas_Object *obj);
+ EAPI void elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
+ EAPI void elm_multibuttonentry_items_del(Evas_Object *obj);
+ EAPI const char *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
+ EAPI void elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
+ EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
+ EAPI void *elm_multibuttonentry_item_data_get(Elm_Multibuttonentry_Item *item);
+ EAPI void elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
+ EAPI void elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttonentry_Item_Verify_Callback func, void *data);
+ /* smart callback called:
+ * "selected" - This signal is emitted when the selected item of multibuttonentry is changed.
+ * "added" - This signal is emitted when a new multibuttonentry item is added.
+ * "deleted" - This signal is emitted when a multibuttonentry item is deleted.
+ * "expanded" - This signal is emitted when a multibuttonentry is expanded.
+ * "contracted" - This signal is emitted when a multibuttonentry is contracted.
+ * "contracted,state,changed" - This signal is emitted when the contracted state of multibuttonentry is changed.
+ * "item,selected" - This signal is emitted when the selected item of multibuttonentry is changed.
+ * "item,added" - This signal is emitted when a new multibuttonentry item is added.
+ * "item,deleted" - This signal is emitted when a multibuttonentry item is deleted.
+ * "item,clicked" - This signal is emitted when a multibuttonentry item is clicked.
+ * "clicked" - This signal is emitted when a multibuttonentry is clicked.
+ * "unfocused" - This signal is emitted when a multibuttonentry is unfocused.
+ */
+ /* available styles:
+ * default
+ */
+
+ /* stackedicon */
+ typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
+ EAPI Evas_Object *elm_stackedicon_add(Evas_Object *parent);
+ EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
+ EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
+ EAPI void elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
+ EAPI Eina_List *elm_stackedicon_item_list_get(Evas_Object *obj);
+ /* smart callback called:
+ * "expanded" - This signal is emitted when a stackedicon is expanded.
+ * "clicked" - This signal is emitted when a stackedicon is clicked.
+ */
+ /* available styles:
+ * default
+ */
+
+ /* dialoguegroup */
+ typedef struct _Dialogue_Item Dialogue_Item;
+
+ typedef enum _Elm_Dialoguegourp_Item_Style
+ {
+ ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
+ ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_DATAVIEW = (1 << 4),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_NO_BG = (1 << 5),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_SUB = (1 << 6),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT = (1 << 7),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_MERGE = (1 << 8),
+ ELM_DIALOGUEGROUP_ITEM_STYLE_LAST = (1 << 9)
+ } Elm_Dialoguegroup_Item_Style;
+
+ EINA_DEPRECATED EAPI Evas_Object *elm_dialoguegroup_add(Evas_Object *parent);
+ EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_append(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
+ EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_prepend(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);
+ EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_after(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *after, Elm_Dialoguegroup_Item_Style style);
+ EINA_DEPRECATED EAPI Dialogue_Item *elm_dialoguegroup_insert_before(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *before, Elm_Dialoguegroup_Item_Style style);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_remove(Dialogue_Item *item);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_remove_all(Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_title_set(Evas_Object *obj, const char *title);
+ EINA_DEPRECATED EAPI const char *elm_dialoguegroup_title_get(Evas_Object *obj);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_press_effect_set(Dialogue_Item *item, Eina_Bool press);
+ EINA_DEPRECATED EAPI Eina_Bool elm_dialoguegroup_press_effect_get(Dialogue_Item *item);
+ EINA_DEPRECATED EAPI Evas_Object *elm_dialoguegroup_item_content_get(Dialogue_Item *item);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_item_style_set(Dialogue_Item *item, Elm_Dialoguegroup_Item_Style style);
+ EINA_DEPRECATED EAPI Elm_Dialoguegroup_Item_Style elm_dialoguegroup_item_style_get(Dialogue_Item *item);
+ EINA_DEPRECATED EAPI void elm_dialoguegroup_item_disabled_set(Dialogue_Item *item, Eina_Bool disabled);
+ EINA_DEPRECATED EAPI Eina_Bool elm_dialoguegroup_item_disabled_get(Dialogue_Item *item);
+
+ /* Dayselector */
+ typedef enum
+ {
+ ELM_DAYSELECTOR_SUN,
+ ELM_DAYSELECTOR_MON,
+ ELM_DAYSELECTOR_TUE,
+ ELM_DAYSELECTOR_WED,
+ ELM_DAYSELECTOR_THU,
+ ELM_DAYSELECTOR_FRI,
+ ELM_DAYSELECTOR_SAT
+ } Elm_DaySelector_Day;
+
+ EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent);
+ EAPI Eina_Bool elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
+ EAPI void elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
+
+ /* Image Slider */
+ typedef struct _Imageslider_Item Elm_Imageslider_Item;
+ typedef void (*Elm_Imageslider_Cb)(void *data, Evas_Object *obj, void *event_info);
+ EAPI Evas_Object *elm_imageslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_item_append(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_item_append_relative(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, unsigned int index, void *data) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_item_prepend(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data) EINA_ARG_NONNULL(1);
+ EAPI void elm_imageslider_item_del(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_selected_item_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_imageslider_item_selected_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI void elm_imageslider_item_selected_set(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_imageslider_item_photo_file_get(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_item_prev(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI Elm_Imageslider_Item *elm_imageslider_item_next(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
+ EAPI void elm_imageslider_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_imageslider_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_imageslider_item_photo_file_set(Elm_Imageslider_Item *it, const char *photo_file) EINA_ARG_NONNULL(1,2);
+ EAPI void elm_imageslider_item_update(Elm_Imageslider_Item *it) EINA_ARG_NONNULL(1);
#ifdef __cplusplus
}
#endif