~~Title: Efl.Ui.Selection_Manager~~ ====== Efl.Ui.Selection_Manager (class) ====== ===== Description ===== No description supplied. {{page>:develop:api-include:efl:ui:selection_manager:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ ===== Members ===== **[[:develop:api:efl:ui:selection_manager: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:selection_manager:method:container_drag_item_add|container_drag_item_add]]**\\ > %%This registers a drag for items in a container. Many items can be dragged at a time. During dragging, there are three events emitted: - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_ACCEPT - EFL_UI_DND_EVENT_DRAG_DONE.%% void efl_ui_selection_manager_container_drag_item_add(Eo *obj, Efl_Object *cont, double time_to_drag, double anim_duration, Efl_Dnd_Drag_Data_Get data_func, Efl_Dnd_Item_Get item_func, Efl_Dnd_Drag_Icon_Create icon_func, Efl_Dnd_Drag_Icon_List_Create icon_list_func, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:container_drag_item_del|container_drag_item_del]]**\\ > %%Remove drag function of items in the container object.%% void efl_ui_selection_manager_container_drag_item_del(Eo *obj, Efl_Object *cont, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:container_drop_item_add|container_drop_item_add]]**\\ > %%Add dropable target for a container in which items can drop to it%% void efl_ui_selection_manager_container_drop_item_add(Eo *obj, Efl_Object *cont, Efl_Ui_Selection_Format format, Efl_Dnd_Item_Get item_func, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:container_drop_item_del|container_drop_item_del]]**\\ > %%Remove dropable target for the container%% void efl_ui_selection_manager_container_drop_item_del(Eo *obj, Efl_Object *cont, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:destructor|destructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Implement this method to provide deinitialization code for your object if you need it.%% void efl_destructor(Eo *obj); \\ **[[:develop:api:efl:ui:selection_manager:method:drag_action_set|drag_action_set]]**\\ > %%This sets the action for the drag%% void efl_ui_selection_manager_drag_action_set(Eo *obj, Efl_Object *drag_obj, Efl_Ui_Selection_Action action, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:drag_cancel|drag_cancel]]**\\ > %%This cancels the on-going drag%% void efl_ui_selection_manager_drag_cancel(Eo *obj, Efl_Object *drag_obj, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:drag_start|drag_start]]**\\ > %%This starts a drag and drop process at the drag side. During dragging, there are three events emitted as belows: - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_ACCEPT - EFL_UI_DND_EVENT_DRAG_DONE%% void efl_ui_selection_manager_drag_start(Eo *obj, Efl_Object *drag_obj, Efl_Ui_Selection_Format format, Eina_Slice data, Efl_Ui_Selection_Action action, Efl_Dnd_Drag_Icon_Create icon_func, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:drop_target_add|drop_target_add]]**\\ > %%Add a dropable target. There are four events emitted: - EFL_UI_DND_DROP_DRAG_ENTER - EFL_UI_DND_DROP_DRAG_LEAVE - EFL_UI_DND_DROP_DRAG_POS - EFL_UI_DND_DROP_DRAG_DROP.%% Eina_Bool efl_ui_selection_manager_drop_target_add(Eo *obj, Efl_Object *target_obj, Efl_Ui_Selection_Format format, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:drop_target_del|drop_target_del]]**\\ > %%Remove a dropable target%% void efl_ui_selection_manager_drop_target_del(Eo *obj, Efl_Object *target_obj, Efl_Ui_Selection_Format format, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:selection_clear|selection_clear]]**\\ > void efl_ui_selection_manager_selection_clear(Eo *obj, Efl_Object *owner, Efl_Ui_Selection_Type type, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:selection_get|selection_get]]**\\ > %%Get selection%% void efl_ui_selection_manager_selection_get(Eo *obj, const Efl_Object *request, Efl_Ui_Selection_Type type, Efl_Ui_Selection_Format format, Efl_Ui_Selection_Data_Ready data_func, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:selection_has_owner|selection_has_owner]]**\\ > %%Check if the request object has selection or not%% Eina_Bool efl_ui_selection_manager_selection_has_owner(Eo *obj, Efl_Object *request, Efl_Ui_Selection_Type type, unsigned int seat); \\ **[[:develop:api:efl:ui:selection_manager:method:selection_set|selection_set]]**\\ > %%Set selection%% Eina_Future *efl_ui_selection_manager_selection_set(Eo *obj, Efl_Object *owner, Efl_Ui_Selection_Type type, Efl_Ui_Selection_Format format, Eina_Slice data, unsigned int seat); \\ ==== 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: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: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:method:invalidate|invalidate]]** | %%Implement this method to perform special actions when your object loses its parent, if you need to.%% | | | **[[: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.%% |