Skip to main content

Disclosure

Struct Disclosure 

Source
pub struct Disclosure { /* private fields */ }
Expand description

A header that shows or hides its content. Remembers whether it is open, or leaves that to the app with expanded. The header can carry any view as its title, a mark such as a Dot, and an on/off switch of its own.

use ravenrs_reactive::State;
use ravenrs_widgets::{Disclosure, Dot, Text, Tone, Ui};

let (open, enabled) = (State::new(true), State::new(false));
let panel = Disclosure::new("Effects", Text::new("Vignette and grain"))
    .expanded(open.binding())
    .mark(Dot::new().tone(Tone::Warning).label("Changed"))
    .switch(enabled.binding());
let mut ui = Ui::new(panel, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl Disclosure

Source

pub fn new(title: impl Into<String>, content: impl View + 'static) -> Self

A collapsed disclosure with this title and content.

Source

pub fn open(self, open: bool) -> Self

Whether it starts open (closed by default).

Source

pub fn expanded(self, expanded: Binding<bool>) -> Self

Keeps whether it is open in this binding, so the app decides and can remember it. Self::open no longer matters.

Source

pub fn title_view(self, view: impl View + 'static) -> Self

Shows this view in the header instead of the title, which still names it for screen readers.

Source

pub fn mark(self, mark: impl View + 'static) -> Self

Shows this view at the end of the header, so what is inside can be told while it is closed. A Dot with a label says it to screen readers as well.

Source

pub fn switch(self, value: Binding<bool>) -> Self

Puts an on/off switch at the end of the header, named after the title. Using it does not open or close the disclosure.

Source

pub fn key(self, key: u64) -> Self

What tells this disclosure apart inside an Accordion, so it keeps its state when the list changes (its position by default).

Trait Implementations§

Source§

impl Debug for Disclosure

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl View for Disclosure

Source§

fn build(&self, cx: &mut BuildCx<'_>) -> NodeId

Creates this view’s node for the current build.
Source§

fn type_name(&self) -> &'static str

The name the diagnostics panel shows this view’s cost under.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V> ViewExt for V
where V: View,

Source§

fn padding(self, padding: impl Into<Insets>) -> Styled<Self>

Adds padding inside the box, in logical pixels.
Source§

fn background(self, fill: impl Into<Fill>) -> Styled<Self>

Paints a background behind the content.
Source§

fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>

Fixes the width and/or height in logical pixels; None keeps the content size.
Source§

fn width(self, width: f32) -> Styled<Self>

Fixes the width in logical pixels.
Source§

fn height(self, height: f32) -> Styled<Self>

Fixes the height in logical pixels.
Source§

fn grow(self, grow: f32) -> Styled<Self>

Takes a share of the free space in the parent stack.
Source§

fn stretch(self) -> Styled<Self>

Stretches across the parent stack’s cross axis.
Source§

fn centered(self) -> Styled<Self>

Centers the content inside the box.
Source§

fn tooltip(self, text: impl Into<String>) -> Tooltip<Self>

Shows text above the view while the pointer is over it; see Tooltip.
Source§

fn opacity(self, opacity: f32) -> Faded<Self>

Draws the view and everything in it at this opacity, from 0.0 to 1.0, easing to it when it changes. Layout and input stay as they are; see Faded.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more