Skip to main content

TextField

Struct TextField 

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

A single-line text input bound to a String.

Supports typing, deleting, moving by character, word and line, selecting with Shift, the mouse (drag, double-click) or Cmd/Ctrl+A, copy, cut and paste, and Enter (submit). Passwords can be pasted but not copied.

use ravenrs_reactive::State;
use ravenrs_widgets::{IconName, TextField, Ui};

let query = State::new(String::new());
let field = TextField::new(query.binding()).placeholder("Search").icon(IconName::Search).clearable();
let mut ui = Ui::new(field, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl TextField

Source

pub fn new(value: Binding<String>) -> TextField

An empty-placeholder field bound to value.

Source

pub fn placeholder(self, text: impl Into<String>) -> TextField

Muted text shown while the value is empty.

Source

pub fn icon(self, icon: IconName) -> TextField

An icon inside the field, before the text.

Source

pub fn secure(self) -> TextField

Shows dots instead of the characters (passwords).

Source

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

Fixed width in logical pixels; by default the field stretches.

Source

pub fn compact(self) -> TextField

A shorter field with smaller text, for toolbars, filter rows and cells: the same as Self::size with ButtonSize::Small.

Source

pub fn size(self, size: ButtonSize) -> TextField

Sets the height and text size to line up with a Button of the same size (Medium by default). The smaller ones have no minimum width.

Source

pub fn prefix(self, view: impl View + 'static) -> TextField

Any view inside the field, before the text, such as a currency or a unit.

Source

pub fn suffix(self, view: impl View + 'static) -> TextField

Any view inside the field, after the text, such as a unit or a button.

Source

pub fn clearable(self) -> TextField

A button inside the field that empties it, shown while there is text to clear. The keyboard comes back to the field afterwards.

Source

pub fn flat(self) -> TextField

No box of its own until it is pointed at or focused, filling what it is in, for fields that line up with what is around them, as under the columns of a grid.

Source

pub fn end_aligned(self) -> TextField

Puts the text at the end of the field, as under a column of numbers.

Source

pub fn autofocus(self) -> TextField

Takes keyboard focus when it first appears.

Source

pub fn select_on_open(self) -> TextField

Starts with all of its text selected, so that typing replaces it.

Source

pub fn on_cancel(self, handler: impl Fn() + 'static) -> TextField

Called when Escape is pressed while the field is focused.

Source

pub fn intercept_keys( self, handler: Rc<dyn Fn(&Key, Modifiers) -> bool>, ) -> TextField

Sees keys before the field edits; return true to consume them (lists navigated from a search field use it for arrows and Enter).

Source

pub fn on_submit(self, handler: impl Fn(String) + 'static) -> TextField

Called with the current text when Enter is pressed.

Source

pub fn on_leave(self, handler: impl Fn() + 'static) -> TextField

Called when the keyboard goes elsewhere after being here.

Source

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

Turns the control off: it fades, leaves the tab order and ignores input.

Source

pub fn read_only(self, read_only: bool) -> TextField

Shows the value without letting it change; it can still be focused, selected and copied.

Trait Implementations§

Source§

impl Debug for TextField

Source§

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

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

impl View for TextField

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> AutoreleaseSafe for T
where T: ?Sized,

Source§

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

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

§

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<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

§

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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

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