[multibuttenentry] merged with opensource r75453.
[framework/uifw/elementary.git] / src / lib / elm_layout.h
index cff0f9d..84ecbff 100644 (file)
@@ -1,5 +1,6 @@
 /**
  * @defgroup Layout Layout
+ * @ingroup Elementary
  *
  * @image html img/widget/layout/preview-00.png
  * @image latex img/widget/layout/preview-00.eps width=\textwidth
@@ -72,7 +73,7 @@
  * sent to the Layout theme (with elm_object_signal_emit()) and the theme
  * handled the signal by changing the box padding, or align, or both. Using
  * the Elementary @ref Box widget is not necessarily harder or easier, it
- * just depends on the circunstances and requirements.
+ * just depends on the circumstances and requirements.
  *
  * The Layout Box can be used through the @c elm_layout_box_* set of
  * functions.
  * @li @c toolbar-table - application with toolbar and main content area as a
  * table
  *
+ * Supported elm_object common APIs.
+ * @li @ref elm_object_signal_emit
+ * @li @ref elm_object_signal_callback_add
+ * @li @ref elm_object_signal_callback_del
+ * @li @ref elm_object_part_text_set
+ * @li @ref elm_object_part_text_get
+ * @li @ref elm_object_part_content_set
+ * @li @ref elm_object_part_content_get
+ * @li @ref elm_object_part_content_unset
+ *
  * @section secExamples Examples
  *
  * Some examples of the Layout widget can be found here:
  *
  * @ingroup Layout
  */
-EAPI Evas_Object                 *elm_layout_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+EAPI Evas_Object                 *elm_layout_add(Evas_Object *parent);
 
 /**
  * Set the file that will be used as layout
@@ -165,13 +176,13 @@ EAPI Evas_Object                 *elm_layout_add(Evas_Object *parent) EINA_ARG_N
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
 
 /**
  * Set the edje group from the elementary theme that will be used as layout
  *
  * @param obj The layout object
- * @param clas the clas of the group
+ * @param clas the class of the group
  * @param group the group
  * @param style the style to used
  *
@@ -179,7 +190,7 @@ EAPI Eina_Bool                    elm_layout_file_set(Evas_Object *obj, const ch
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style);
 
 /**
  * Append child to layout box part.
@@ -187,6 +198,7 @@ EAPI Eina_Bool                    elm_layout_theme_set(Evas_Object *obj, const c
  * @param obj the layout object
  * @param part the box part to which the object will be appended.
  * @param child the child object to append to box.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * Once the object is appended, it will become child of the layout. Its
  * lifetime will be bound to the layout, whenever the layout dies the child
@@ -200,7 +212,7 @@ EAPI Eina_Bool                    elm_layout_theme_set(Evas_Object *obj, const c
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child);
 
 /**
  * Prepend child to layout box part.
@@ -208,6 +220,7 @@ EAPI void                         elm_layout_box_append(Evas_Object *obj, const
  * @param obj the layout object
  * @param part the box part to prepend.
  * @param child the child object to prepend to box.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * Once the object is prepended, it will become child of the layout. Its
  * lifetime will be bound to the layout, whenever the layout dies the child
@@ -221,7 +234,7 @@ EAPI void                         elm_layout_box_append(Evas_Object *obj, const
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child);
 
 /**
  * Insert child to layout box part before a reference object.
@@ -230,6 +243,7 @@ EAPI void                         elm_layout_box_prepend(Evas_Object *obj, const
  * @param part the box part to insert.
  * @param child the child object to insert into box.
  * @param reference another reference object to insert before in box.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * Once the object is inserted, it will become child of the layout. Its
  * lifetime will be bound to the layout, whenever the layout dies the child
@@ -243,7 +257,7 @@ EAPI void                         elm_layout_box_prepend(Evas_Object *obj, const
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
 
 /**
  * Insert child to layout box part at a given position.
@@ -252,6 +266,7 @@ EAPI void                         elm_layout_box_insert_before(Evas_Object *obj,
  * @param part the box part to insert.
  * @param child the child object to insert into box.
  * @param pos the numeric position >=0 to insert the child.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * Once the object is inserted, it will become child of the layout. Its
  * lifetime will be bound to the layout, whenever the layout dies the child
@@ -265,7 +280,7 @@ EAPI void                         elm_layout_box_insert_before(Evas_Object *obj,
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
 
 /**
  * Remove a child of the given part box.
@@ -284,7 +299,7 @@ EAPI void                         elm_layout_box_insert_at(Evas_Object *obj, con
  *
  * @ingroup Layout
  */
-EAPI Evas_Object                 *elm_layout_box_remove(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1, 2, 3);
+EAPI Evas_Object                 *elm_layout_box_remove(Evas_Object *obj, const char *part, Evas_Object *child);
 
 /**
  * Remove all children of the given part box.
@@ -294,6 +309,7 @@ EAPI Evas_Object                 *elm_layout_box_remove(Evas_Object *obj, const
  * @param clear If EINA_TRUE, then all objects will be deleted as
  *        well, otherwise they will just be removed and will be
  *        dangling on the canvas.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * The objects will be removed from the box part and their lifetime will
  * not be handled by the layout anymore. This is equivalent to
@@ -304,7 +320,7 @@ EAPI Evas_Object                 *elm_layout_box_remove(Evas_Object *obj, const
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear);
 
 /**
  * Insert child to layout table part.
@@ -317,6 +333,7 @@ EAPI void                         elm_layout_box_remove_all(Evas_Object *obj, co
  * @param colspan how many columns should be used to store this object. (>=
  *        1)
  * @param rowspan how many rows should be used to store this object. (>= 1)
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * Once the object is inserted, it will become child of the table. Its
  * lifetime will be bound to the layout, and whenever the layout dies the
@@ -339,7 +356,7 @@ EAPI void                         elm_layout_box_remove_all(Evas_Object *obj, co
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool                    elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
 
 /**
  * Unpack (remove) a child of the given part table.
@@ -358,7 +375,7 @@ EAPI void                         elm_layout_table_pack(Evas_Object *obj, const
  *
  * @ingroup Layout
  */
-EAPI Evas_Object                 *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj) EINA_ARG_NONNULL(1, 2, 3);
+EAPI Evas_Object                 *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj);
 
 /**
  * Remove all the child objects of the given part table.
@@ -368,6 +385,7 @@ EAPI Evas_Object                 *elm_layout_table_unpack(Evas_Object *obj, cons
  * @param clear If EINA_TRUE, then all objects will be deleted as
  *        well, otherwise they will just be removed and will be
  *        dangling on the canvas.
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * The objects will be removed from the table part and their lifetime will
  * not be handled by the layout anymore. This is equivalent to
@@ -378,7 +396,7 @@ EAPI Evas_Object                 *elm_layout_table_unpack(Evas_Object *obj, cons
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear);
 
 /**
  * Get the edje layout
@@ -408,7 +426,7 @@ EAPI void                         elm_layout_table_clear(Evas_Object *obj, const
  *
  * @ingroup Layout
  */
-EAPI Evas_Object                 *elm_layout_edje_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI Evas_Object                 *elm_layout_edje_get(const Evas_Object *obj);
 
 /**
  * Get the edje data from the given layout
@@ -438,7 +456,7 @@ EAPI Evas_Object                 *elm_layout_edje_get(const Evas_Object *obj) EI
  *
  * @ingroup Layout
  */
-EAPI const char                  *elm_layout_data_get(const Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
+EAPI const char                  *elm_layout_data_get(const Evas_Object *obj, const char *key);
 
 /**
  * Eval sizing
@@ -461,7 +479,7 @@ EAPI const char                  *elm_layout_data_get(const Evas_Object *obj, co
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_sizing_eval(Evas_Object *obj) EINA_ARG_NONNULL(1);
+EAPI void                         elm_layout_sizing_eval(Evas_Object *obj);
 
 /**
  * Sets a specific cursor for an edje part.
@@ -475,7 +493,7 @@ EAPI void                         elm_layout_sizing_eval(Evas_Object *obj) EINA_
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor);
 
 /**
  * Get the cursor to be shown when mouse is over an edje part
@@ -486,7 +504,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_set(Evas_Object *obj, c
  *
  * @ingroup Layout
  */
-EAPI const char                  *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+EAPI const char                  *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name);
 
 /**
  * Unsets a cursor previously set with elm_layout_part_cursor_set().
@@ -494,10 +512,11 @@ EAPI const char                  *elm_layout_part_cursor_get(const Evas_Object *
  * @param obj The layout object.
  * @param part_name a part from loaded edje group, that had a cursor set
  *        with elm_layout_part_cursor_set().
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
  *
  * @ingroup Layout
  */
-EAPI void                         elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
 
 /**
  * Sets a specific cursor style for an edje part.
@@ -511,7 +530,7 @@ EAPI void                         elm_layout_part_cursor_unset(Evas_Object *obj,
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style);
 
 /**
  * Gets a specific cursor style for an edje part.
@@ -524,7 +543,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_style_set(Evas_Object *
  *
  * @ingroup Layout
  */
-EAPI const char                  *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+EAPI const char                  *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name);
 
 /**
  * Sets if the cursor set should be searched on the theme or should use
@@ -544,7 +563,7 @@ EAPI const char                  *elm_layout_part_cursor_style_get(const Evas_Ob
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only);
 
 /**
  * Gets a specific cursor engine_only for an edje part.
@@ -556,7 +575,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_set(Evas_Ob
  *
  * @ingroup Layout
  */
-EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name);
 
 /**
  * @def elm_layout_icon_set
@@ -576,7 +595,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_get(const E
 
 /**
  * @def elm_layout_icon_get
- * Convienience macro to get the icon object from a layout that follows the
+ * Convenience macro to get the icon object from a layout that follows the
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout
@@ -586,7 +605,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_get(const E
 
 /**
  * @def elm_layout_end_set
- * Convienience macro to set the end object in a layout that follows the
+ * Convenience macro to set the end object in a layout that follows the
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout
@@ -602,7 +621,7 @@ EAPI Eina_Bool                    elm_layout_part_cursor_engine_only_get(const E
 
 /**
  * @def elm_layout_end_get
- * Convienience macro to get the end object in a layout that follows the
+ * Convenience macro to get the end object in a layout that follows the
  * Elementary naming convention for its parts.
  *
  * @ingroup Layout