~~Title: Efl.Pack~~
====== Efl.Pack (interface) ======
===== Description =====
%%Common interface for objects (containers) with multiple contents (sub-objects) which can be added and removed at runtime.%%
//Since 1.23//
{{page>:develop:api-include:efl:pack:description&nouser&nolink&nodate}}
===== Inheritance =====
=> [[:develop:api:efl:container|Efl.Container]] //(interface)//
++++ Full hierarchy |
* [[:develop:api:efl:container|Efl.Container]] //(interface)//
++++
===== Members =====
**[[:develop:api:efl:pack:method:pack|pack]]**\\
> %%Adds a sub-object to this container.%%
Eina_Bool efl_pack(Eo *obj, Efl_Gfx_Entity *subobj);
\\
**[[:develop:api:efl:pack:method:pack_clear|pack_clear]]**\\
> %%Removes all packed sub-objects and unreferences them.%%
Eina_Bool efl_pack_clear(Eo *obj);
\\
**[[:develop:api:efl:pack:method:unpack|unpack]]**\\
> %%Removes an existing sub-object from the container without deleting it.%%
Eina_Bool efl_pack_unpack(Eo *obj, Efl_Gfx_Entity *subobj);
\\
**[[:develop:api:efl:pack:method:unpack_all|unpack_all]]**\\
> %%Removes all packed sub-objects without unreferencing them.%%
Eina_Bool efl_pack_unpack_all(Eo *obj);
\\
==== Inherited ====
^ [[:develop:api:efl:container|Efl.Container]] ^^^
| | **[[:develop:api:efl:container:method:content_count|content_count]]** | %%Returns the number of contained sub-objects.%% |
| | **[[:develop:api:efl:container:method:content_iterate|content_iterate]]** | %%Begin iterating over this object's contents.%% |
===== Events =====
==== Inherited ====
^ [[:develop:api:efl:container|Efl.Container]] ^^^
| | **[[:develop:api:efl:container:event:content_added|content,added]]** | %%Sent after a new sub-object was added.%% |
| | **[[:develop:api:efl:container:event:content_removed|content,removed]]** | %%Sent after a sub-object was removed, before unref.%% |