first is regular ‘button’ comps set to radio, works as expected,
second is the regular buttonradio widget,
third is four buttonwidgets set to radio inside a container
I tried with a sequence of four button widgets set to “radio down” button type.
Even more confusing is that the button widget has a “Button Group Dat” parameter that doesn’t seem to work.
The docs explain :
When a button is activated, it modifies the radio panel values of the DAT’s parent, not its own parent, since buttons can now be scattered in different components.
Hi @harveymoon
The widgets don’t use the old radio panel value. In the case of buttonRadio, the equivalent is the Value0 parameter, which holds the index of the activated button. In the other example, there is no equivalent to the radio channel. You have to examine the Value0 pars of each button. Here is an obscure expression that will get you what you want:
[button.par.Value0 for button in op('buttonMomentary_1').par.Button0.eval().GroupButtons].index(True)
I’ll add an RFE to make getting this value easier.
I am trying to re-skin the stoner. A few areas in the stoner look at a radio panel value for the mode switching from the UI.
Converting this to widgets has turned out to be challenging because now I need to track down and replace all panel chops in the stoner looking at UI “radio” panel values with select chops looking at Value0 of my replacement widget radios.
I opened the bug because it seems like the radio button widget should be an easy replacement to the old “radio” button panel method, is there a reason a buttonRadio widget doesn’t use the panel.radio value and instead only uses the Value0?
If I could use the Value0 to set the panel.value, then it would be an easy drop-in replacement for the stoner’s old mode-switching UI.
Widget values are always parameter based so don’t look in the Panel chop for Widget behavior. TUIK and widgets are not backward compatible unfortunately. This conversation is not ending here but Im just chiming in before we discuss this internally…
The easiest refactor if you want a widget value to be a chop channel is to use the Panel CHOP to grab the value Parameter then rename it to what you want - in your case radio.