blob: 1afb296efd212e2941f1a92b284c2abf3a8e25d0 (plain
* Add a new box to the parent
* By default, the box will be in vertical mode and non-homogeneous.
* @param parent The parent object
* @return The new object or NULL if it cannot be created
* @ingroup Elm_Box
EAPI Evas_Object *elm_box_add(Evas_Object *parent);
* @brief Set the layout defining function to be used by the box
* Whenever anything changes that requires the box in @c obj to recalculate the
* size and position of its elements, the function @c cb will be called to
* determine what the layout of the children will be.
* Once a custom function is set, everything about the children layout is
* defined by it. The flags set by @ref elm_box_horizontal_set and
* @ref elm_box_homogeneous_set no longer have any meaning, and the values
* given by @ref elm_box_padding_set and @ref elm_box_align_set are up to this
* layout function to decide if they are used and how. These last two will be
* found in the @c priv parameter, of type @c Evas_Object_Box_Data, passed to
* @c cb. The @c Evas_Object the function receives is not the Elementary
* widget, but the internal Evas Box it uses, so none of the functions
* described here can be used on it.
* Any of the layout functions in @c Evas can be used here, as well as the
* special @ref elm_box_layout_transition.
* The final @c data argument received by @c cb is the same @c data passed
* here, and the @c free_data function will be called to free it whenever the
* box is destroyed or another layout function is set.
* Setting @c cb to @c null will revert back to the default layout function.
* See also @ref elm_box_layout_transition.
* @param[in] cb The callback function used for layout
* @param[in] data Data that will be passed to layout function
* @param[in] free_data Function called to free @c data
EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data);