I just checked in the simpler change of simply having PushButton
always behave like a radio button when it is part of a group. Anything
else just feels overdesigned - like we're catering to theoretical use
cases that don't really exist.
So:
- Radio buttons always select when pushed
- Checkboxes always toggle when pushed (though they may cycle through
three states if tri-state)
- PushButtons always select when part of a group, and cycle through
two states otherwise (push buttons can be tri-state, but the user
can't actually cycle to the mixed state)
On Aug 19, 2009, at 7:09 PM, Greg Brown wrote:
After giving this some thought, I think the best approach would be
to add the "selectOnly" flag to PushButton. I like giving the Button
subclass responsibility for deciding how to handle its selection
state, rather than relegating it to the Group and requiring all
button types to respect it.
This way, a PushButton can be configured to behave either like a
radio button or like a checkbox when it is in a group (currently, it
behaves like a checkbox only).
On Aug 19, 2009, at 6:20 PM, Greg Brown wrote:
...then again, maybe I am wrong about this. Would it make more
sense to adopt the behavior that, if a toggle-style push button is
part of a group, it behaves like a radio button and can't be
deselected, but when not in a group can be toggled on and off? I'm
starting to think that this is a good idea.
On Aug 19, 2009, at 6:16 PM, Greg Brown wrote:
I believe there are use cases for allowing the user to deselect a
toggled button. I can't think of a concrete one right now, but
it's along the lines of "you can choose A, B, C, or none of the
above". Radio buttons don't support it, but that's why our toggle-
style push buttons do.
On Aug 19, 2009, at 6:09 PM, Scott Lanham wrote:
For any program I have ever written if the toggle push buttons
are grouped
then one button in the group must always be selected with the
only exception
being the initial state of the group where none may be selected.
On Thu, 20 Aug 2009 08:04:56 am Greg Brown wrote:
I'm currently thinking of "selectOnly", but there may be better
options.
By the way, comments on this are welcome. Is this a feature that
is
worth adding to PushButton, or would it be better implemented
via a
custom subclass? Is this something that we think developers are
likely
to want to do often? I'm leaning towards "yes", but I'd like to
know
what others think.
G