Currently, Efl.Ui.Selectable only has events and it supports both 2 features, container item selection and cursor selection.
I think we need to separate this one interface into 2 interfaces for container item selection and cursor selection.
Moreover, container item selection can be separated into 2 features, selectable for item and selectable for container.
For container item selection, I think it should be as follows.
- Selectable for item
|├ (P) selected: bool|
|├ (M) toggle|
- Selectable for container
|├ (M) select|
|├ (M) unselect|
|├ (M) selected_get|
|interface Efl.Ui.Multiple_Selectable : Efl.Ui.Single_Selectable|
|├ (M) select_range|
|├ (M) unselect_range|
|├ (M) select_all|
|├ (M) unselect_all|
|├ (M) selected_range_get|
Events are also required to be considered.