~~Title: Efl.Model~~ ====== Efl.Model (interface) ====== ===== Description ===== %%Basic Model abstraction.%% %%A model in EFL can have a set of key-value properties, where key can only be a string. The value can be anything within an Eina_Value. If a property is not yet available EAGAIN is returned.%% %%Additionally a model can have a list of children. The fetching of the children is asynchronous, this has the advantage of having as few data sets as possible in the memory itself.%% //Since 1.23// {{page>:develop:api-include:efl:model:description&nouser&nolink&nodate}} ===== Members ===== **[[:develop:api:efl:model:method:child_add|child_add]]**\\ > %%Add a new child.%% Efl_Object *efl_model_child_add(Eo *obj); \\ **[[:develop:api:efl:model:method:child_del|child_del]]**\\ > %%Remove a child.%% void efl_model_child_del(Eo *obj, Efl_Object *child); \\ **[[:develop:api:efl:model:property:children_count|children_count]]** //**(get)**//\\ > unsigned int efl_model_children_count_get(const Eo *obj); \\ **[[:develop:api:efl:model:method:children_slice_get|children_slice_get]]**\\ > %%Get children slice OR full range.%% Eina_Future *efl_model_children_slice_get(Eo *obj, unsigned int start, unsigned int count); \\ **[[:develop:api:efl:model:property:properties|properties]]** //**(get)**//\\ > Eina_Iterator *efl_model_properties_get(const Eo *obj); \\ **[[:develop:api:efl:model:property:property|property]]** //**(get, set)**//\\ > %%No description supplied.%% Eina_Value *efl_model_property_get(const Eo *obj, const char *property); Eina_Future *efl_model_property_set(Eo *obj, const char *property, Eina_Value *value); \\ **[[:develop:api:efl:model:method:property_ready_get|property_ready_get]]**\\ > %%Get a future value when it changes to something that is not error:EAGAIN%% Eina_Future *efl_model_property_ready_get(Eo *obj, const char *property); \\ ===== Events ===== **[[:develop:api:efl:model:event:child_added|child,added]]**\\ > %%Event dispatched when new child is added.%% EFL_MODEL_EVENT_CHILD_ADDED(Efl_Model_Children_Event, @beta) \\ **[[:develop:api:efl:model:event:child_removed|child,removed]]**\\ > %%Event dispatched when child is removed.%% EFL_MODEL_EVENT_CHILD_REMOVED(Efl_Model_Children_Event, @beta) \\ **[[:develop:api:efl:model:event:children_count_changed|children,count,changed]]**\\ > %%Event dispatched when children count is finished.%% EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED(void) \\ **[[:develop:api:efl:model:event:properties_changed|properties,changed]]**\\ > %%Event dispatched when properties list is available.%% EFL_MODEL_EVENT_PROPERTIES_CHANGED(Efl_Model_Property_Event) \\