Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. More...

Typedefs

typedef enum _Evas_Object_Table_Homogeneous_Mode Evas_Object_Table_Homogeneous_Mode
 How to pack items into cells in a table. More...
 

Enumerations

enum  _Evas_Object_Table_Homogeneous_Mode {
  EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
  EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
  EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
}
 How to pack items into cells in a table. More...
 
enum  {
  EVAS_OBJ_TABLE_SUB_ID_ADD_TO,
  EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_SET,
  EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_GET,
  EVAS_OBJ_TABLE_SUB_ID_ALIGN_SET,
  EVAS_OBJ_TABLE_SUB_ID_ALIGN_GET,
  EVAS_OBJ_TABLE_SUB_ID_PADDING_SET,
  EVAS_OBJ_TABLE_SUB_ID_PADDING_GET,
  EVAS_OBJ_TABLE_SUB_ID_PACK_GET,
  EVAS_OBJ_TABLE_SUB_ID_PACK,
  EVAS_OBJ_TABLE_SUB_ID_UNPACK,
  EVAS_OBJ_TABLE_SUB_ID_CLEAR,
  EVAS_OBJ_TABLE_SUB_ID_COL_ROW_SIZE_GET,
  EVAS_OBJ_TABLE_SUB_ID_ITERATOR_NEW,
  EVAS_OBJ_TABLE_SUB_ID_ACCESSOR_NEW,
  EVAS_OBJ_TABLE_SUB_ID_CHILDREN_GET,
  EVAS_OBJ_TABLE_SUB_ID_MIRRORED_GET,
  EVAS_OBJ_TABLE_SUB_ID_MIRRORED_SET,
  EVAS_OBJ_TABLE_SUB_ID_LAST
}
 
const Eo_Classevas_object_table_class_get (void)
 
#define EVAS_OBJ_TABLE_CLASS   evas_object_table_class_get()
 
#define EVAS_OBJ_TABLE_ID(sub_id)   (EVAS_OBJ_TABLE_BASE_ID + sub_id)
 
#define evas_obj_table_add_to(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ADD_TO), EO_TYPECHECK(Evas_Object **, ret)
 
#define evas_obj_table_homogeneous_set(homogeneous)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_SET), EO_TYPECHECK(Evas_Object_Table_Homogeneous_Mode, homogeneous)
 
#define evas_obj_table_homogeneous_get(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_GET), EO_TYPECHECK(Evas_Object_Table_Homogeneous_Mode *, ret)
 
#define evas_obj_table_align_set(horizontal, vertical)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ALIGN_SET), EO_TYPECHECK(double, horizontal), EO_TYPECHECK(double, vertical)
 
#define evas_obj_table_align_get(horizontal, vertical)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ALIGN_GET), EO_TYPECHECK(double *, horizontal), EO_TYPECHECK(double *, vertical)
 
#define evas_obj_table_padding_set(horizontal, vertical)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PADDING_SET), EO_TYPECHECK(Evas_Coord, horizontal), EO_TYPECHECK(Evas_Coord, vertical)
 
#define evas_obj_table_padding_get(horizontal, vertical)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PADDING_GET), EO_TYPECHECK(Evas_Coord *, horizontal), EO_TYPECHECK(Evas_Coord *, vertical)
 
#define evas_obj_table_pack_get(child, col, row, colspan, rowspan, ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PACK_GET), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short *, col), EO_TYPECHECK(unsigned short *, row), EO_TYPECHECK(unsigned short *, colspan), EO_TYPECHECK(unsigned short *, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
 
#define evas_obj_table_pack(child, col, row, colspan, rowspan, ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PACK), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
 
#define evas_obj_table_unpack(child, ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_UNPACK), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
 
#define evas_obj_table_clear(clear)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
 
#define evas_obj_table_col_row_size_get(cols, rows)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_COL_ROW_SIZE_GET), EO_TYPECHECK(int *, cols), EO_TYPECHECK(int *, rows)
 
#define evas_obj_table_iterator_new(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ITERATOR_NEW), EO_TYPECHECK(Eina_Iterator **, ret)
 
#define evas_obj_table_accessor_new(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ACCESSOR_NEW), EO_TYPECHECK(Eina_Accessor **, ret)
 
#define evas_obj_table_children_get(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_CHILDREN_GET), EO_TYPECHECK(Eina_List **, ret)
 
#define evas_obj_table_mirrored_get(ret)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_MIRRORED_GET), EO_TYPECHECK(Eina_Bool *, ret)
 
#define evas_obj_table_mirrored_set(mirrored)   EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, mirrored)
 
Eo_Op EVAS_OBJ_TABLE_BASE_ID
 
Evas_Objectevas_object_table_add (Evas *evas)
 Create a new table. More...
 
Evas_Objectevas_object_table_add_to (Evas_Object *parent)
 Create a table that is child of a given element parent. More...
 
void evas_object_table_homogeneous_set (Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous)
 Set how this table should layout children. More...
 
Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get (const Evas_Object *o)
 Get the current layout homogeneous mode. More...
 
void evas_object_table_padding_set (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)
 Set padding between cells.
 
void evas_object_table_padding_get (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)
 Get padding between cells.
 
void evas_object_table_align_set (Evas_Object *o, double horizontal, double vertical)
 Set the alignment of the whole bounding box of contents.
 
void evas_object_table_align_get (const Evas_Object *o, double *horizontal, double *vertical)
 Get alignment of the whole bounding box of contents.
 
void evas_object_table_mirrored_set (Evas_Object *o, Eina_Bool mirrored)
 Sets the mirrored mode of the table. More...
 
Eina_Bool evas_object_table_mirrored_get (const Evas_Object *o)
 Gets the mirrored mode of the table. More...
 
Eina_Bool evas_object_table_pack_get (const Evas_Object *o, Evas_Object *child, unsigned short *col, unsigned short *row, unsigned short *colspan, unsigned short *rowspan)
 Get packing location of a child of table. More...
 
Eina_Bool evas_object_table_pack (Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
 Add a new child to a table object or set its current packing. More...
 
Eina_Bool evas_object_table_unpack (Evas_Object *o, Evas_Object *child)
 Remove child from table. More...
 
void evas_object_table_clear (Evas_Object *o, Eina_Bool clear)
 Faster way to remove all child objects from a table object. More...
 
void evas_object_table_col_row_size_get (const Evas_Object *o, int *cols, int *rows)
 Get the number of columns and rows this table takes. More...
 
Eina_Iteratorevas_object_table_iterator_new (const Evas_Object *o)
 Get an iterator to walk the list of children for the table. More...
 
Eina_Accessorevas_object_table_accessor_new (const Evas_Object *o)
 Get an accessor to get random access to the list of children for the table. More...
 
Eina_Listevas_object_table_children_get (const Evas_Object *o)
 Get the list of children for the table. More...
 
Evas_Objectevas_object_table_child_get (const Evas_Object *o, unsigned short col, unsigned short row)
 Get the child of the table at the given coordinates. More...
 

Detailed Description

Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space.

Table Smart Object example shows how to use this Evas_Object.

See also
Size Hints

Macro Definition Documentation

◆ evas_obj_table_add_to

#define evas_obj_table_add_to (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ADD_TO), EO_TYPECHECK(Evas_Object **, ret)
Since
1.8

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

Parameters
[out]ret
See also
evas_object_table_add_to

Referenced by evas_object_table_add_to().

◆ evas_obj_table_homogeneous_set

#define evas_obj_table_homogeneous_set (   homogeneous)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_SET), EO_TYPECHECK(Evas_Object_Table_Homogeneous_Mode, homogeneous)
Since
1.8

Set how this table should layout children.

Parameters
[in]homogeneous
See also
evas_object_table_homogeneous_set

Referenced by evas_object_table_homogeneous_set().

◆ evas_obj_table_homogeneous_get

#define evas_obj_table_homogeneous_get (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_HOMOGENEOUS_GET), EO_TYPECHECK(Evas_Object_Table_Homogeneous_Mode *, ret)
Since
1.8

Get the current layout homogeneous mode.

Parameters
[out]ret
See also
evas_object_table_homogeneous_get

◆ evas_obj_table_align_set

#define evas_obj_table_align_set (   horizontal,
  vertical 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ALIGN_SET), EO_TYPECHECK(double, horizontal), EO_TYPECHECK(double, vertical)
Since
1.8

Set the alignment of the whole bounding box of contents.

Parameters
[in]horizontal
[in]vertical
See also
evas_object_table_align_set

Referenced by evas_object_table_align_set().

◆ evas_obj_table_align_get

#define evas_obj_table_align_get (   horizontal,
  vertical 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ALIGN_GET), EO_TYPECHECK(double *, horizontal), EO_TYPECHECK(double *, vertical)
Since
1.8

Get alignment of the whole bounding box of contents.

Parameters
[out]horizontal
[out]vertical
See also
evas_object_table_align_get

Referenced by evas_object_table_align_get().

◆ evas_obj_table_padding_set

#define evas_obj_table_padding_set (   horizontal,
  vertical 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PADDING_SET), EO_TYPECHECK(Evas_Coord, horizontal), EO_TYPECHECK(Evas_Coord, vertical)
Since
1.8

Set padding between cells.

Parameters
[in]horizontal
[in]vertical
See also
evas_object_table_padding_set

Referenced by evas_object_table_padding_set().

◆ evas_obj_table_padding_get

#define evas_obj_table_padding_get (   horizontal,
  vertical 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PADDING_GET), EO_TYPECHECK(Evas_Coord *, horizontal), EO_TYPECHECK(Evas_Coord *, vertical)
Since
1.8

Get padding between cells.

Parameters
[out]horizontal
[out]vertical
See also
evas_object_table_padding_get

Referenced by evas_object_table_padding_get().

◆ evas_obj_table_pack_get

#define evas_obj_table_pack_get (   child,
  col,
  row,
  colspan,
  rowspan,
  ret 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PACK_GET), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short *, col), EO_TYPECHECK(unsigned short *, row), EO_TYPECHECK(unsigned short *, colspan), EO_TYPECHECK(unsigned short *, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

Get packing location of a child of table

Parameters
[in]child
[out]col
[out]row
[out]colspan
[out]rowspan
[out]ret
See also
evas_object_table_pack_get

Referenced by evas_object_table_pack_get().

◆ evas_obj_table_pack

#define evas_obj_table_pack (   child,
  col,
  row,
  colspan,
  rowspan,
  ret 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_PACK), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(unsigned short, col), EO_TYPECHECK(unsigned short, row), EO_TYPECHECK(unsigned short, colspan), EO_TYPECHECK(unsigned short, rowspan), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

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

Parameters
[in]child
[in]col
[in]row
[in]colspan
[in]rowspan
[out]ret
See also
evas_object_table_pack

Referenced by evas_object_table_pack().

◆ evas_obj_table_unpack

#define evas_obj_table_unpack (   child,
  ret 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_UNPACK), EO_TYPECHECK(Evas_Object *, child), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

Remove child from table.

Parameters
[in]child
[out]ret
See also
evas_object_table_unpack

Referenced by evas_object_table_unpack().

◆ evas_obj_table_clear

#define evas_obj_table_clear (   clear)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
Since
1.8

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

Parameters
[in]clear
See also
evas_object_table_clear

Referenced by evas_object_table_clear().

◆ evas_obj_table_col_row_size_get

#define evas_obj_table_col_row_size_get (   cols,
  rows 
)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_COL_ROW_SIZE_GET), EO_TYPECHECK(int *, cols), EO_TYPECHECK(int *, rows)
Since
1.8

Get the number of columns and rows this table takes.

Parameters
[out]cols
[out]rows
See also
evas_object_table_col_row_size_get

Referenced by evas_object_table_col_row_size_get().

◆ evas_obj_table_iterator_new

#define evas_obj_table_iterator_new (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ITERATOR_NEW), EO_TYPECHECK(Eina_Iterator **, ret)
Since
1.8

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

Parameters
[out]ret
See also
evas_object_table_iterator_new

Referenced by evas_object_table_iterator_new().

◆ evas_obj_table_accessor_new

#define evas_obj_table_accessor_new (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_ACCESSOR_NEW), EO_TYPECHECK(Eina_Accessor **, ret)
Since
1.8

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

Parameters
[out]ret
See also
evas_object_table_accessor_new

Referenced by evas_object_table_accessor_new().

◆ evas_obj_table_children_get

#define evas_obj_table_children_get (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_CHILDREN_GET), EO_TYPECHECK(Eina_List **, ret)
Since
1.8

Get the list of children for the table.

Parameters
[out]ret
See also
evas_object_table_children_get

Referenced by evas_object_table_children_get().

◆ evas_obj_table_mirrored_get

#define evas_obj_table_mirrored_get (   ret)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_MIRRORED_GET), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

Gets the mirrored mode of the table.

Parameters
[out]ret
See also
evas_object_table_mirrored_get

Referenced by evas_object_table_mirrored_get().

◆ evas_obj_table_mirrored_set

#define evas_obj_table_mirrored_set (   mirrored)    EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, mirrored)
Since
1.8

Sets the mirrored mode of the table. In mirrored mode the table items go

Parameters
[in]mirrored
See also
evas_object_table_mirrored_set

Referenced by evas_object_table_mirrored_set().

Typedef Documentation

◆ Evas_Object_Table_Homogeneous_Mode

How to pack items into cells in a table.

See also
evas_object_table_homogeneous_set() for an explanation of the function of each one.Table cell pack mode.

Enumeration Type Documentation

◆ _Evas_Object_Table_Homogeneous_Mode

How to pack items into cells in a table.

See also
evas_object_table_homogeneous_set() for an explanation of the function of each one.

Function Documentation

◆ evas_object_table_add()

Evas_Object* evas_object_table_add ( Evas evas)

Create a new table.

Parameters
evasCanvas in which table will be added.

Referenced by evas_object_table_add_to().

◆ evas_object_table_add_to()

Evas_Object* evas_object_table_add_to ( Evas_Object parent)

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

See also
evas_object_table_add()

References EAPI, evas_obj_table_add_to, evas_object_evas_get(), evas_object_smart_member_add(), and evas_object_table_add().

◆ evas_object_table_homogeneous_set()

void evas_object_table_homogeneous_set ( Evas_Object o,
Evas_Object_Table_Homogeneous_Mode  homogeneous 
)

Set how this table should layout children.

Todo:
consider aspect hint and respect it.
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.
Todo:
EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE should balance weight.
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.
Examples:
evas-table.c.

References EAPI, evas_obj_table_homogeneous_set, and evas_object_smart_changed().

◆ evas_object_table_homogeneous_get()

Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get ( const Evas_Object o)

Get the current layout homogeneous mode.

See also
evas_object_table_homogeneous_set()

◆ evas_object_table_mirrored_set()

void evas_object_table_mirrored_set ( Evas_Object o,
Eina_Bool  mirrored 
)

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.

Parameters
oThe table object.
mirroredthe mirrored mode to set
Since
1.1

References evas_obj_smart_calculate, and evas_obj_table_mirrored_set.

◆ evas_object_table_mirrored_get()

Eina_Bool evas_object_table_mirrored_get ( const Evas_Object o)

Gets the mirrored mode of the table.

Parameters
oThe table object.
Returns
EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise.
Since
1.1
See also
evas_object_table_mirrored_set()

References EAPI, EINA_FALSE, and evas_obj_table_mirrored_get.

◆ evas_object_table_pack_get()

Eina_Bool evas_object_table_pack_get ( const Evas_Object o,
Evas_Object child,
unsigned short *  col,
unsigned short *  row,
unsigned short *  colspan,
unsigned short *  rowspan 
)

Get packing location of a child of table.

Parameters
oThe given table object.
childThe child object to add.
colpointer to store relative-horizontal position to place child.
rowpointer to store relative-vertical position to place child.
colspanpointer to store how many relative-horizontal position to use for this child.
rowspanpointer to store how many relative-vertical position to use for this child.
Returns
1 on success, 0 on failure.
Since
1.1

References EAPI, EINA_FALSE, EINA_TRUE, and evas_obj_table_pack_get.

◆ evas_object_table_pack()

Eina_Bool evas_object_table_pack ( Evas_Object o,
Evas_Object child,
unsigned short  col,
unsigned short  row,
unsigned short  colspan,
unsigned short  rowspan 
)

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

Parameters
oThe given table object.
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.

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.
Examples:
evas-table.c.

References EINA_FALSE, and evas_obj_table_pack.

Referenced by edje_object_update_hints_get().

◆ evas_object_table_unpack()

Eina_Bool evas_object_table_unpack ( Evas_Object o,
Evas_Object child 
)

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.

References EINA_FALSE, evas_obj_table_unpack, and evas_object_smart_parent_get().

Referenced by edje_object_update_hints_get().

◆ evas_object_table_clear()

void evas_object_table_clear ( Evas_Object o,
Eina_Bool  clear 
)

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

Parameters
oThe given table object.
clearif true, it will delete just removed children.

References EAPI, EINA_LIST_FREE, evas_obj_table_clear, evas_object_del(), evas_object_smart_changed(), and evas_object_smart_member_del().

◆ evas_object_table_col_row_size_get()

void evas_object_table_col_row_size_get ( const Evas_Object o,
int *  cols,
int *  rows 
)

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.

References EAPI, and evas_obj_table_col_row_size_get.

◆ evas_object_table_iterator_new()

Eina_Iterator* evas_object_table_iterator_new ( const Evas_Object o)

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

Note
Do not remove or delete objects while walking the list.

References EAPI, eina_list_iterator_new(), EINA_MAGIC_SET, evas_obj_table_iterator_new, FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.

◆ evas_object_table_accessor_new()

Eina_Accessor* evas_object_table_accessor_new ( const Evas_Object o)

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.

References EAPI, eina_list_accessor_new(), EINA_MAGIC_SET, evas_obj_table_accessor_new, FUNC_ACCESSOR_FREE, FUNC_ACCESSOR_GET_AT, and FUNC_ACCESSOR_GET_CONTAINER.

◆ evas_object_table_children_get()

Eina_List* evas_object_table_children_get ( const Evas_Object o)

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.

References eina_list_append(), EINA_LIST_FOREACH, and evas_obj_table_children_get.

Referenced by edje_object_update_hints_get().

◆ evas_object_table_child_get()

Evas_Object* evas_object_table_child_get ( const Evas_Object o,
unsigned short  col,
unsigned short  row 
)

Get the child of the table at the given coordinates.

Note
This does not take into account col/row spanning

References EAPI, and EINA_LIST_FOREACH.