@Jarrett - Caught this misbehavior the other day when helping a user who is using widgets for their UI.
Looks like the slider+field widgets don’t respect the user’s decimal place setting when interacting with the panel:
This works correctly when using the custom pars, just not when interacting with the panel itself. Doing a little spelunking, I was able to help the user fix this issue with one line in the slider SliderExt
:
def valueChangeSlider(self, pVal, valueIndex):
"""
Changes value not using the knob. This generates a value change only
if the slider area with no knob is selected.
"""
#print(pVal)
if valueIndex is not None:
valueIndex = valueIndex+self.valueGroupIndex
else:
valueIndex = self.valueGroupIndex
value = remap(pVal, self.normSliderMin, self.normSliderMax, 0, 1)
#value = max(0, min(value, 1))
value = self.Values[valueIndex].valueClampFunc(value)
####### THIS IS MY ADDED LINE #######
value = round(value, parent.Widget.par.Numericfielddecimalplaces.eval())
#####################################
#debug('slider', value)
self.setValue(value, valueIndex)
This could also be user error on my part, but for the life of me this was the only way I could get parity between the panel and custom par interaction.