import efl_ui; interface @beta Efl.Ui.Multi_Selectable_Async extends Efl.Ui.Single_Selectable { [[Interface for getting access to a range of selected items for widgets that provide them asynchronously. The implementor of this interface provides the possibility to select multiple @Efl.Ui.Selectable. If not, only @Efl.Ui.Single_Selectable should be implemented. A widget can only provide either this interface or @Efl.Ui.Multi_Selectable, but not both.]] methods { @property select_mode { [[The mode type for children selection.]] set {} get {} values { mode: Efl.Ui.Select_Mode; [[Type of selection of children]] } } selected_iterator_new { [[Gets an iterator of all the selected child of this model. ]] return: iterator @move @no_unused; [[The iterator gives indices of selected children. It is valid until any change is made on the model.]] } unselected_iterator_new { [[Gets an iterator of all the child of this model that are not selected. ]] return: iterator @move @no_unused; [[The iterator gives indices of unselected children. It is valid until any change is made on the model.]] } range_select @beta { [[Select a range of @Efl.Ui.Selectable. This will select the range of selectables from $a to $b or from $b to $a depending on which one comes first. If $a or $b are not in the range the widget, an error is returned, and no change is applied. Both of the passed values will also be selected. ]] params { a : uint64; [[One side of the range.]] b : uint64; [[The other side of the range.]] } } range_unselect @beta { [[Unselect a range of @Efl.Ui.Selectable. This will unselect the range of selectables from $a to $b or from $b to $a depending on which one comes first. If $a or $b are not in the range of the widget, an error is returned, and no change is applied. Both of the passed values will also be unselected. ]] params { a : uint64; [[One side of the range.]] b : uint64; [[The other side of the range.]] } } all_select { [[Select all @Efl.Ui.Selectable]] } all_unselect { [[Unselect all @Efl.Ui.Selectable]] } } }