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 Id of the TextInput.

Source

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

Converts the TextInput into a secure password input.

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( &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(&self, tree: &mut Tree, renderer: &Renderer, limits: &Limits) -> Node

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

fn operate( &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, clipboard: &mut dyn Clipboard, 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, _state: &Tree, layout: Layout<'_>, cursor: Cursor, _viewport: &Rectangle, _renderer: &Renderer, ) -> Interaction

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

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

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

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

Returns the state [Tree] of the children of the [Widget].
§

fn overlay<'a>( &'a mut self, _state: &'a mut Tree, _layout: Layout<'_>, _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<Renderer, Renderer>> !RefUnwindSafe for TextInput<'a, Message, Theme, Renderer>

§

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

§

impl<'a, Message, Theme = Theme, Renderer = Renderer<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 = Theme, Renderer = Renderer<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
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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.

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

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

§

fn vzip(self) -> V

§

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
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T