~~Title: Efl.Ui.Position_Manager.List~~ ====== Efl.Ui.Position_Manager.List (class) ====== ===== Description ===== %%Implementation of %%[[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]%% for a list%% %%Every item in the list will get at least his minsize applied, changes to the misize are listened to and change the layout of all items. This supports the vertical and horizontal orientation.%% {{page>:develop:api-include:efl:ui:position_manager:list:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:object|Efl.Object]] //(class)// * [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]] //(interface)// * [[:develop:api:efl:ui:layout_orientable|Efl.Ui.Layout_Orientable]] //(interface)// * [[:develop:api:efl:ui:position_manager:data_access_v1|Efl.Ui.Position_Manager.Data_Access_V1]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:ui:position_manager:list:property:data_access|data_access]]** //**(set)**//// [Overridden from [[:develop:api:efl:ui:position_manager:data_access_v1|Efl.Ui.Position_Manager.Data_Access_V1]]]//\\ > void efl_ui_position_manager_data_access_v1_data_access_set(Eo *obj, Efl_Ui_Position_Manager_Object_Batch_Callback obj_access, Efl_Ui_Position_Manager_Size_Batch_Callback size_access, int size); \\ **[[:develop:api:efl:ui:position_manager:list:method:entities_ready|entities_ready]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%The items from %%''start_id''%% to %%''end_id''%% now have their entities ready%% void efl_ui_position_manager_entity_entities_ready(Eo *obj, unsigned int start_id, unsigned int end_id); \\ **[[:develop:api:efl:ui:position_manager:list: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:position_manager:list:method:item_added|item_added]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%The new item %%''subobj''%% has been added at the %%''added_index''%% field.%% void efl_ui_position_manager_entity_item_added(Eo *obj, int added_index, Efl_Gfx_Entity *subobj); \\ **[[:develop:api:efl:ui:position_manager:list:method:item_removed|item_removed]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%The item %%''subobj''%% previously at position %%''removed_index''%% has been removed. The accessor provided through %%[[:develop:api:efl:ui:position_manager:data_access_v1:property:data_access|Efl.Ui.Position_Manager.Data_Access_V1.data_access]]%% will contain updated Entities.%% void efl_ui_position_manager_entity_item_removed(Eo *obj, int removed_index, Efl_Gfx_Entity *subobj); \\ **[[:develop:api:efl:ui:position_manager:list:method:item_size_changed|item_size_changed]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%The size of the items from %%''start_id''%% to %%''end_id''%% have been changed. The positioning and sizing of all items will be updated%% void efl_ui_position_manager_entity_item_size_changed(Eo *obj, int start_id, int end_id); \\ **[[:develop:api:efl:ui:position_manager:list:property:orientation|orientation]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:ui:layout_orientable|Efl.Ui.Layout_Orientable]]]//\\ > %%Control the direction of a given widget.%% Efl_Ui_Layout_Orientation efl_ui_layout_orientation_get(const Eo *obj); void efl_ui_layout_orientation_set(Eo *obj, Efl_Ui_Layout_Orientation dir); \\ **[[:develop:api:efl:ui:position_manager:list:method:position_single_item|position_single_item]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%Return the position and size of item idx.%% Eina_Rect efl_ui_position_manager_entity_position_single_item(Eo *obj, int idx); \\ **[[:develop:api:efl:ui:position_manager:list:method:relative_item|relative_item]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%Translates the %%''current_id''%%, into a new id which is oriented in the %%''direction''%% of %%''current_id''%%. In case that there is no item, -1 is returned%% int efl_ui_position_manager_entity_relative_item(Eo *obj, unsigned int current_id, Efl_Ui_Focus_Direction direction); \\ **[[:develop:api:efl:ui:position_manager:list:property:scroll_position|scroll_position]]** //**(set)**//// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > void efl_ui_position_manager_entity_scroll_position_set(Eo *obj, double x, double y); \\ **[[:develop:api:efl:ui:position_manager:list:method:version|version]]**// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > %%Returns the version of Data_Access that is used. This object needs to implement the interface %%[[:develop:api:efl:ui:position_manager:data_access_v1|Efl.Ui.Position_Manager.Data_Access_V1]]%% if 1 is returned.%% int efl_ui_position_manager_entity_version(Eo *obj, int max); \\ **[[:develop:api:efl:ui:position_manager:list:property:viewport|viewport]]** //**(set)**//// [Overridden from [[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]]//\\ > void efl_ui_position_manager_entity_viewport_set(Eo *obj, Eina_Rect viewport); \\ ==== Inherited ==== ^ [[: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:constructor|constructor]]** | %%Implement this method to provide optional initialization code for your 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:destructor|destructor]]** | %%Implement this method to provide deinitialization code for your object if you need it.%% | | | **[[: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: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: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:property:parent|parent]]** //**(get, set)**// | %%The parent of an object.%% | | | **[[: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 ===== ==== Inherited ==== ^ [[: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:position_manager:entity|Efl.Ui.Position_Manager.Entity]] ^^^ | | **[[:develop:api:efl:ui:position_manager:entity:event:content_min_size_changed|content_min_size,changed]]** | %%Emitted when the minimum size of all items has changed. The minimum size is the size that this position_manager needs to display a single item.%% | | | **[[:develop:api:efl:ui:position_manager:entity:event:content_size_changed|content_size,changed]]** | %%Emitted when the aggregate size of all items has changed. This can be used to resize an enclosing Pan object.%% | | | **[[:develop:api:efl:ui:position_manager:entity:event:visible_range_changed|visible_range,changed]]** | |