I don't see it being especially useful. GUI's tend to work this way. I
remember it was the same in Swing.

On Sat, Jan 21, 2023 at 1:41 AM Kevin Rushforth <kevin.rushfo...@oracle.com>
wrote:

>
>
> On 1/20/2023 2:57 PM, Andy Goryachev wrote:
>
> I just want to add one thing - the initial state of RadioMenuItems added
> to a menu is unselected, even if they belong to a ToggleGroup.
>
>
>
> One can say that having all unselected radio buttons in a toggle group
> makes no sense, or perhaps it depends on the application requirements -
> though I cannot find an example where it might be needed.
>
>
> Yes, it's initially unselected unless the app makes an explicit selection.
> HTML radio buttons work the same way [1]. Some apps use that to indicate
> that nothing was selected, but then once you select it there will always be
> something selected.
>
>
>
>
> So either we allow two different policies by adding a property to the
> ToggleGroup, or we proclaim that adding a radio button to a toggle group
> must have a side effect of one (first) button to be automatically selected,
> otherwise the whole group is in inconsistent state (or the app developer
> must write some code to select one).
>
>
> I wouldn't want to change the default behavior, since I can imagine some
> apps relying on being able to tell if the user has ever selected any of the
> choices.
>
> Having two properties would be one solution, presuming we think that we
> need to provide a way for the app to indicate that it wants us to enforce
> the invariant of ensuring that the app can't ever get the control in a
> state where nothing is selected. Although, since it would be an opt-in, the
> app could just as easily set the default itself as opposed to setting this
> new  property.
>
> -- Kevin
>
> [1]
> https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_radio
>
>
>
> -andy
>
>
>
>
>
>
>
>
>
> *From: *openjfx-dev <openjfx-dev-r...@openjdk.org>
> <openjfx-dev-r...@openjdk.org> on behalf of Kevin Rushforth
> <kevin.rushfo...@oracle.com> <kevin.rushfo...@oracle.com>
> *Date: *Friday, 2023/01/20 at 12:27
> *To: *openjfx-dev@openjdk.org <openjfx-dev@openjdk.org>
> <openjfx-dev@openjdk.org>
> *Subject: *Re: RFC: new property in ToggleGroup
>
> How common a UI feature is being able to deselect the selected item in a
> ToggleGroup via the UI such that no item is selected? I don't normally see
> that in various apps or toolkits that I am familiar with. What I do see is
> that either a default item is selected or no item is selected initially
> (which is the one and only time that there will be no item selected), but
> in both case, once you make a selection, there is no way via the UI to
> deselect the current item. Absent a compelling need, I think the current
> behavior (once the fix for JDK-8237505 is integrated) is sufficient.
>
> What do other developers think?
>
> -- Kevin
>
> On 1/20/2023 11:31 AM, Andy Goryachev wrote:
>
> Dear colleagues:
>
>
>
> In the context of a recent PR
>
>
>
> https://bugs.openjdk.org/browse/JDK-8237505
>
> https://github.com/openjdk/jfx/pull/1002
>
>
> https://stackoverflow.com/questions/57911107/javafx-togglegroup-not-functioning-properly-with-accelerators-radiomenuitem
>
>
>
> where a number of RadioMenuItems belonging to a toggle group are added to
> the menu, we might want to add a new property to the ToggleGroup which
> controls whether all items in a group can be deselected.
>
>
>
> If this property is set, a selected radio menu item can be deselected via
> either keyboard accelerator or a mouse click.  If not, then not only this
> operation cannot be performed, but also the first item added to said
> ToggleGroup gets automatically selected.
>
>
>
> This should allow for more flexibility in creating menus with
> RadioMenuItems, but eliminate some boilerplate code required in such cases.
>
>
>
> The new logic would also affect any Toggle, such as ToggleButton.
>
>
>
> What do you think?  Thank you.
>
>
>
> -andy
>
>
>
>
>

Reply via email to