Data Structures | Public Member Functions | Static Public Member Functions
eo_cxx::evas::table Struct Reference

Data Structures

struct  address_const_of
 
struct  address_of
 

Public Member Functions

void clear (bool clear_) const
 Faster way to remove all child objects from a table object. More...
 
Eina_Accessoraccessor_new () const
 Get an accessor to get random access to the list of children for the table. More...
 
Eina_Iteratoriterator_new () const
 Get an iterator to walk the list of children for the table. More...
 
::efl::eina::optional< ::evas::objectadd_to () const
 Create a table that is child of a given element parent. More...
 
bool pack_get (::efl::eina::optional< ::evas::object > child_, unsigned short *col_, unsigned short *row_, unsigned short *colspan_, unsigned short *rowspan_) const
 Get packing location of a child of table. More...
 
bool pack (::evas::object child_, unsigned short col_, unsigned short row_, unsigned short colspan_, unsigned short rowspan_) const
 Add a new child to a table object or set its current packing. More...
 
bool unpack (::evas::object child_) const
 Remove child from table. More...
 
Evas_Object_Table_Homogeneous_Mode homogeneous_get () const
 Get the current layout homogeneous mode. More...
 
void homogeneous_set (Evas_Object_Table_Homogeneous_Mode homogeneous_) const
 Set how this table should layout children. More...
 
void align_get (double *horizontal_, double *vertical_) const
 Get alignment of the whole bounding box of contents. More...
 
void align_set (double horizontal_, double vertical_) const
 Set the alignment of the whole bounding box of contents. More...
 
void padding_get (Evas_Coord *horizontal_, Evas_Coord *vertical_) const
 Get padding between cells. More...
 
void padding_set (Evas_Coord horizontal_, Evas_Coord vertical_) const
 Set padding between cells. More...
 
bool mirrored_get () const
 Gets the mirrored mode of the table. More...
 
void mirrored_set (bool mirrored_) const
 Sets the mirrored mode of the table. More...
 
void col_row_size_get (int *cols_, int *rows_) const
 Get the number of columns and rows this table takes. More...
 
::efl::eina::optional< ::efl::eina::list< ::evas::object > > children_get () const
 Get the list of children for the table. More...
 
::efl::eina::optional< ::evas::objectchild_get (unsigned short col_, unsigned short row_) const
 Get the child of the table at the given coordinates. More...
 
 operator::evas::table () const
 
 operator::evas::table & ()
 
 operator::evas::table const & () const
 

Static Public Member Functions

static Eo_Class const * _eo_class ()
 

Member Function Documentation

void eo_cxx::evas::table::clear ( bool  clear_) const
inline

Faster way to remove all child objects from a table object.

Parameters
clearif true, it will delete just removed children.
Eina_Accessor * eo_cxx::evas::table::accessor_new ( ) const
inline

Get an accessor to get random access to the list of children for the table.

Note
Do not remove or delete objects while walking the list.
Eina_Iterator * eo_cxx::evas::table::iterator_new ( ) const
inline

Get an iterator to walk the list of children for the table.

Note
Do not remove or delete objects while walking the list.
efl::eina::optional<::evas::object > eo_cxx::evas::table::add_to ( ) const
inline

Create a table that is child of a given element parent.

See also
evas_object_table_add()
bool eo_cxx::evas::table::pack_get ( ::efl::eina::optional< ::evas::object child_,
unsigned short *  col_,
unsigned short *  row_,
unsigned short *  colspan_,
unsigned short *  rowspan_ 
) const
inline

Get packing location of a child of table.

Returns
1 on success, 0 on failure.
Since
1.1
Parameters
childThe child object to add.
[out]colpointer to store relative-horizontal position to place child.
[out]rowpointer to store relative-vertical position to place child.
[out]colspanpointer to store how many relative-horizontal position to use for this child.
[out]rowspanpointer to store how many relative-vertical position to use for this child.
bool eo_cxx::evas::table::pack ( ::evas::object  child_,
unsigned short  col_,
unsigned short  row_,
unsigned short  colspan_,
unsigned short  rowspan_ 
) const
inline

Add a new child to a table object or set its current packing.

Note that columns and rows only guarantee 16bit unsigned values at best. That means that col + colspan AND row + rowspan must fit inside 16bit unsigned values cleanly. You will be warned once values exceed 15bit storage, and attempting to use values not able to fit in 16bits will result in failure.

Returns
1 on success, 0 on failure.
Parameters
childThe child object to add.
colrelative-horizontal position to place child.
rowrelative-vertical position to place child.
colspanhow many relative-horizontal position to use for this child.
rowspanhow many relative-vertical position to use for this child.
bool eo_cxx::evas::table::unpack ( ::evas::object  child_) const
inline

Remove child from table.

Note
removing a child will immediately call a walk over children in order to recalculate numbers of columns and rows. If you plan to remove all children, use evas_object_table_clear() instead.
Returns
1 on success, 0 on failure.
Parameters
child
Evas_Object_Table_Homogeneous_Mode eo_cxx::evas::table::homogeneous_get ( ) const
inline

Get the current layout homogeneous mode.

See also
evas_object_table_homogeneous_set()
Parameters
homogeneous
void eo_cxx::evas::table::homogeneous_set ( Evas_Object_Table_Homogeneous_Mode  homogeneous_) const
inline

Set how this table should layout children.

EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE
If table does not use homogeneous mode then columns and rows will be calculated based on hints of individual cells. This operation mode is more flexible, but more complex and heavy to calculate as well. Weight properties are handled as a boolean expand. Negative alignment will be considered as 0.5. This is the default.
EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE
When homogeneous is relative to table the own table size is divided equally among children, filling the whole table area. That is, if table has WIDTH and COLUMNS, each cell will get WIDTH / COLUMNS pixels. If children have minimum size that is larger than this amount (including padding), then it will overflow and be aligned respecting the alignment hint, possible overlapping sibling cells. Weight hint is used as a boolean, if greater than zero it will make the child expand in that axis, taking as much space as possible (bounded to maximum size hint). Negative alignment will be considered as 0.5.
EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM
When homogeneous is relative to item it means the greatest minimum cell size will be used. That is, if no element is set to expand, the table will have its contents to a minimum size, the bounding box of all these children will be aligned relatively to the table object using evas_object_table_align_get(). If the table area is too small to hold this minimum bounding box, then the objects will keep their size and the bounding box will overflow the box area, still respecting the alignment. Weight hint is used as a boolean, if greater than zero it will make that cell expand in that axis, toggling the expand mode, which makes the table behave much like EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE, except that the bounding box will overflow and items will not overlap siblings. If no minimum size is provided at all then the table will fallback to expand mode as well.
Parameters
homogeneous
void eo_cxx::evas::table::align_get ( double *  horizontal_,
double *  vertical_ 
) const
inline

Get alignment of the whole bounding box of contents.

Parameters
horizontal
vertical
void eo_cxx::evas::table::align_set ( double  horizontal_,
double  vertical_ 
) const
inline

Set the alignment of the whole bounding box of contents.

Parameters
horizontal
vertical
void eo_cxx::evas::table::padding_get ( Evas_Coord horizontal_,
Evas_Coord vertical_ 
) const
inline

Get padding between cells.

Parameters
horizontal
vertical
void eo_cxx::evas::table::padding_set ( Evas_Coord  horizontal_,
Evas_Coord  vertical_ 
) const
inline

Set padding between cells.

Parameters
horizontal
vertical
bool eo_cxx::evas::table::mirrored_get ( ) const
inline

Gets the mirrored mode of the table.

Returns
EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise.
Since
1.1
See also
evas_object_table_mirrored_set()
Parameters
mirroredthe mirrored mode to set
void eo_cxx::evas::table::mirrored_set ( bool  mirrored_) const
inline

Sets the mirrored mode of the table.

In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not top left.

Since
1.1
Parameters
mirroredthe mirrored mode to set
void eo_cxx::evas::table::col_row_size_get ( int *  cols_,
int *  rows_ 
) const
inline

Get the number of columns and rows this table takes.

Note
columns and rows are virtual entities, one can specify a table with a single object that takes 4 columns and 5 rows. The only difference for a single cell table is that paddings will be accounted proportionally.
Parameters
cols
rows
efl::eina::optional<::efl::eina::list<::evas::object > > eo_cxx::evas::table::children_get ( ) const
inline

Get the list of children for the table.

Note
This is a duplicate of the list kept by the table internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the table when walking this list, but these removals won't be reflected on it.
efl::eina::optional<::evas::object > eo_cxx::evas::table::child_get ( unsigned short  col_,
unsigned short  row_ 
) const
inline

Get the child of the table at the given coordinates.

Note
This does not take into account col/row spanning
Parameters
child