efl/src/lib/efl/interfaces/efl_pack_table.eo

95 lines
3.1 KiB
Plaintext

import efl_gfx_types;
import efl_ui_direction;
interface Efl.Pack.Table (Efl.Pack.Linear)
{
[[2D containers aligned on a table with rows and columns]]
eo_prefix: efl_pack;
methods {
pack_table {
[[Pack object at a given location in the table.
When this container is deleted, it will request deletion of the
given $subobj. Use @Efl.Pack.unpack to remove $subobj from this
container without deleting it.
]]
params {
subobj: Efl.Gfx.Entity; [[A child object to pack in this table.]]
col: int; [[Column number]]
row: int; [[Row number]]
colspan: int @optional; [[0 means 1, -1 means @.table_columns]]
rowspan: int @optional; [[0 means 1, -1 means @.table_rows]]
}
return: bool; [[$true on success, $false otherwise]]
}
table_contents_get {
[[Returns all objects at a given position in this table.]]
return: iterator<Efl.Gfx.Entity> @owned; [[Iterator to table contents]]
params {
@in col: int; [[Column number]]
@in row: int; [[Row number]]
@in below: bool @optional; [[If $true get objects spanning over this cell.]]
}
}
table_content_get {
[[Returns a child at a given position, see @.table_contents_get.]]
return: Efl.Gfx.Entity; [[Child object]]
params {
@in col: int; [[Column number]]
@in row: int; [[Row number]]
}
}
@property table_position {
[[Position and span of the $subobj in this container, may be modified to move the $subobj]]
get { return: bool; [[Returns false if item is not a child]] }
keys {
subobj: Efl.Gfx.Entity; [[Child object]]
}
values {
col: int; [[Column number]]
row: int; [[Row number]]
colspan: int; [[Column span]]
rowspan: int; [[Row span]]
}
}
@property table_size {
[[Combines @.table_columns and @.table_rows]]
set {}
get {}
values {
cols: int; [[Number of columns]]
rows: int; [[Number of rows]]
}
}
@property table_columns {
[[Gird columns property]]
set { [[Specifies limit for linear adds - if direction is horizontal]] }
get {}
values {
cols: int; [[Number of columns]]
}
}
@property table_rows {
[[Table rows property]]
set { [[Specifies limit for linear adds - if direction is vertical]] }
get {}
values {
rows: int; [[Number of rows]]
}
}
@property table_direction {
[[Primary and secondary up/left/right/down directions for linear apis.
Default is horizontal and vertical.
This overrides @Efl.Ui.Direction.direction.
]]
set {}
get {}
values {
primary: Efl.Ui.Dir(Efl.Ui.Dir.horizontal); [[Primary direction]]
secondary: Efl.Ui.Dir(Efl.Ui.Dir.vertical); [[Secondary direction]]
}
}
}
}