Evas_Object_Box

Langue: en

Version: 379648 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

Box (Sequence) Smart Object. -

Convenience smart object that packs children as a sequence using a layout function specified by user.

Data Structures


struct _Evas_Object_Box_Api
This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with evas_object_box_layout_set().
struct _Evas_Object_Box_Data
This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.

Defines


#define EVAS_OBJECT_BOX_API_INIT(smart_class_init) {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
Initializer for whole Evas_Object_Box_Api structure.
#define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
Initializer to zero a whole Evas_Object_Box_Api structure.
#define EVAS_OBJECT_BOX_API_INIT_VERSION EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
Initializer to zero a whole Evas_Object_Box_Api structure and set version.
#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name) EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.

Typedefs


typedef struct _Evas_Object_Box_Api Evas_Object_Box_Api
Smart Class extension providing extra box requirements.
typedef struct _Evas_Object_Box_Data Evas_Object_Box_Data
Smart instance data providing box requirements.
typedef struct _Evas_Object_Box_Option Evas_Object_Box_Option
The base structure for a box option.

Functions


EAPI Evas_Object * evas_object_box_add (Evas *evas)
Create a new box.
EAPI Evas_Object * evas_object_box_add_to (Evas_Object *parent)
Create a box that is child of a given element parent.
EAPI void evas_object_box_smart_set (Evas_Object_Box_Api *api)
Set the default box api struct (Evas_Object_Box_Api) with the default values.
EAPI const Evas_Object_Box_Api * evas_object_box_smart_class_get (void)
Get Box Smart Class for inheritance purposes.
EAPI void evas_object_box_layout_set (Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))
Set a 'calculate' callback (cb) to the o box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc.
EAPI void evas_object_box_layout_horizontal (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a (basic) horizontal box.
EAPI void evas_object_box_layout_vertical (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a (basic) vertical box.
EAPI void evas_object_box_layout_homogeneous_horizontal (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *homogeneous* horizontal box.
EAPI void evas_object_box_layout_homogeneous_vertical (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *homogeneous* vertical box.
EAPI void evas_object_box_layout_homogeneous_max_size_horizontal (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *max size-homogeneous* horizontal box.
EAPI void evas_object_box_layout_homogeneous_max_size_vertical (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *max size-homogeneous* vertical box.
EAPI void evas_object_box_layout_flow_horizontal (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *flow* horizontal box.
EAPI void evas_object_box_layout_flow_vertical (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to a *flow* vertical box.
EAPI void evas_object_box_layout_stack (Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)
Layout function which sets the box o to set all children to the size of the object.
EAPI void evas_object_box_align_set (Evas_Object *o, double horizontal, double vertical)
Set the alignment of the whole bounding box of contents.
EAPI void evas_object_box_align_get (const Evas_Object *o, double *horizontal, double *vertical)
Get alignment of the whole bounding box of contents.
EAPI void evas_object_box_padding_set (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)
Set the space (padding) between cells.
EAPI void evas_object_box_padding_get (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)
Get the (space) padding between cells.
EAPI Evas_Object_Box_Option * evas_object_box_append (Evas_Object *o, Evas_Object *child)
Append a new object child to the box o.
EAPI Evas_Object_Box_Option * evas_object_box_prepend (Evas_Object *o, Evas_Object *child)
Prepend a new object child to the box o.
EAPI Evas_Object_Box_Option * evas_object_box_insert_before (Evas_Object *o, Evas_Object *child, const Evas_Object *reference)
Prepend a new object child to the box o relative to element reference.
EAPI Evas_Object_Box_Option * evas_object_box_insert_after (Evas_Object *o, Evas_Object *child, const Evas_Object *reference)
Append a new object child to the box o relative to element reference.
EAPI Evas_Object_Box_Option * evas_object_box_insert_at (Evas_Object *o, Evas_Object *child, unsigned int pos)
Insert a new object child to the box o at position pos.
EAPI Eina_Bool evas_object_box_remove (Evas_Object *o, Evas_Object *child)
Remove an object child from the box o.
EAPI Eina_Bool evas_object_box_remove_at (Evas_Object *o, unsigned int pos)
Remove an object from the box o which occupies position pos.
EAPI Eina_Bool evas_object_box_remove_all (Evas_Object *o, Eina_Bool clear)
Remove all child objects.
EAPI Eina_Iterator * evas_object_box_iterator_new (const Evas_Object *o)
Get an iterator to walk the list of children for the box.
EAPI Eina_Accessor * evas_object_box_accessor_new (const Evas_Object *o)
Get an accessor to get random access to the list of children for the box.
EAPI Eina_List * evas_object_box_children_get (const Evas_Object *o)
Get the list of children for the box.
EAPI const char * evas_object_box_option_property_name_get (Evas_Object *o, int property)
Get the name of the property of the child elements of the box o whose id is property.
EAPI int evas_object_box_option_property_id_get (Evas_Object *o, const char *name)
Get the id of the property of the child elements of the box o whose name is name.
EAPI Eina_Bool evas_object_box_option_property_set (Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)
Set the property (with id property) of the child element of the box o whose property struct is opt.
EAPI Eina_Bool evas_object_box_option_property_vset (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
Set the property (with id property) of the child element of the box o whose property struct is opt.
EAPI Eina_Bool evas_object_box_option_property_get (Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)
Get the property (with id property) of the child element of the box o whose property struct is opt.
EAPI Eina_Bool evas_object_box_option_property_vget (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
Get the property (with id property) of the child element of the box o whose property struct is opt.

Detailed Description

Convenience smart object that packs children as a sequence using a layout function specified by user.

There are a couple of helper layout functions, all of them using children size hints to define their size and alignment inside their cell space.

See also:

Size Hints

Define Documentation

#define EVAS_OBJECT_BOX_API_INIT(smart_class_init) {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}

Initializer for whole Evas_Object_Box_Api structure. Parameters:

smart_class_init initializer to use for the 'base' field (Evas_Smart_Class).

See also:

EVAS_SMART_CLASS_INIT_NULL
EVAS_SMART_CLASS_INIT_VERSION
EVAS_SMART_CLASS_INIT_NAME_VERSION
EVAS_OBJECT_BOX_API_INIT_NULL
EVAS_OBJECT_BOX_API_INIT_VERSION
EVAS_OBJECT_BOX_API_INIT_NAME_VERSION

#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name) EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))

Initializer to zero a whole Evas_Object_Box_Api structure and set name and version. Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name to the specific value.

It will keep a reference to name field as a 'const char *', that is, name must be available while the structure is used (hint: static or global!) and will not be modified.

See also:

EVAS_OBJECT_BOX_API_INIT_NULL
EVAS_OBJECT_BOX_API_INIT_VERSION
EVAS_OBJECT_BOX_API_INIT

Referenced by evas_object_box_smart_class_get().

#define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)

Initializer to zero a whole Evas_Object_Box_Api structure. See also:

EVAS_OBJECT_BOX_API_INIT_VERSION
EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
EVAS_OBJECT_BOX_API_INIT

#define EVAS_OBJECT_BOX_API_INIT_VERSION EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)

Initializer to zero a whole Evas_Object_Box_Api structure and set version. Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION

See also:

EVAS_OBJECT_BOX_API_INIT_NULL
EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
EVAS_OBJECT_BOX_API_INIT

Function Documentation

EAPI Eina_Accessor* evas_object_box_accessor_new (const Evas_Object * o)

Get an accessor to get random access to the list of children for the box. Note:

Do not remove or delete objects while walking the list.

EAPI Evas_Object* evas_object_box_add (Evas * evas)

Create a new box. Its layout function must be set via evas_object_box_layout_set() (defaults to evas_object_box_layout_horizontal()). The other properties of the box must be set/retrieved via evas_object_box_{h,v}_{align,padding}_{get,set)().

References evas_object_smart_add().

Referenced by evas_object_box_add_to().

EAPI Evas_Object* evas_object_box_add_to (Evas_Object * parent)

Create a box that is child of a given element parent. See also:

evas_object_box_add()

References evas_object_box_add(), evas_object_evas_get(), and evas_object_smart_member_add().

EAPI Evas_Object_Box_Option* evas_object_box_append (Evas_Object * o, Evas_Object * child)

Append a new object child to the box o. On error, NULL is returned.

References evas_object_smart_changed(), and evas_object_smart_member_add().

EAPI Eina_List* evas_object_box_children_get (const Evas_Object * o)

Get the list of children for the box. Note:

This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it.

EAPI Evas_Object_Box_Option* evas_object_box_insert_after (Evas_Object * o, Evas_Object * child, const Evas_Object * reference)

Append a new object child to the box o relative to element reference. If reference is not contained in the box or any other error occurs, NULL is returend.

References evas_object_smart_changed(), and evas_object_smart_member_add().

EAPI Evas_Object_Box_Option* evas_object_box_insert_at (Evas_Object * o, Evas_Object * child, unsigned int pos)

Insert a new object child to the box o at position pos. On error, NULL is returned.

References evas_object_smart_changed(), and evas_object_smart_member_add().

EAPI Evas_Object_Box_Option* evas_object_box_insert_before (Evas_Object * o, Evas_Object * child, const Evas_Object * reference)

Prepend a new object child to the box o relative to element reference. If reference is not contained in the box or any other error occurs, NULL is returned.

References evas_object_smart_changed(), and evas_object_smart_member_add().

EAPI Eina_Iterator* evas_object_box_iterator_new (const Evas_Object * o)

Get an iterator to walk the list of children for the box. Note:

Do not remove or delete objects while walking the list.

EAPI void evas_object_box_layout_flow_horizontal (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *flow* horizontal box. priv must be the smart data of the box.

In a flow horizontal box, the box's child elements are placed in rows (think of text as an analogy). A row has as much elements as can fit into the box's width. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.

box's properties:.RS 4 padding_h tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. align_h dictates the horizontal alignment of the rows (0 to left align them, 1 to right align). A value of -1.0 to align_h lets the rows *justified* horizontally. align_v controls the vertical alignment of the entire set of rows (0 to top, 1 to bottom). A value of -1.0 to align_v makes the box to *justify* the rows vertically. The padding between them, in this case, is corrected so that the first row touches the top border and the last one touches the bottom border (even if they must overlap). padding_v has no influence on the layout.

Child element's properties:.RS 4 padding_l and padding_r sum up to the required width of the child element. The align_x property has no influence on the layout. The child's padding_t and padding_b sum up to the required height of the child element and is the only means (besides row justifying) of setting space between rows. Note, however, that align_y dictates positioning relative to the *largest height* required by a child object in the actual row.

References evas_object_geometry_get(), evas_object_move(), evas_object_size_hint_align_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_flow_vertical (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *flow* vertical box. priv must be the smart data of the box.

This function behaves analogously to evas_object_box_layout_flow_horizontal(). The description of its behaviour can be derived from that function's documentation.

References evas_object_geometry_get(), evas_object_move(), evas_object_size_hint_align_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_homogeneous_horizontal (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *homogeneous* horizontal box. priv must be the smart data of the box.

In a homogeneous horizontal box, its width is divided equally between the contained objects. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.

box's properties:.RS 4 align_h has no influence on the box for this layout. padding_h tells the box to draw empty spaces of that size, in pixels, between the (still equal) child objects's cells. The align_v and padding_v properties of the box don't contribute to its behaviour when this layout is chosen.

Child element's properties:.RS 4 padding_l and padding_r sum up to the required width of the child element. The align_x property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to align_x makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's padding_t, padding_b and align_y properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to align_y makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height).

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_homogeneous_max_size_horizontal (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *max size-homogeneous* horizontal box. priv must be the smart data of the box.

In a max size-homogeneous horizontal box, the equal sized cells reserved for the child objects have the width of the space required by the largest child (in width). The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.

box's properties:.RS 4 padding_h tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. align_h controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. A negative value of align_h makes the box to *justify* its children cells. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The align_v and padding_v properties of the box don't contribute to its behaviour when this layout is chosen.

Child element's properties:.RS 4 padding_l and padding_r sum up to the required width of the child element. The align_x property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to align_x makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's padding_t, padding_b and align_y properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to align_y makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height).

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_homogeneous_max_size_vertical (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *max size-homogeneous* vertical box. priv must be the smart data of the box.

This function behaves analogously to evas_object_box_layout_homogeneous_max_size_horizontal(). The description of its behaviour can be derived from that function's documentation.

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_homogeneous_vertical (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a *homogeneous* vertical box. priv must be the smart data of the box.

This function behaves analogously to evas_object_box_layout_homogeneous_horizontal(). The description of its behaviour can be derived from that function's documentation.

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().

EAPI void evas_object_box_layout_horizontal (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a (basic) horizontal box. priv must be the smart data of the box.

The object's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.

box's properties:.RS 4 align_h controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. Note that if the size required by the children, which is given by their widths and the padding_h property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value of align_h makes the box to *justify* its children. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The align_v and padding_v properties of the box don't contribute to its behaviour when this layout is chosen.

Child element's properties:.RS 4 align_x does not influence the box's behavior. padding_l and padding_r sum up to the container's horizontal padding between elements. The child's padding_t, padding_b and align_y properties apply for padding/positioning relative to the overall height of the box. Finally, there is the weight_x property, which, if set to a non-zero value, tells the container that the child width is not pre-defined. If the container can't accomodate all its children, it sets the widths of the children *with weights* to sizes as small as they can all fit into it. If the size required by the children is less than the available, the box increases its children's (which have weights) widths as to fit the remaining space. The weight_x property, besides telling the element is resizable, gives a *weight* for the resizing process. The parent box will try to distribute (or take off) widths accordingly to the *normalized* list of weigths: most weighted children remain/get larger in this process than the the least ones. weight_y does not influence the layout.

If one desires that, besides having weights, child elements must be resized bounded to a minimum or maximum size, their size hint properties must be set (by the evas_object_size_hint_{min,max}_set() functions.

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_size_hint_weight_get().

EAPI void evas_object_box_layout_set (Evas_Object * o, Evas_Object_Box_Layout cb, const void * data, void(*)(void *data) free_data)

Set a 'calculate' callback (cb) to the o box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. ).

References evas_object_smart_changed().

EAPI void evas_object_box_layout_stack (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to set all children to the size of the object. priv must be the smart data of the box.

In a stack box, all children will be given the same size and they will be stacked on above the other, so the first object will be the bottom most.

box's properties:.RS 4 No box option is used.

Child element's properties:.RS 4 padding_l and padding_r sum up to the required width of the child element. The align_x property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to align_x makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). Same applies to vertical axis.

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_stack_above().

EAPI void evas_object_box_layout_vertical (Evas_Object * o, Evas_Object_Box_Data * priv, void *data __UNUSED__)

Layout function which sets the box o to a (basic) vertical box. priv must be the smart data of the box.

This function behaves analogously to evas_object_box_layout_horizontal(). The description of its behaviour can be derived from that function's documentation.

References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_size_hint_weight_get().

EAPI Eina_Bool evas_object_box_option_property_get (Evas_Object * o, Evas_Object_Box_Option * opt, int property, ...)

Get the property (with id property) of the child element of the box o whose property struct is opt. The last arguments must be addresses of variables with the same type of that property. On error, 0 is returned.

References evas_object_box_option_property_vget().

EAPI int evas_object_box_option_property_id_get (Evas_Object * o, const char * name)

Get the id of the property of the child elements of the box o whose name is name. On error, -1 is returned.

EAPI const char* evas_object_box_option_property_name_get (Evas_Object * o, int property)

Get the name of the property of the child elements of the box o whose id is property. On error, NULL is returned.

EAPI Eina_Bool evas_object_box_option_property_set (Evas_Object * o, Evas_Object_Box_Option * opt, int property, ...)

Set the property (with id property) of the child element of the box o whose property struct is opt. The property's values must be the last arguments and their type *must* match that of the property itself. On error, 0 is returned.

References evas_object_box_option_property_vset().

EAPI Eina_Bool evas_object_box_option_property_vget (Evas_Object * o, Evas_Object_Box_Option * opt, int property, va_list args)

Get the property (with id property) of the child element of the box o whose property struct is opt. The args which the va_list args is initialized with must be addresses of variables with the same type of that property. On error, 0 is returned.

Referenced by evas_object_box_option_property_get().

EAPI Eina_Bool evas_object_box_option_property_vset (Evas_Object * o, Evas_Object_Box_Option * opt, int property, va_list args)

Set the property (with id property) of the child element of the box o whose property struct is opt. The property's values must be the args which the va_list args is initialized with and their type *must* match that of the property itself. On error, 0 is returned.

References evas_object_smart_changed().

Referenced by evas_object_box_option_property_set().

EAPI Evas_Object_Box_Option* evas_object_box_prepend (Evas_Object * o, Evas_Object * child)

Prepend a new object child to the box o. On error, NULL is returned.

References evas_object_smart_changed(), and evas_object_smart_member_add().

EAPI Eina_Bool evas_object_box_remove (Evas_Object * o, Evas_Object * child)

Remove an object child from the box o. On error, 0 is returned.

References evas_object_smart_changed(), and evas_object_smart_member_del().

EAPI Eina_Bool evas_object_box_remove_all (Evas_Object * o, Eina_Bool clear)

Remove all child objects. Returns:

0 on errors

References evas_object_del(), evas_object_smart_changed(), and evas_object_smart_member_del().

EAPI Eina_Bool evas_object_box_remove_at (Evas_Object * o, unsigned int pos)

Remove an object from the box o which occupies position pos. On error, 0 is returned.

References evas_object_smart_changed(), and evas_object_smart_member_del().

EAPI void evas_object_box_smart_set (Evas_Object_Box_Api * api)

Set the default box api struct (Evas_Object_Box_Api) with the default values. May be used to extend that API.

Referenced by evas_object_box_smart_class_get().

Author

Generated automatically by Doxygen for Evas from the source code.