Skip to main content

CopyValue

Struct CopyValue 

Source
pub struct CopyValue<Msg> { /* private fields */ }
Expand description

A value on a raised surface that copies itself to the clipboard: an install command, a token, a URL.

Enter, Space or c while focused, or a click, copies the value, flashes the surface and turns the trailing copy word into a success mark with copied that fades back after a moment, so no toast is needed. The value is truncated with … when narrow; the marker always stays visible. The copy goes to the terminal clipboard (OSC 52) and to the application’s in-process clipboard.

Style keys: copy-value (bg, fg, padding) with hover, focus, pressed, disabled; copy-value-marker (fg) with variant copied; copy-value-label (fg) for a labelled value’s label and its whole value above a narrow box. Words come from quvyta.copy-value.copy and quvyta.copy-value.copied.

Implementations§

Source§

impl<Msg> CopyValue<Msg>

Source

pub fn new(value: impl Into<String>) -> Self

Shows value and copies it.

Source

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

A faint label above the value, such as “Install command”. When the value does not fit its box it is also written out whole above the box, wrapped, so it can be read while the box keeps its one line; a masked value is never written out.

Source

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

Draws the value as mask dots while still copying the real text, for secrets.

Source

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

Greys the value out; it cannot be focused or copied.

Source

pub fn on_copy(self, message: Msg) -> Self

Message sent after every copy.

Trait Implementations§

Source§

impl<Msg: Clone + 'static> Widget<Msg> for CopyValue<Msg>

Source§

fn measure(&self, cx: &mut MeasureCx<'_>, available: Size) -> Size

The size the widget wants when it may use up to available.
Source§

fn paint(&self, cx: &mut PaintCx<'_>, area: Rect)

Draws the widget into area.
Source§

fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool

Handles input. Returns true when the event was used; unused key and scroll events bubble to the parent widget.
Source§

fn focusable(&self) -> bool

Whether the widget can take keyboard focus.
Source§

fn paint_overlay(&self, _cx: &mut PaintCx<'_>, _anchor: Rect)

Draws the widget’s overlay after the whole view was painted, when it asked for one with PaintCx::request_overlay. anchor is the area the widget was painted in.
Source§

fn children(&self) -> &[Node<Msg>]

Child nodes, for widgets that contain other widgets.
Source§

fn children_mut(&mut self) -> &mut [Node<Msg>]

Mutable child nodes, used to assign ids.

Auto Trait Implementations§

§

impl<Msg> Freeze for CopyValue<Msg>
where Option<Msg>: Freeze,

§

impl<Msg> RefUnwindSafe for CopyValue<Msg>
where Option<Msg>: RefUnwindSafe,

§

impl<Msg> Send for CopyValue<Msg>
where Option<Msg>: Send,

§

impl<Msg> Sync for CopyValue<Msg>
where Option<Msg>: Sync,

§

impl<Msg> Unpin for CopyValue<Msg>
where Option<Msg>: Unpin,

§

impl<Msg> UnsafeUnpin for CopyValue<Msg>
where Option<Msg>: UnsafeUnpin,

§

impl<Msg> UnwindSafe for CopyValue<Msg>
where Option<Msg>: UnwindSafe,

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.