2 * @defgroup Notify Notify
4 * @image html img/widget/notify/preview-00.png
5 * @image latex img/widget/notify/preview-00.eps
7 * Display a container in a particular region of the parent(top, bottom,
8 * etc). A timeout can be set to automatically hide the notify. This is so
9 * that, after an evas_object_show() on a notify object, if a timeout was set
10 * on it, it will @b automatically get hidden after that time.
12 * Signals that you can add callbacks for are:
13 * @li "timeout" - when timeout happens on notify and it's hidden
14 * @li "block,clicked" - when a click outside of the notify happens
16 * Default contents parts of the notify widget that you can use for are:
17 * @li "default" - A content of the notify
19 * @ref tutorial_notify show usage of the API.
25 * @brief Possible orient values for notify.
27 * This values should be used in conjunction to elm_notify_orient_set() to
28 * set the position in which the notify should appear(relative to its parent)
29 * and in conjunction with elm_notify_orient_get() to know where the notify
32 typedef enum _Elm_Notify_Orient
34 ELM_NOTIFY_ORIENT_TOP, /**< Notify should appear in the top of parent, default */
35 ELM_NOTIFY_ORIENT_CENTER, /**< Notify should appear in the center of parent */
36 ELM_NOTIFY_ORIENT_BOTTOM, /**< Notify should appear in the bottom of parent */
37 ELM_NOTIFY_ORIENT_LEFT, /**< Notify should appear in the left of parent */
38 ELM_NOTIFY_ORIENT_RIGHT, /**< Notify should appear in the right of parent */
39 ELM_NOTIFY_ORIENT_TOP_LEFT, /**< Notify should appear in the top left of parent */
40 ELM_NOTIFY_ORIENT_TOP_RIGHT, /**< Notify should appear in the top right of parent */
41 ELM_NOTIFY_ORIENT_BOTTOM_LEFT, /**< Notify should appear in the bottom left of parent */
42 ELM_NOTIFY_ORIENT_BOTTOM_RIGHT, /**< Notify should appear in the bottom right of parent */
43 ELM_NOTIFY_ORIENT_LAST /**< Sentinel value, @b don't use */
47 * @brief Add a new notify to the parent
49 * @param parent The parent object
50 * @return The new object or NULL if it cannot be created
52 EAPI Evas_Object *elm_notify_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
55 * @brief Set the content of the notify widget
57 * @param obj The notify object
58 * @param content The content will be filled in this notify object
60 * Once the content object is set, a previously set one will be deleted. If
61 * you want to keep that old content object, use the
62 * elm_notify_content_unset() function.
64 * @deprecated use elm_object_content_set() instead
67 EINA_DEPRECATED EAPI void elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
70 * @brief Unset the content of the notify widget
72 * @param obj The notify object
73 * @return The content that was being used
75 * Unparent and return the content object which was set for this widget
77 * @see elm_notify_content_set()
78 * @deprecated use elm_object_content_unset() instead
81 EINA_DEPRECATED EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
84 * @brief Return the content of the notify widget
86 * @param obj The notify object
87 * @return The content that is being used
89 * @see elm_notify_content_set()
90 * @deprecated use elm_object_content_get() instead
93 EINA_DEPRECATED EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
96 * @brief Set the notify parent
98 * @param obj The notify object
99 * @param content The new parent
101 * Once the parent object is set, a previously set one will be disconnected
104 EAPI void elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
107 * @brief Get the notify parent
109 * @param obj The notify object
112 * @see elm_notify_parent_set()
114 EAPI Evas_Object *elm_notify_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
117 * @brief Set the orientation
119 * @param obj The notify object
120 * @param orient The new orientation
122 * Sets the position in which the notify will appear in its parent.
124 * @see @ref Elm_Notify_Orient for possible values.
126 EAPI void elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient) EINA_ARG_NONNULL(1);
129 * @brief Return the orientation
130 * @param obj The notify object
131 * @return The orientation of the notification
133 * @see elm_notify_orient_set()
134 * @see Elm_Notify_Orient
136 EAPI Elm_Notify_Orient elm_notify_orient_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
139 * @brief Set the time interval after which the notify window is going to be
142 * @param obj The notify object
143 * @param time The timeout in seconds
145 * This function sets a timeout and starts the timer controlling when the
146 * notify is hidden. Since calling evas_object_show() on a notify restarts
147 * the timer controlling when the notify is hidden, setting this before the
148 * notify is shown will in effect mean starting the timer when the notify is
151 * @note Set a value <= 0.0 to disable a running timer.
153 * @note If the value > 0.0 and the notify is previously visible, the
154 * timer will be started with this value, canceling any running timer.
156 EAPI void elm_notify_timeout_set(Evas_Object *obj, double timeout) EINA_ARG_NONNULL(1);
159 * @brief Return the timeout value (in seconds)
160 * @param obj the notify object
162 * @see elm_notify_timeout_set()
164 EAPI double elm_notify_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
167 * @brief Sets whether events should be passed to by a click outside
170 * @param obj The notify object
171 * @param repeats EINA_TRUE Events are repeats, else no
173 * When true if the user clicks outside the window the events will be caught
174 * by the others widgets, else the events are blocked.
176 * @note The default value is EINA_TRUE.
178 EAPI void elm_notify_repeat_events_set(Evas_Object *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1);
181 * @brief Return true if events are repeat below the notify object
182 * @param obj the notify object
184 * @see elm_notify_repeat_events_set()
186 EAPI Eina_Bool elm_notify_repeat_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);