efl/src/lib/efl/interfaces/efl_pack_grid.eo

86 lines
2.4 KiB
Plaintext

import efl_gfx_types;
interface Efl.Pack_Grid (Efl.Pack_Linear)
{
[[2D containers aligned on a grid with rows and columns]]
legacy_prefix: null;
eo_prefix: efl_pack;
methods {
pack_grid {
params {
subobj: own(Efl.Gfx.Base *);
col: int;
row: int;
colspan: int @optional; [[0 means 1, -1 means @.grid_columns]]
rowspan: int @optional; [[0 means 1, -1 means @.grid_rows]]
}
}
grid_content_iterate {
[[Returns all objects at a given position in this grid.]]
return: free(own(iterator<Efl.Gfx.Base *> *), eina_iterator_free);
params {
@in col: int;
@in row: int;
@in below: bool @optional; [[If $true get objects spanning over this cell.]]
}
}
grid_content_at {
[[Returns the first child at position, see @.grid_content_iterate.]]
return: Efl.Gfx.Base*;
params {
@in col: int;
@in row: int;
}
}
@property grid_content_position {
[[position and span of the $subobj in this container, may be modified to move the $subobj]]
set { [[same as grid_pack]] }
get { return: bool; [[returns false if item is not a child]] }
keys {
subobj: Efl.Gfx.Base*;
}
values {
col: int;
row: int;
colspan: int;
rowspan: int;
}
}
@property grid_size {
[[Combines @.grid_columns and @.grid_rows]]
set {}
get {}
values {
cols: int;
rows: int;
}
}
@property grid_columns {
set { [[Specifies limit for linear adds - if direction is horizontal]] }
get {}
values {
cols: int;
}
}
@property grid_rows {
set { [[Specifies limit for linear adds - if direction is vertical]] }
get {}
values {
rows: int;
}
}
@property directions {
[[Primary and secondary up/left/right/down orientations for linear apis.
Default is right and down. Overrides @Efl.Pack_Linear.direction.
]]
set {}
get {}
values {
primary: Efl.Orient;
secondary: Efl.Orient;
}
}
}
}