Struct RadioTileStyleConfig
pub struct RadioTileStyleConfig {
pub content: WidgetId,
pub is_selected: Signal<bool>,
pub is_hovered: Signal<bool>,
pub is_pressed: Signal<bool>,
pub is_focused: Signal<bool>,
pub is_focus_visible: Signal<bool>,
pub is_disabled: Signal<bool>,
pub is_window_active: Signal<bool>,
pub variant: RadioTileVariant,
pub is_compact: bool,
}Expand description
Everything a RadioTileStyle needs to render one tile’s chrome.
All state is delivered as reactive Signals so the chrome repaints on
interaction without a rebuild. The window-active / focus split matches
StandardItemStyleConfig: a
selected tile shows the vivid selection surface only while its group
holds keyboard focus and the window is active, and the keyboard focus
ring appears only under is_focused && is_focus_visible.
Fields§
§content: WidgetIdPre-composed tile content — typically a VStack of
[HStack { icon?, title, Spacer, indicator? }, description|body?]
built by the host RadioTile. The style wraps it in the card chrome
but does not lay it out internally.
is_selected: Signal<bool>§is_hovered: Signal<bool>§is_pressed: Signal<bool>§is_focused: Signal<bool>Whether the tile’s group (or the tile itself, when standalone) holds
keyboard focus. Combined with is_window_active to pick the vivid vs
muted selection surface.
is_focus_visible: Signal<bool>Input-modality “focus-visible”: true after keyboard input. The focus
ring renders only when this and is_focused are both true, so a mouse
click selects without a ring while keyboard navigation reveals one.
is_disabled: Signal<bool>§is_window_active: Signal<bool>Whether the host window is active (focused AND not occluded).
Populated from [BuildContext::window_active_signal].
variant: RadioTileVariant§is_compact: boolThe tile is in the compact single-line arrangement (a
TileLayout::Vertical row): the style should center its content in the
fixed row height rather than pad-and-top-anchor it, so a short fixed
height never over-constrains the content.
Trait Implementations§
§impl Clone for RadioTileStyleConfig
impl Clone for RadioTileStyleConfig
§fn clone(&self) -> RadioTileStyleConfig
fn clone(&self) -> RadioTileStyleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for RadioTileStyleConfig
impl !Send for RadioTileStyleConfig
impl !Sync for RadioTileStyleConfig
impl !UnwindSafe for RadioTileStyleConfig
impl Freeze for RadioTileStyleConfig
impl Unpin for RadioTileStyleConfig
impl UnsafeUnpin for RadioTileStyleConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more