~~Title: Efl.Ui.Select_Model~~ ====== Efl.Ui.Select_Model (class) ====== ===== Description ===== %%Efl ui select model class%% {{page>:develop:api-include:efl:ui:select_model:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:boolean_model|Efl.Boolean_Model]] //(class)// => [[:develop:api:efl:composite_model|Efl.Composite_Model]] //(class)// => [[:develop:api:efl:loop_model|Efl.Loop_Model]] //(class)// => [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:boolean_model|Efl.Boolean_Model]] //(class)// * [[:develop:api:efl:composite_model|Efl.Composite_Model]] //(class)// * [[:develop:api:efl:loop_model|Efl.Loop_Model]] //(class)// * [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] //(class)// * [[:develop:api:efl:object|Efl.Object]] //(class)// * [[:develop:api:efl:model|Efl.Model]] //(interface)// * [[:develop:api:efl:ui:view|Efl.Ui.View]] //(interface)// * [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]] //(interface)// * [[:develop:api:efl:ui:single_selectable|Efl.Ui.Single_Selectable]] //(interface)// * [[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:ui:select_model:method:all_select|all_select]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Select all %%[[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]]%%%% void efl_ui_multi_selectable_async_all_select(Eo *obj); \\ **[[:develop:api:efl:ui:select_model:method:all_unselect|all_unselect]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Unselect all %%[[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]]%%%% void efl_ui_multi_selectable_async_all_unselect(Eo *obj); \\ **[[:develop:api:efl:ui:select_model:method:constructor|constructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Implement this method to provide optional initialization code for your object.%% Efl_Object *efl_constructor(Eo *obj); \\ **[[:develop:api:efl:ui:select_model:property:fallback_selection|fallback_selection]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:ui:single_selectable|Efl.Ui.Single_Selectable]]]//\\ > %%A object that will be selected in case nothing is selected%% Efl_Ui_Selectable *efl_ui_selectable_fallback_selection_get(const Eo *obj); void efl_ui_selectable_fallback_selection_set(Eo *obj, Efl_Ui_Selectable *fallback); \\ **[[:develop:api:efl:ui:select_model:method:invalidate|invalidate]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Implement this method to perform special actions when your object loses its parent, if you need to.%% void efl_invalidate(Eo *obj); \\ **[[:develop:api:efl:ui:select_model:property:last_selected|last_selected]]** //**(get)**//// [Overridden from [[:develop:api:efl:ui:single_selectable|Efl.Ui.Single_Selectable]]]//\\ > Efl_Ui_Selectable *efl_ui_selectable_last_selected_get(const Eo *obj); \\ **[[:develop:api:efl:ui:select_model:property:properties|properties]]** //**(get)**//// [Overridden from [[:develop:api:efl:model|Efl.Model]]]//\\ > Eina_Iterator *efl_model_properties_get(const Eo *obj); \\ **[[:develop:api:efl:ui:select_model:property:property|property]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:model|Efl.Model]]]//\\ > 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:ui:select_model:method:range_select|range_select]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Select a range of %%[[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]]%%.%% void efl_ui_multi_selectable_async_range_select(Eo *obj, uint64_t a, uint64_t b); \\ **[[:develop:api:efl:ui:select_model:method:range_unselect|range_unselect]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Unselect a range of %%[[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]]%%.%% void efl_ui_multi_selectable_async_range_unselect(Eo *obj, uint64_t a, uint64_t b); \\ **[[:develop:api:efl:ui:select_model:property:select_mode|select_mode]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%The mode type for children selection.%% Efl_Ui_Select_Mode efl_ui_multi_selectable_async_select_mode_get(const Eo *obj); void efl_ui_multi_selectable_async_select_mode_set(Eo *obj, Efl_Ui_Select_Mode mode); \\ **[[:develop:api:efl:ui:select_model:property:selected|selected]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]]]//\\ > %%The selected state of this object%% Eina_Bool efl_ui_selectable_selected_get(const Eo *obj); void efl_ui_selectable_selected_set(Eo *obj, Eina_Bool selected); \\ **[[:develop:api:efl:ui:select_model:method:selected_iterator_new|selected_iterator_new]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Gets an iterator of all the selected child of this model.%% Eina_Iterator *efl_ui_multi_selectable_async_selected_iterator_new(Eo *obj); \\ **[[:develop:api:efl:ui:select_model:method:unselected_iterator_new|unselected_iterator_new]]**// [Overridden from [[:develop:api:efl:ui:multi_selectable_async|Efl.Ui.Multi_Selectable_Async]]]//\\ > %%Gets an iterator of all the child of this model that are not selected.%% Eina_Iterator *efl_ui_multi_selectable_async_unselected_iterator_new(Eo *obj); \\ ==== Inherited ==== ^ [[:develop:api:efl:boolean_model|Efl.Boolean_Model]] ^^^ | | **[[:develop:api:efl:boolean_model:method:boolean_add|boolean_add]]** | %%Adds a new named boolean property with a default value.%% | | | **[[:develop:api:efl:boolean_model:method:boolean_del|boolean_del]]** | %%Deletes an existing named boolean property.%% | | | **[[:develop:api:efl:boolean_model:method:boolean_iterator_get|boolean_iterator_get]]** | %%Gets an iterator that will quickly find all the indices with the requested value for a specific property.%% | | | **[[:develop:api:efl:boolean_model:method:destructor|destructor]]** | %%Implement this method to provide deinitialization code for your object if you need it.%% | ^ [[:develop:api:efl:composite_model|Efl.Composite_Model]] ^^^ | | **[[:develop:api:efl:composite_model:method:child_add|child_add]]** | %%Add a new child.%% | | | **[[:develop:api:efl:composite_model:method:child_del|child_del]]** | %%Remove a child.%% | | | **[[:develop:api:efl:composite_model:property:children_count|children_count]]** //**(get)**// | | | | **[[:develop:api:efl:composite_model:method:children_slice_get|children_slice_get]]** | %%Get children slice OR full range.%% | | | **[[:develop:api:efl:composite_model:method:finalize|finalize]]** | %%Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.%% | | | **[[:develop:api:efl:composite_model:property:index|index]]** //**(get, set)**// | %%Position of this object in the parent model.%% | | | **[[:develop:api:efl:composite_model:property:model|model]]** //**(get, set)**// | %%Model that is/will be%% | ^ [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] ^^^ | | **[[:develop:api:efl:loop_consumer:method:future_rejected|future_rejected]]** | %%Creates a new future that is already rejected to a specified error using the %%[[:develop:api:efl:loop_consumer:property:loop|Efl.Loop_Consumer.loop.get]]%%.%% | | | **[[:develop:api:efl:loop_consumer:method:future_resolved|future_resolved]]** | %%Creates a new future that is already resolved to a value.%% | | | **[[:develop:api:efl:loop_consumer:property:loop|loop]]** //**(get)**// | | | | **[[:develop:api:efl:loop_consumer:property:parent|parent]]** //**(get, set)**// | %%The parent of an object.%% | | | **[[:develop:api:efl:loop_consumer:method:promise_new|promise_new]]** | %%Create a new promise with the scheduler coming from the loop provided by this object.%% | ^ [[:develop:api:efl:loop_model|Efl.Loop_Model]] ^^^ | | **[[:develop:api:efl:loop_model:method:property_ready_get|property_ready_get]]** | %%Get a future value when it changes to something that is not error:EAGAIN%% | | | **[[:develop:api:efl:loop_model:method:volatile_make|volatile_make]]** | %%To be called when a Child model is created by %%[[:develop:api:efl:model:method:children_slice_get|Efl.Model.children_slice_get]]%% by the one creating the child object.%% | ^ [[:develop:api:efl:object|Efl.Object]] ^^^ | | **[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**// | %%Allow an object to be deleted by unref even if it has a parent.%% | | | **[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]** | %%Get an iterator on all children.%% | | | **[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**// | %%A human readable comment for the object.%% | | | **[[:develop:api:efl:object:method:composite_attach|composite_attach]]** | %%Make an object a composite object of another.%% | | | **[[:develop:api:efl:object:method:composite_detach|composite_detach]]** | %%Detach a composite object from another object.%% | | | **[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]** | %%Check if an object is part of a composite object.%% | | | **[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]** | %%Build a read-only name for this object used for debugging.%% | | | **[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]** | %%Remove an event callback forwarder for a specified event and object.%% | | | **[[:develop:api:efl:object:method:event_callback_forwarder_priority_add|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.%% | | | **[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]** | %%Stop the current callback call.%% | | | **[[:develop:api:efl:object:method:event_freeze|event_freeze]]** | %%Freeze events of this object.%% | | | **[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**// | | | ''static'' | **[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]** | %%Globally freeze events for ALL EFL OBJECTS.%% | | ''static'' | **[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**// | | | ''static'' | **[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]** | %%Globally thaw events for ALL EFL OBJECTS.%% | | | **[[:develop:api:efl:object:method:event_thaw|event_thaw]]** | %%Thaw events of object.%% | | | **[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:invalidated|invalidated]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:invalidating|invalidating]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:name|name]]** //**(get, set)**// | %%The name of the object.%% | | | **[[:develop:api:efl:object:method:name_find|name_find]]** | %%Find a child object with the given name and return it.%% | | | **[[:develop:api:efl:object:method:provider_find|provider_find]]** | %%Searches upwards in the object tree for a provider which knows the given class/interface.%% | | | **[[:develop:api:efl:object:method:provider_register|provider_register]]** | %%Will register a manager of a specific class to be answered by %%[[:develop:api:efl:object:method:provider_find|Efl.Object.provider_find]]%%.%% | | | **[[:develop:api:efl:object:method:provider_unregister|provider_unregister]]** | %%Will unregister a manager of a specific class that was previously registered and answered by %%[[:develop:api:efl:object:method:provider_find|Efl.Object.provider_find]]%%.%% | ===== Events ===== **[[:develop:api:efl:ui:select_model:event:selected|selected]]** EFL_UI_SELECT_MODEL_EVENT_SELECTED(Efl_Object *) \\ **[[:develop:api:efl:ui:select_model:event:unselected|unselected]]** EFL_UI_SELECT_MODEL_EVENT_UNSELECTED(Efl_Object *) \\ ==== Inherited ==== ^ [[:develop:api:efl:model|Efl.Model]] ^^^ | | **[[:develop:api:efl:model:event:child_added|child,added]]** | %%Event dispatched when new child is added.%% | | | **[[:develop:api:efl:model:event:child_removed|child,removed]]** | %%Event dispatched when child is removed.%% | | | **[[:develop:api:efl:model:event:children_count_changed|children,count,changed]]** | %%Event dispatched when children count is finished.%% | | | **[[:develop:api:efl:model:event:properties_changed|properties,changed]]** | %%Event dispatched when properties list is available.%% | ^ [[:develop:api:efl:object|Efl.Object]] ^^^ | | **[[:develop:api:efl:object:event:del|del]]** | %%Object is being deleted. See %%[[:develop:api:efl:object:method:destructor|Efl.Object.destructor]]%%.%% | | | **[[:develop:api:efl:object:event:destruct|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.%% | | | **[[:develop:api:efl:object:event:invalidate|invalidate]]** | %%Object is being invalidated and losing its parent. See %%[[:develop:api:efl:object:method:invalidate|Efl.Object.invalidate]]%%.%% | | | **[[:develop:api:efl:object:event:noref|noref]]** | %%Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage.%% | | | **[[:develop:api:efl:object:event:ownership_shared|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.%% | | | **[[:develop:api:efl:object:event:ownership_unique|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.%% | ^ [[:develop:api:efl:ui:selectable|Efl.Ui.Selectable]] ^^^ | | **[[:develop:api:efl:ui:selectable:event:selected_changed|selected,changed]]** | %%Called when the selected state has changed.%% | ^ [[:develop:api:efl:ui:single_selectable|Efl.Ui.Single_Selectable]] ^^^ | | **[[:develop:api:efl:ui:single_selectable:event:selection_changed|selection_changed]]** | %%Emitted when there is a change in the selection state. This event will collect all the item selection change events that are happening within one loop iteration. This means, you will only get this event once, even if a lot of items have changed. If you are interested in detailed changes, subscribe to the individual %%[[:develop:api:efl:ui:selectable:event:selected,changed|Efl.Ui.Selectable.selected,changed]]%% events of each item.%% | ^ [[:develop:api:efl:ui:view|Efl.Ui.View]] ^^^ | | **[[:develop:api:efl:ui:view:event:model_changed|model,changed]]** | %%Event dispatched when a new model is set.%% |