Efl.Ui.View_Model (class)


Efl model providing helpers for custom properties used when linking a model to a view and you need to generate/adapt values for display.

There is two ways to use this class, you can either inherit from it and have a custom constructor for example. Or you can just instantiate it and manually define your property on it via callbacks.

Since 1.23


Efl.Composite_Model (class)Efl.Loop_Model (class)Efl.Loop_Consumer (class)Efl.Object (class)

Full hierarchy


children_bind (get, set)

Define if we will intercept all children object reference and bind them through the ViewModel with the same property logic as this one. Be careful of recursivity.
Eina_Bool efl_ui_view_model_children_bind_get(const Eo *obj);
void efl_ui_view_model_children_bind_set(Eo *obj, Eina_Bool enable);

children_slice_get [Overridden from Efl.Model]

Get children slice OR full range.
Eina_Future *efl_model_children_slice_get(Eo *obj, unsigned int start, unsigned int count);

constructor [Overridden from Efl.Object]

Implement this method to provide optional initialization code for your object.
Efl_Object *efl_constructor(Eo *obj);

destructor [Overridden from Efl.Object]

Implement this method to provide deinitialization code for your object if you need it.
void efl_destructor(Eo *obj);

finalize [Overridden from Efl.Object]

Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.
Efl_Object *efl_finalize(Eo *obj);

properties (get) [Overridden from Efl.Model]

Eina_Iterator *efl_model_properties_get(const Eo *obj);

property (get, set) [Overridden from Efl.Model]

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);


Automatically update the field for the event Efl.Model.properties,changed to include property that are impacted with change in a property from the composited model.
void efl_ui_view_model_property_bind(Eo *obj, const char *source, const char *destination);


Add callbacks that will be triggered when someone ask for the specified property name when getting or setting a property.
Eina_Error efl_ui_view_model_property_logic_add(Eo *obj, const char *property, EflUiViewModelPropertyGet get, EflUiViewModelPropertySet set, Eina_Iterator *binded);


Delete previously added callbacks that were triggered when someone asked for the specified property name when getting or setting a property.
Eina_Error efl_ui_view_model_property_logic_del(Eo *obj, const char *property);


Adds a synthetic string property, generated from a definition string and other properties in the model.
Eina_Error efl_ui_view_model_property_string_add(Eo *obj, const char *name, const char *definition, const char *not_ready, const char *on_error);


Delete a synthetic property previously defined by Efl.Ui.View_Model.property_string_add.
Eina_Error efl_ui_view_model_property_string_del(Eo *obj, const char *name);


Stop automatically updating the field for the event Efl.Model.properties,changed to include property that are impacted with change in a property from the composited model.
void efl_ui_view_model_property_unbind(Eo *obj, const char *source, const char *destination);


child_add Add a new child.
child_del Remove a child.
children_count (get)
index (get, set) Position of this object in the parent model.
invalidate Implement this method to perform special actions when your object loses its parent, if you need to.
model (get, set) Model that is/will be
future_rejected Creates a new future that is already rejected to a specified error using the Efl.Loop_Consumer.loop.get.
future_resolved Creates a new future that is already resolved to a value.
loop (get)
parent (get, set) The parent of an object.
promise_new Create a new promise with the scheduler coming from the loop provided by this object.
property_ready_get Get a future value when it changes to something that is not error:EAGAIN
volatile_make To be called when a Child model is created by Efl.Model.children_slice_get by the one creating the child object.
allow_parent_unref (get, set) Allow an object to be deleted by unref even if it has a parent.
children_iterator_new Get an iterator on all children.
comment (get, set) A human readable comment for the object.
composite_attach Make an object a composite object of another.
composite_detach Detach a composite object from another object.
composite_part_is Check if an object is part of a composite object.
debug_name_override Build a read-only name for this object used for debugging.
event_callback_forwarder_del Remove an event callback forwarder for a specified event and object.
event_callback_forwarder_priority_add Add an event callback forwarder that will make this object emit an event whenever another object (source) emits it. The event is said to be forwarded from source to this object.
event_callback_stop Stop the current callback call.
event_freeze Freeze events of this object.
event_freeze_count (get)
static event_global_freeze Globally freeze events for ALL EFL OBJECTS.
static event_global_freeze_count (get)
static event_global_thaw Globally thaw events for ALL EFL OBJECTS.
event_thaw Thaw events of object.
finalized (get)
invalidated (get)
invalidating (get)
name (get, set) The name of the object.
name_find Find a child object with the given name and return it.
provider_find Searches upwards in the object tree for a provider which knows the given class/interface.
provider_register Will register a manager of a specific class to be answered by Efl.Object.provider_find.
provider_unregister Will unregister a manager of a specific class that was previously registered and answered by Efl.Object.provider_find.



child,added Event dispatched when new child is added.
child,removed Event dispatched when child is removed.
children,count,changed Event dispatched when children count is finished.
properties,changed Event dispatched when properties list is available.
del Object is being deleted. See Efl.Object.destructor.
destruct Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object.
invalidate Object is being invalidated and losing its parent. See Efl.Object.invalidate.
noref Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage.
ownership,shared Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two.
ownership,unique Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one.
model,changed Event dispatched when a new model is set.