~~Title: Efl.Part~~ ====== Efl.Part (interface) ====== ===== Description ===== %%Interface for objects supporting named parts.%% %%An object implementing this interface will be able to provide access to some of its sub-objects by name. This gives access to parts as defined in a widget's theme.%% %%Part proxy objects have a special lifetime that is limited to one and only one function call. This behavior is implemented in efl_part() which call %%[[:develop:api:efl:part:method:part_get|Efl.Part.part_get]]%%(). Calling %%[[:develop:api:efl:part:method:part_get|Efl.Part.part_get]]%%() directly should be avoided.%% %%In other words, the caller does not hold a reference to this proxy object. It may be possible, in languages that allow it, to get an extra reference to this part object and extend its lifetime to more than a single function call.%% %%In pseudo-code, this means only the following two use cases are supported:%% %%obj.func(part(obj, "part"), args)%% %%And:%% %%part = ref(part(obj, "part")) func1(part, args) func2(part, args) func3(part, args) unref(part)%% //Since 1.22// {{page>:develop:api-include:efl:part:description&nouser&nolink&nodate}} ===== Members ===== **[[:develop:api:efl:part:method:part_get|part_get]]** ''protected''\\ > %%Get a proxy object referring to a part of an object.%% Efl_Object *efl_part_get(const Eo *obj, const char *name); \\ ===== Events =====