summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_multi_selectable_index_range.eo
blob: fd683fbd0620f3180df2ebaf132059c9a93e9394 (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
50
51
52
53
54
55
56
import efl_ui;

interface Efl.Ui.Multi_Selectable_Index_Range extends Efl.Ui.Multi_Selectable
{
   [[Interface for getting access to a range of selected items through their indices.

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

     @since 1.24
   ]]
   c_prefix: efl_ui_multi_selectable;
   methods
   {
      selected_ndx_iterator_new {
         [[Gets an iterator over the indices of all the selected children.
         ]]
         return: iterator<uint> @move @no_unused; [[The iterator gives the indices of the selected children.
                                                      It is valid until any change is made to the selection state.]]
      }
      unselected_ndx_iterator_new {
         [[Gets an iterator over the indices of all the unselected children.
         ]]
         return: iterator<uint> @move @no_unused; [[The iterator gives the indices of the unselected children.
                                                      It is valid until any change is made to the selection state.]]
      }
      ndx_range_select @beta {
         [[Select a range of @Efl.Ui.Selectable objects using their indices inside the container.

           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.
         ]]
         params {
           a : uint; [[One side of the range.]]
           b : uint; [[The other side of the range.]]
         }
      }
      ndx_range_unselect @beta {
         [[Unselect a range of @Efl.Ui.Selectable objects using their indices inside the container.

           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 : uint; [[One side of the range.]]
           b : uint; [[The other side of the range.]]
         }
      }
   }
}