Skip to main content

Dialog

Struct Dialog 

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

A modal dialog over a dimmed backdrop, shown while open is true. Clicking the backdrop, the close button or pressing Escape closes it, and each of the three can be turned off for what must not be dismissed by accident.

use ravenrs_reactive::State;
use ravenrs_widgets::{Dialog, Ui};

let open = State::new(true);
// Only its own buttons or Escape close it: a stray click does not lose what was typed.
let dialog = Dialog::new(open.binding(), "Discard the changes?").close_on_backdrop(false).close_button(false);
let mut ui = Ui::new(dialog, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl Dialog

Source

pub fn new(open: Binding<bool>, title: impl Into<String>) -> Self

A dialog shown while open is true.

Source

pub fn description(self, text: impl Into<String>) -> Self

Adds a muted description under the title.

Source

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

Sets the dialog body.

Source

pub fn width(self, width: f32) -> Self

The widest the dialog gets, in logical pixels (460 by default). It always fits the window.

Source

pub fn close_label(self, label: impl Into<String>) -> Self

The close button’s name for screen readers (from Labels by default).

Source

pub fn close_on_escape(self, close: bool) -> Self

Whether Escape closes it (it does by default).

Source

pub fn close_on_backdrop(self, close: bool) -> Self

Whether a click on the backdrop closes it (it does by default).

Source

pub fn close_button(self, show: bool) -> Self

Whether it shows the X in its corner (it does by default).

Source

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

Buttons at the bottom-right, in order.

Trait Implementations§

Source§

impl Debug for Dialog

Source§

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

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

impl View for Dialog

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§

§

impl !RefUnwindSafe for Dialog

§

impl !Send for Dialog

§

impl !Sync for Dialog

§

impl !UnwindSafe for Dialog

§

impl Freeze for Dialog

§

impl Unpin for Dialog

§

impl UnsafeUnpin for Dialog

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