Subject: Re: bug#75171: 30.0.50; Checklist widget inside a group does not initialize correctly

From: Al Haji-Ali <[email-masked]>
Date: Thu, 02 Jan 2025 22:04:28 +0000

On 02/01/2025, Mauro Aranda wrote:

> Al Haji-Ali <[email-masked]> writes:
> There's no explicit :value for the group widget, so its value is nil,
> and then the Widget library tries to create all four children with a nil
> value.  The radio-button-choice widget differs from the checklist widget
> in that the former tries to be created with a selected choice, and tries
> harder than the checklist widget, which is fine with a value of nil.
>
> That way, you see that the specified value is obeyed in
> radio-button-choice but not in the checklist widget.
>
> FTR, I'm not saying this is 100% correct.  I'm just trying to explain
> how it works now.

Thanks, this makes sense. Did I miss an explanation of this issue somewhere in the docs?

> This is intended behavior, AFAIU.  The parent can override values for
> the children, and that way we can recreate widgets with new values just
> by changing the values of the parent.

I was aware of this behaviour for the group, but I didn't twig the consequence on a checklist.

I have to say that I find it a bit counter-intuitive. Also the fact that there is no way to set the value of a checklist without repeating it in the group is somewhat awkward (certainly it will complicate my implementation) and a bit inconsistent since setting the value of the checklist after the group creation would override the value of the group. A fix, or a some way, that would prevents the group from overriding the values of the children would be useful, IMO.

With that being said, this issue should probably be closed as "not a bug".

Thanks,
-- Al