Skip to main content

TextInput

Struct TextInput 

Source
pub struct TextInput<'a, Message, Theme = Theme, Renderer = Renderer>
where Theme: Catalog, Renderer: Renderer,
{ /* private fields */ }
Expand description

A field that can be filled with text.

§Example

use iced::widget::text_input;

struct State {
   content: String,
}

#[derive(Debug, Clone)]
enum Message {
    ContentChanged(String)
}

fn view(state: &State) -> Element<'_, Message> {
    text_input("Type something here...", &state.content)
        .on_input(Message::ContentChanged)
        .into()
}

fn update(state: &mut State, message: Message) {
    match message {
        Message::ContentChanged(content) => {
            state.content = content;
        }
    }
}

Implementations§

Source§

impl<'a, Message, Theme, Renderer> TextInput<'a, Message, Theme, Renderer>
where Message: Clone, Theme: Catalog, Renderer: Renderer,

Source

pub fn new(placeholder: &str, value: &str) -> Self

Creates a new TextInput with the given placeholder and its current value.

Source

pub fn id(self, id: impl Into<Id>) -> Self

Sets the widget::Id of the TextInput.

Source

pub fn secure(self, is_secure: bool) -> Self

Converts the TextInput into a secure password input.

Source

pub fn input_purpose(self, purpose: Purpose) -> Self

Sets the IME input_method::Purpose of the TextInput.

This overrides the default purpose derived from Self::secure.

Source

pub fn on_input(self, on_input: impl Fn(String) -> Message + 'a) -> Self

Sets the message that should be produced when some text is typed into the TextInput.

If this method is not called, the TextInput will be disabled.

Source

pub fn on_input_maybe( self, on_input: Option<impl Fn(String) -> Message + 'a>, ) -> Self

Sets the message that should be produced when some text is typed into the TextInput, if Some.

If None, the TextInput will be disabled.

Source

pub fn on_submit(self, message: Message) -> Self

Sets the message that should be produced when the TextInput is focused and the enter key is pressed.

Source

pub fn on_submit_maybe(self, on_submit: Option<Message>) -> Self

Sets the message that should be produced when the TextInput is focused and the enter key is pressed, if Some.

Source

pub fn on_paste(self, on_paste: impl Fn(String) -> Message + 'a) -> Self

Sets the message that should be produced when some text is pasted into the TextInput.

Source

pub fn on_paste_maybe( self, on_paste: Option<impl Fn(String) -> Message + 'a>, ) -> Self

Sets the message that should be produced when some text is pasted into the TextInput, if Some.

Source

pub fn font(self, font: Renderer::Font) -> Self

Sets the Font of the TextInput.

Source

pub fn icon(self, icon: Icon<Renderer::Font>) -> Self

Sets the Icon of the TextInput.

Source

pub fn width(self, width: impl Into<Length>) -> Self

Sets the width of the TextInput.

Source

pub fn padding<P: Into<Padding>>(self, padding: P) -> Self

Sets the Padding of the TextInput.

Source

pub fn size(self, size: impl Into<Pixels>) -> Self

Sets the text size of the TextInput.

Source

pub fn line_height(self, line_height: impl Into<LineHeight>) -> Self

Sets the text::LineHeight of the TextInput.

Source

pub fn align_x(self, alignment: impl Into<Horizontal>) -> Self

Sets the horizontal alignment of the TextInput.

Source

pub fn style(self, style: impl Fn(&Theme, Status) -> Style + 'a) -> Self
where Theme::Class<'a>: From<StyleFn<'a, Theme>>,

Sets the style of the TextInput.

Source

pub fn class(self, class: impl Into<Theme::Class<'a>>) -> Self

Sets the style class of the TextInput.

Source

pub fn layout( &mut self, tree: &mut Tree, renderer: &Renderer, limits: &Limits, value: Option<&Value>, ) -> Node

Lays out the TextInput, overriding its Value if provided.

Source

pub fn draw( &self, tree: &Tree, renderer: &mut Renderer, theme: &Theme, layout: Layout<'_>, _cursor: Cursor, value: Option<&Value>, viewport: &Rectangle, )

Draws the TextInput with the given Renderer, overriding its Value if provided.

Trait Implementations§

Source§

impl<'a, Message, Theme, Renderer> From<TextInput<'a, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
where Message: Clone + 'a, Theme: Catalog + 'a, Renderer: Renderer + 'a,

Source§

fn from( text_input: TextInput<'a, Message, Theme, Renderer>, ) -> Element<'a, Message, Theme, Renderer>

Converts to this type from the input type.
Source§

impl<Message, Theme, Renderer> Widget<Message, Theme, Renderer> for TextInput<'_, Message, Theme, Renderer>
where Message: Clone, Theme: Catalog, Renderer: Renderer,

Source§

fn tag(&self) -> Tag

Returns the Tag of the Widget.
Source§

fn state(&self) -> State

Returns the State of the Widget.
Source§

fn diff(&self, tree: &mut Tree)

Reconciles the Widget with the provided Tree.
Source§

fn size(&self) -> Size<Length>

Returns the Size of the Widget in lengths.
Source§

fn layout( &mut self, tree: &mut Tree, renderer: &Renderer, limits: &Limits, ) -> Node

Returns the layout::Node of the Widget. Read more
Source§

fn operate( &mut self, tree: &mut Tree, layout: Layout<'_>, _renderer: &Renderer, operation: &mut dyn Operation, )

Applies an Operation to the Widget.
Source§

fn update( &mut self, tree: &mut Tree, event: &Event, layout: Layout<'_>, cursor: Cursor, renderer: &Renderer, shell: &mut Shell<'_, Message>, _viewport: &Rectangle, )

Processes a runtime Event. Read more
Source§

fn draw( &self, tree: &Tree, renderer: &mut Renderer, theme: &Theme, _style: &Style, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, )

Draws the Widget using the associated Renderer.
Source§

fn mouse_interaction( &self, _tree: &Tree, layout: Layout<'_>, cursor: Cursor, _viewport: &Rectangle, _renderer: &Renderer, ) -> Interaction

Returns the current mouse::Interaction of the Widget. Read more
Source§

fn size_hint(&self) -> Size<Length>

Returns a Size hint for laying out the Widget. Read more
Source§

fn children(&self) -> Vec<Tree>

Returns the state Tree of the children of the Widget.
Source§

fn overlay<'a>( &'a mut self, _tree: &'a mut Tree, _layout: Layout<'a>, _renderer: &Renderer, _viewport: &Rectangle, _translation: Vector, ) -> Option<Element<'a, Message, Theme, Renderer>>

Returns the overlay of the Widget, if there is any.

Auto Trait Implementations§

§

impl<'a, Message, Theme, Renderer> Freeze for TextInput<'a, Message, Theme, Renderer>
where <Theme as Catalog>::Class<'a>: Freeze, <Renderer as Renderer>::Font: Freeze, Message: Freeze,

§

impl<'a, Message, Theme = Theme, Renderer = Renderer> !RefUnwindSafe for TextInput<'a, Message, Theme, Renderer>

§

impl<'a, Message, Theme = Theme, Renderer = Renderer> !Send for TextInput<'a, Message, Theme, Renderer>

§

impl<'a, Message, Theme = Theme, Renderer = Renderer> !Sync for TextInput<'a, Message, Theme, Renderer>

§

impl<'a, Message, Theme, Renderer> Unpin for TextInput<'a, Message, Theme, Renderer>
where <Theme as Catalog>::Class<'a>: Unpin, <Renderer as Renderer>::Font: Unpin, Message: Unpin,

§

impl<'a, Message, Theme, Renderer> UnsafeUnpin for TextInput<'a, Message, Theme, Renderer>
where <Theme as Catalog>::Class<'a>: UnsafeUnpin, <Renderer as Renderer>::Font: UnsafeUnpin, Message: UnsafeUnpin,

§

impl<'a, Message, Theme = Theme, Renderer = Renderer> !UnwindSafe for TextInput<'a, Message, Theme, Renderer>

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