Struct StringInput

Source
pub struct StringInput<F = FilterMapChar> { /* private fields */ }
Expand description

A widget that inputs a string.

A filter_map function can optionally be provided to limit and change the characters allowed, similar to Iterator::filter_map.

If only a single character is required, use CharInput.

Implementations§

Source§

impl StringInput

Source

pub fn new() -> Self

Creates a new StringInput which accepts all characters.

Source§

impl<F> StringInput<F>

Source

pub fn with_filter_map(filter_map: F) -> Self

Creates a new StringInput which only accepts characters as per the filter_map function.

Source

pub fn mask(self, mask: char) -> Self

A mask to render instead of the actual characters.

This is useful for passwords.

Source

pub fn hide_output(self) -> Self

Hide the value being entered, and render nothing.

This is useful for passwords.

Source

pub fn password(self, mask: Option<char>) -> Self

A helper that sets mask if mask is some, otherwise hides the output

Source

pub fn get_at(&self) -> usize

Gets the location of the ‘cursor’ in characters.

Source

pub fn set_at(&mut self, at: usize)

Sets the location of the ‘cursor’ in characters.

Source

pub fn value(&self) -> &str

The value of the StringInput

Source

pub fn set_value(&mut self, value: String)

Sets the value

Source

pub fn replace_with<W: FnOnce(String) -> String>(&mut self, with: W)

Replaces the value with the result of the function

Source

pub fn finish(self) -> String

Returns the inputted string

Trait Implementations§

Source§

impl<F: Clone> Clone for StringInput<F>

Source§

fn clone(&self) -> StringInput<F>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<F: Debug> Debug for StringInput<F>

Source§

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

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

impl Default for StringInput

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<F> Widget for StringInput<F>
where F: Fn(char) -> Option<char>,

Source§

fn render<B: Backend>( &mut self, layout: &mut Layout, backend: &mut B, ) -> Result<()>

This widget ignores layout.offset_x and wraps around in the terminal.

Source§

fn handle_key(&mut self, key: KeyEvent) -> bool

Handle a key input. It should return whether key was handled.
Source§

fn height(&mut self, layout: &mut Layout) -> u16

The number of rows of the terminal the widget will take when rendered. Read more
Source§

fn cursor_pos(&mut self, layout: Layout) -> (u16, u16)

The position of the cursor to be placed at after render. The returned value should be in the form of (x, y), with (0, 0) being the top left of the screen. Read more

Auto Trait Implementations§

§

impl<F> Freeze for StringInput<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for StringInput<F>
where F: RefUnwindSafe,

§

impl<F> Send for StringInput<F>
where F: Send,

§

impl<F> Sync for StringInput<F>
where F: Sync,

§

impl<F> Unpin for StringInput<F>
where F: Unpin,

§

impl<F> UnwindSafe for StringInput<F>
where F: 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.