|class Efl.Ui.Nstate @beta |├ (P) count |├ (P) value |├ (M) activate :: @protected |├ (E) changed
|Resolved||bu5hm4n||T8045 How to handle longpress in efl_ui_text|
|Open||None||T7917 enum Efl.Ui.Activate|
|Open||None||T7912 enum Efl.Input.Object_Pointer_Mode|
|Resolved||None||T7919 enum Efl.Orient|
|Resolved||segfaultxavi||T7925 enum Efl.Flip|
|Open||None||T7913 function Efl.Ui.Selection_Data_Ready|
|Open||None||T7914 struct Efl.Ui.Selection_Changed|
|Open||None||T7915 enum Efl.Ui.Selection_Type|
|Open||None||T7916 enum Efl.Ui.Selection_Format|
As far as I understand:
- Button just sends events and has no internal state.
- Nstate stores an integer as internal state. This state (accessible through the value property) ranges from 0 to count (another property).
- Check is a kind of Nstate where count is 2, so it only allows two states (on and off).
- Radio is a Check that works in groups, so only one check in the group can be enabled, and the rest are automatically disabled.
The hierarchy looks fine to me (if a bit overengineered), but the implementation has some strange points:
- Check has a property called selected which is a proxy for Nstate.value... I don't think that's necessary.
- Radio requires examples, the grouping mechanism is weird.