efl/src/lib/efl/interfaces/efl_pack_linear.eo

147 lines
6.2 KiB
Plaintext

interface Efl.Pack_Linear extends Efl.Pack
{
[[Common interface for objects (containers) with multiple contents
(sub-objects) which can be added and removed at runtime in a linear fashion.
This means the sub-objects are internally organized in an ordered list.
@since 1.23
]]
c_prefix: efl_pack;
methods {
pack_begin {
[[Prepend an object at the beginning of this container.
This is the same as @.pack_at with a $[0] index.
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 {
@in subobj: Efl.Gfx.Entity; [[Object to pack at the beginning.]]
}
return: bool; [[$false if $subobj could not be packed.]]
}
pack_end {
[[Append object at the end of this container.
This is the same as @.pack_at with a $[-1] index.
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 {
@in subobj: Efl.Gfx.Entity; [[Object to pack at the end.]]
}
return: bool; [[$false if $subobj could not be packed.]]
}
pack_before {
[[Prepend an object before the $existing sub-object.
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.
If $existing is $NULL this method behaves like @.pack_begin.
]]
params {
@in subobj: Efl.Gfx.Entity; [[Object to pack before $existing.]]
@in existing: const(Efl.Gfx.Entity); [[Existing reference sub-object. Must already belong to the container
or be $NULL.]]
}
return: bool; [[$false if $existing could not be found or $subobj
could not be packed.]]
}
pack_after {
[[Append an object after the $existing sub-object.
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.
If $existing is $NULL this method behaves like @.pack_end.
]]
params {
@in subobj: Efl.Gfx.Entity; [[Object to pack after $existing.]]
@in existing: const(Efl.Gfx.Entity); [[Existing reference sub-object. Must already belong to the container
or be $NULL.]]
}
return: bool; [[$false if $existing could not be found or $subobj
could not be packed.]]
}
pack_at {
[[Inserts $subobj BEFORE the sub-object at position $index.
$index ranges from $[-count] to $[count-1], where positive numbers go
from first sub-object ($[0]) to last ($[count-1]), and negative numbers go
from last sub-object ($[-1]) to first ($[-count]). $count is
the number of sub-objects currently in the container as returned by
@Efl.Container.content_count.
If $index is less than $[-count], it will trigger @.pack_begin
whereas $index greater than $[count-1] will trigger @.pack_end.
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 {
@in subobj: Efl.Gfx.Entity; [[Object to pack.]]
@in index: int; [[Index of existing sub-object to insert BEFORE.
Valid range is $[-count] to $[count-1]).
]]
}
return: bool; [[$false if $subobj could not be packed.]]
}
pack_content_get {
[[Sub-object at a given $index in this container.
$index ranges from $[-count] to $[count-1], where positive numbers go
from first sub-object ($[0]) to last ($[count-1]), and negative numbers go
from last sub-object ($[-1]) to first ($[-count]). $count is
the number of sub-objects currently in the container as returned by
@Efl.Container.content_count.
If $index is less than $[-count], it will return the first sub-object
whereas $index greater than $[count-1] will return the last sub-object.
]]
params {
@in index: int; [[Index of the existing sub-object to retrieve.
Valid range is $[-count] to $[count-1].
]]
}
return: Efl.Gfx.Entity; [[The sub-object contained at the given $index.]]
}
pack_index_get {
[[Get the index of a sub-object in this container.]]
params {
@in subobj: const(Efl.Gfx.Entity); [[An existing sub-object in this container.]]
}
return: int(-1); [[-1 in case $subobj is not found,
or the index of $subobj in the range $[0] to $[count-1].
]]
}
pack_unpack_at {
[[Pop out (remove) the sub-object at the specified $index.
$index ranges from $[-count] to $[count-1], where positive numbers go
from first sub-object ($[0]) to last ($[count-1]), and negative numbers go
from last sub-object ($[-1]) to first ($[-count]). $count is
the number of sub-objects currently in the container as returned by
@Efl.Container.content_count.
If $index is less than -$count, it will remove the first sub-object
whereas $index greater than $count-1 will remove the last sub-object.
]]
params {
@in index: int; [[Index of the sub-object to remove.
Valid range is $[-count] to $[count-1].
]]
}
return: Efl.Gfx.Entity; [[The sub-object if it could be removed.]]
}
}
}