Box (Sequence) Smart Object.
[Smart Object Functions]
Convenience smart object that packs children as a sequence using a layout function specified by user. More...
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(). More... | |
struct | _Evas_Object_Box_Data |
This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. More... | |
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).
#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.
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.
#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
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:
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 toalign_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 toalign_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:
padding_l
andpadding_r
sum up to the required width of the child element. Thealign_x
property has no influence on the layout. The child'spadding_t
andpadding_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, thatalign_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:
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. Thealign_v
andpadding_v
properties of the box don't contribute to its behaviour when this layout is chosen.
- Child element's properties:
padding_l
andpadding_r
sum up to the required width of the child element. Thealign_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 toalign_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'spadding_t
,padding_b
andalign_y
properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 toalign_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:
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 ofalign_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). Thealign_v
andpadding_v
properties of the box don't contribute to its behaviour when this layout is chosen.
- Child element's properties:
padding_l
andpadding_r
sum up to the required width of the child element. Thealign_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 toalign_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'spadding_t
,padding_b
andalign_y
properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 toalign_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:
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 thepadding_h
property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value ofalign_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). Thealign_v
andpadding_v
properties of the box don't contribute to its behaviour when this layout is chosen.
- Child element's properties:
align_x
does not influence the box's behavior.padding_l
andpadding_r
sum up to the container's horizontal padding between elements. The child'spadding_t
,padding_b
andalign_y
properties apply for padding/positioning relative to the overall height of the box. Finally, there is theweight_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 accommodate 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. Theweight_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:
- No box option is used.
- Child element's properties:
padding_l
andpadding_r
sum up to the required width of the child element. Thealign_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 toalign_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().