pub struct AttachmentStrip { /* private fields */ }Expand description
The files about to go with a message: icon or thumbnail, name, size, how to send each one and a button to take it out. It keeps nothing: the app holds the list and changes it when told.
use ravenrs_reactive::State;
use ravenrs_widgets::{Attachment, AttachmentStrip, Ui};
let removed = State::new(None::<usize>);
let told = removed.clone();
let strip = AttachmentStrip::new([
Attachment::new("report.pdf").size(120_000),
Attachment::new("photo.jpg").size(2_400_000).send_as(["photo", "document"], 0, |_| {}),
])
.on_remove(move |index| told.set(Some(index)));
let mut ui = Ui::new(strip, ravenrs_style::Theme::raven_dark());
ui.update();Implementations§
Source§impl AttachmentStrip
impl AttachmentStrip
Sourcepub fn new(attachments: impl IntoIterator<Item = Attachment>) -> AttachmentStrip
pub fn new(attachments: impl IntoIterator<Item = Attachment>) -> AttachmentStrip
A strip with these files.
Sourcepub fn on_remove(self, handler: impl Fn(usize) + 'static) -> AttachmentStrip
pub fn on_remove(self, handler: impl Fn(usize) + 'static) -> AttachmentStrip
Adds a button to each row, which calls handler with its index.
Trait Implementations§
Source§impl Debug for AttachmentStrip
impl Debug for AttachmentStrip
Auto Trait Implementations§
impl !RefUnwindSafe for AttachmentStrip
impl !Send for AttachmentStrip
impl !Sync for AttachmentStrip
impl !UnwindSafe for AttachmentStrip
impl Freeze for AttachmentStrip
impl Unpin for AttachmentStrip
impl UnsafeUnpin for AttachmentStrip
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<V> ViewExt for Vwhere
V: View,
impl<V> ViewExt for Vwhere
V: View,
Source§fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
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>
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>
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.