Page MenuHomePhabricator

efl.ui.nstate
Closed, ResolvedPublic

Description

|class Efl.Ui.Nstate @beta
|├ (P) count
|├ (P) value
|├ (M) activate :: @protected
|├ (E) changed

Related Objects

StatusAssignedTask
ResolvedNone
ResolvedNone
ResolvedNone
ResolvedNone
Resolvedbu5hm4n
ResolvedNone
OpenNone
OpenNone
OpenNone
ResolvedNone
ResolvedNone
Resolvedsegfaultxavi
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedNone
bu5hm4n created this task.May 3 2019, 11:20 AM
bu5hm4n triaged this task as TODO priority.
bu5hm4n added a subtask: T7846: efl.ui.button.

I don't understand that widget at all, and i don't understand why this is the parent of efl.ui.check / efl.ui.radio.

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.
zmike added a comment.Jun 14 2019, 7:01 AM

Does this class need to exist?

@woohyun @Jaehyun_Cho @cedric

zmike moved this task from Backlog to Evaluating on the efl: api board.Jun 14 2019, 7:01 AM

Undependend from this, we do not need this widget, lets remove it from the list.

@zmike

We don't need this one. There has been no requests for this widget.

Okay, so can we remove the code for this entirely or what?