~~Title: Efl.Ui.Position_Manager.Grid~~ ====== Efl.Ui.Position_Manager.Grid (class) ====== ===== Description ===== %%Implementation of %%[[:develop:api:efl:ui:position_manager:entity|Efl.Ui.Position_Manager.Entity]]%% for two-dimensional grids.%% %%Every item in the grid has the same size, which is the biggest minimum size of all items.%% {{page>:develop:api-include:efl:ui:position_manager:grid: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:grid: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:grid: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:grid:method:finalize|finalize]]**// [Overridden from [[:develop:api:efl:object|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); \\ **[[:develop:api:efl:ui:position_manager:grid: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:grid: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:grid: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:grid: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:grid: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:grid: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:grid: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:grid: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:grid: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:grid: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: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]]** | |