Not sure if you saw my comment on the issue, but I'm wondering if it might be 
simpler to add up/down/left/right handling to TerraRadioButtonSkin itself. 
Another option we talked about at one point was adding a style to ListView that 
would allow it to use radio buttons rather than checkboxes when in check mode 
(basically the checkmark equivalent of single-select mode).

ButtonGroup should allow a caller to clear the selection, so that may be a bug.

On Jun 30, 2011, at 8:37 AM, Chris Bartlett wrote:

> https://issues.apache.org/jira/browse/PIVOT-677
> http://svn.apache.org/repos/asf/pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java
> http://svn.apache.org/repos/asf/pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml
> 
> I've just committed a new class for PIVOT-677, and have a some related
> questions.
> 
> 1) The new RadioButtonGroup class has the following 4 public methods to
> navigate around the buttons in the group.
> - selectFirstButton()
> - selectLastButton()
> - selectNextButton(Button)
> - selectPreviousButton(Button)
> 
> Are those names OK?   ListView & TreeView both have selectAll() methods, so
> there is kind of a precedent and I couldn't think of non-contrived setXXX
> style names unless...
> 
> ... would it be preferable to have a single method with an associated enum
> such as
> setSelection(SelectionRequest request, Button context)?
> (The 'context' parameter would not be required for FIRST & LAST)
> 
> // Not sure about this name...
> private enum SelectionRequest {
> FIRST, LAST, NEXT, PREVIOUS
> }
> 
> That could be expanded into a pair of methods to avoid having to pass a null
> for FIRST & LAST
> setSelection(SelectionRequest request)
> setSelection(SelectionRequest request, Button context)
> 
> 
> 2) ButtonGroup doesn't support clearing the selection.  It just throws an
> IllegalArgumentException with no message.
> Does this seem right, or should clearing selection be allowed
> for ButtonGroup and RadioButtonGroup?
> 
> 
> 3) I added in some extra keyboard handling so that by default TAB and
> SHIFT+TAB transfer focus out of the group.  This seemed much more natural
> for the common use case where all of the buttons in the group are in the
> same Container.
> 
> However, it is just a keyboard listener and therefore won't have any effect
> on org.apache.pivot.wtk.Component#transferFocus(FocusTraversalDirection).
> I considered adding a new FocusTraversalPolicy to the parents of the
> buttons, which would conditionally apply the new 'soft policy' controlled by
> the keypress listener, but that seemed overkill.
> 
> 
> 4) Should any of the tutorials or demos be updated to use RadioButtonGroup
> now?
> http://pivot.apache.org/tutorials/radio-buttons.html
> http://pivot.apache.org/demos/kitchen-sink.html
> http://pivot.apache.org/demos/component-explorer.html
> 
> Chris

Reply via email to