Change feather's radio control's visibility from visible to inherited #21789
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
Setting a feather radio button's visibility to
Visibility::Hidden(bottom row of the below image) should hide the radio button entirely. Instead, the mark stays visible.My use case for this is a settings panel, in which the radio buttons are in a collapsible section that makes them hidden.
Solution
Changing the visibility of the mark from
Visibility::VisibletoVisibility::Inheritedappears to me to be the cleanest solution, as it does minimal work and has no downsides.I considered adding a system to my project that would override the visibility each time, but the mark's marker component is not exported.
I also considered adding a system to my project which removed the
Checkedcomponent from the radio button when making it hidden, and re-adds it when making it visible.Testing
I tested this change by editing the source file in
~/.cargo/registry/, runningcargo clean, then doing a full rebuild of my app, and it worked as expected.Showcase