On Wed, 27 Mar 2024 19:19:36 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
> Now, when wrapping occurs, should max/min be considered as valid steps? For integer values (including list indices), yes, since each integer (or list index) is a discrete value that can have the value min, max, or any value in between. And a step of one when you are at "max" should wrap around to "min" For double... that's a good question. I need to think about it a bit. Often when doing wrap-around for floating-point values (think rotation transforms) we treat max and min the same -- although usually that means treating the range as exclusive of max, and that isn't what is current done for double values of spinner. > Example, try both integer and double spinners with {min=0, max=10, step=7} > starting with value=0. try incrementing. > > integer: 0, 7, 3, 10 > double: 0, 7, 10, 0, 7, 10 The integer is working as I would expect (and the next value should be "6"). The double is not -- it looks like it is clamping rather than wrapping unless the value is already at the max. > And another question: should the new behavior (whatever everyone agrees to > eventually) be documented? Where? This PR? JBS? Javadoc? A markdown file in > doc-files/behavior/? If we want to specify the functionality, it needs to be documented in the javadoc-generated API docs. That's the specification. Given that this is a clarification of what we mean by "wrapping" and not a fundamental change, we could either do that as part of this enhancement request or a separate one. > Does it need a CSR? The current spec is sufficiently vague on what the wrapping algorithm is that as long as we aren't changing anything fundamental, I don't think we do need a CSR. If we end up changing the spec to document the wrapping algorithm (either as part of this PR or separately), then the change in spec would need a CSR. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1431#issuecomment-2024136091