summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_multi_selectable.eo
blob: 251f640185c1e61480240b888df0fcda00cb9d8d (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
57
58
import efl_ui;

interface @beta Efl.Ui.Multi_Selectable extends Efl.Ui.Single_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.]]
   c_prefix: efl_ui_selectable;
   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 {
         [[Get the selected items in a 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 selectables 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, a 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 selectables 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, a 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.]]
         }
      }
      all_select {
         [[Select all @Efl.Ui.Selectable]]
      }
      all_unselect {
         [[Unselect all @Efl.Ui.Selectable]]
      }

   }
}