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
interface Efl.Ui.Selectable |
├ (P) selected: bool |
├ (M) toggle |
- Selectable for container
interface Efl.Ui.Single_Selectable |
├ (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.