summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_multi_selectable_object_range.eo
blob: 1f7db5e67a61f5458c6796c8f9f354a4ff11689a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import efl_ui;

interface Efl.Ui.Multi_Selectable_Object_Range extends Efl.Ui.Multi_Selectable
{
   [[Interface for getting access to a range of selected items.

     The implementor of this interface provides the possibility to select multiple Selectables.
     If not, only @Efl.Ui.Single_Selectable should be implemented.
     A widget can only provide either this interface or @Efl.Ui.Multi_Selectable_Index_Range, but not both.

     @since 1.24
   ]]
   c_prefix: efl_ui_multi_selectable;
   methods
   {
      selected_iterator_new {
         [[Get the selected items in an iterator. The iterator sequence will be decided by selection.]]
         return: iterator<Efl.Ui.Selectable> @move @no_unused; [[User has to free the iterator after usage.]]
      }
      range_select @beta {
         [[Select a range of @Efl.Ui.Selectable.

           This will select the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on
           which one comes first.
           If $a or $b are not part of the widget, an error is returned, and no change is applied.
           $NULL is not allowed as either of the parameters.
           Both of the passed values will also be selected.
         ]]
         params {
           a : Efl.Ui.Selectable; [[One side of the range.]]
           b : Efl.Ui.Selectable; [[The other side of the range.]]
         }
      }
      range_unselect @beta {
         [[Unselect a range of @Efl.Ui.Selectable.

           This will unselect the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on
           which one comes first.
           If $a or $b are not part of the widget, an error is returned, and no change is applied.
           $NULL is not allowed as either of the parameters.
           Both of the passed values will also be unselected.
         ]]
         params {
           a : Efl.Ui.Selectable; [[One side of the range.]]
           b : Efl.Ui.Selectable; [[The other side of the range.]]
         }
      }
   }
}