summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_multi_selectable_async.eo
blob: 3a09682358d31f558c738d7c6b1284b3b9a10187 (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
59
60
61
62
63
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<uint64> @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<uint64> @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]]
      }
   }
}