pub struct TextInput<'a, Message, Renderer = Renderer>{ /* private fields */ }Expand description
A Material 3 outlined text field with an animated floating label.
Implementations§
Source§impl<'a, Message, Renderer> TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer> TextInput<'a, Message, Renderer>
pub fn new(label: impl IntoFragment<'a>, value: &str) -> Self
Sourcepub fn id(self, id: impl Into<Id>) -> Self
pub fn id(self, id: impl Into<Id>) -> Self
Examples found in repository?
examples/showcase/app.rs (line 684)
679fn login_dialog(state: &Showcase, alpha: f32) -> material::Element<'_, Message> {
680 let body = iced::widget::Column::new()
681 .spacing(material::widget::page::STACK_SPACING)
682 .push(
683 material::widget::text_input::outlined("Account", &state.dialog_account)
684 .id(dialog_account_input_id())
685 .on_input(Message::DialogAccountChanged)
686 .alpha(alpha),
687 )
688 .push(
689 material::widget::text_input::outlined("Password", &state.dialog_password)
690 .secure(true)
691 .on_input(Message::DialogPasswordChanged)
692 .on_submit(Message::DialogConfirmed)
693 .alpha(alpha),
694 )
695 .push(material::widget::checkbox::standard_with_alpha(
696 state.dialog_remember_password,
697 "Remember password",
698 Message::DialogRememberPasswordChanged,
699 alpha,
700 ));
701
702 let options = material::widget::dialog::AlphaOptions::default().alpha(alpha);
703
704 material::widget::dialog::content_with(
705 "Sign in",
706 body,
707 material::widget::dialog::actions([
708 material::widget::dialog::action_button_with(
709 "Cancel",
710 Message::DialogDismissed,
711 options,
712 ),
713 material::widget::dialog::action_button_with(
714 "Log in",
715 Message::DialogConfirmed,
716 options,
717 ),
718 ]),
719 options,
720 )
721 .into()
722}Sourcepub fn secure(self, is_secure: bool) -> Self
pub fn secure(self, is_secure: bool) -> Self
Examples found in repository?
examples/showcase/app.rs (line 690)
679fn login_dialog(state: &Showcase, alpha: f32) -> material::Element<'_, Message> {
680 let body = iced::widget::Column::new()
681 .spacing(material::widget::page::STACK_SPACING)
682 .push(
683 material::widget::text_input::outlined("Account", &state.dialog_account)
684 .id(dialog_account_input_id())
685 .on_input(Message::DialogAccountChanged)
686 .alpha(alpha),
687 )
688 .push(
689 material::widget::text_input::outlined("Password", &state.dialog_password)
690 .secure(true)
691 .on_input(Message::DialogPasswordChanged)
692 .on_submit(Message::DialogConfirmed)
693 .alpha(alpha),
694 )
695 .push(material::widget::checkbox::standard_with_alpha(
696 state.dialog_remember_password,
697 "Remember password",
698 Message::DialogRememberPasswordChanged,
699 alpha,
700 ));
701
702 let options = material::widget::dialog::AlphaOptions::default().alpha(alpha);
703
704 material::widget::dialog::content_with(
705 "Sign in",
706 body,
707 material::widget::dialog::actions([
708 material::widget::dialog::action_button_with(
709 "Cancel",
710 Message::DialogDismissed,
711 options,
712 ),
713 material::widget::dialog::action_button_with(
714 "Log in",
715 Message::DialogConfirmed,
716 options,
717 ),
718 ]),
719 options,
720 )
721 .into()
722}Sourcepub fn on_input(self, on_input: impl Fn(String) -> Message + 'a) -> Self
pub fn on_input(self, on_input: impl Fn(String) -> Message + 'a) -> Self
Examples found in repository?
examples/showcase/pages/inputs.rs (line 8)
6pub(super) fn view(state: &Showcase) -> material::Element<'_, Message> {
7 let input = material::widget::text_input::outlined("Write a note", &state.note)
8 .on_input(Message::TextChanged);
9
10 let editor = material::widget::text_editor::outlined_area(&state.editor_content)
11 .placeholder("Write details")
12 .on_action(Message::EditorAction);
13
14 let select_options = ["Assist", "Suggestion", "Filter"];
15 let select = material::widget::select::outlined(
16 select_options,
17 state.select_choice,
18 Message::SelectChanged,
19 )
20 .placeholder("Choose a chip")
21 .label("Chip type");
22
23 let combobox = material::widget::combobox::outlined_with_input(
24 &state.combobox_options,
25 "Search a chip",
26 &state.combobox_input,
27 state.combobox_choice.as_ref(),
28 Message::ComboboxSelected,
29 )
30 .label("Searchable chip")
31 .on_input(Message::ComboboxInputChanged);
32
33 page::sections([
34 page::section("Text fields", page::stack([input.into(), editor.into()])).into(),
35 page::section(
36 "Selection fields",
37 page::stack([select.into(), combobox.into()]),
38 )
39 .into(),
40 page::section("Pickers", pickers(state)).into(),
41 page::section("Search", search_bar(state)).into(),
42 page::section("Dividers", dividers()).into(),
43 ])
44 .into()
45}More examples
examples/showcase/app.rs (line 685)
679fn login_dialog(state: &Showcase, alpha: f32) -> material::Element<'_, Message> {
680 let body = iced::widget::Column::new()
681 .spacing(material::widget::page::STACK_SPACING)
682 .push(
683 material::widget::text_input::outlined("Account", &state.dialog_account)
684 .id(dialog_account_input_id())
685 .on_input(Message::DialogAccountChanged)
686 .alpha(alpha),
687 )
688 .push(
689 material::widget::text_input::outlined("Password", &state.dialog_password)
690 .secure(true)
691 .on_input(Message::DialogPasswordChanged)
692 .on_submit(Message::DialogConfirmed)
693 .alpha(alpha),
694 )
695 .push(material::widget::checkbox::standard_with_alpha(
696 state.dialog_remember_password,
697 "Remember password",
698 Message::DialogRememberPasswordChanged,
699 alpha,
700 ));
701
702 let options = material::widget::dialog::AlphaOptions::default().alpha(alpha);
703
704 material::widget::dialog::content_with(
705 "Sign in",
706 body,
707 material::widget::dialog::actions([
708 material::widget::dialog::action_button_with(
709 "Cancel",
710 Message::DialogDismissed,
711 options,
712 ),
713 material::widget::dialog::action_button_with(
714 "Log in",
715 Message::DialogConfirmed,
716 options,
717 ),
718 ]),
719 options,
720 )
721 .into()
722}pub fn on_input_maybe( self, on_input: Option<impl Fn(String) -> Message + 'a>, ) -> Self
Sourcepub fn on_submit(self, message: Message) -> Self
pub fn on_submit(self, message: Message) -> Self
Examples found in repository?
examples/showcase/app.rs (line 692)
679fn login_dialog(state: &Showcase, alpha: f32) -> material::Element<'_, Message> {
680 let body = iced::widget::Column::new()
681 .spacing(material::widget::page::STACK_SPACING)
682 .push(
683 material::widget::text_input::outlined("Account", &state.dialog_account)
684 .id(dialog_account_input_id())
685 .on_input(Message::DialogAccountChanged)
686 .alpha(alpha),
687 )
688 .push(
689 material::widget::text_input::outlined("Password", &state.dialog_password)
690 .secure(true)
691 .on_input(Message::DialogPasswordChanged)
692 .on_submit(Message::DialogConfirmed)
693 .alpha(alpha),
694 )
695 .push(material::widget::checkbox::standard_with_alpha(
696 state.dialog_remember_password,
697 "Remember password",
698 Message::DialogRememberPasswordChanged,
699 alpha,
700 ));
701
702 let options = material::widget::dialog::AlphaOptions::default().alpha(alpha);
703
704 material::widget::dialog::content_with(
705 "Sign in",
706 body,
707 material::widget::dialog::actions([
708 material::widget::dialog::action_button_with(
709 "Cancel",
710 Message::DialogDismissed,
711 options,
712 ),
713 material::widget::dialog::action_button_with(
714 "Log in",
715 Message::DialogConfirmed,
716 options,
717 ),
718 ]),
719 options,
720 )
721 .into()
722}pub fn on_paste(self, on_paste: impl Fn(String) -> Message + 'a) -> Self
pub fn error(self, is_error: bool) -> Self
Sourcepub fn alpha(self, content_alpha: f32) -> Self
pub fn alpha(self, content_alpha: f32) -> Self
Examples found in repository?
examples/showcase/app.rs (line 686)
679fn login_dialog(state: &Showcase, alpha: f32) -> material::Element<'_, Message> {
680 let body = iced::widget::Column::new()
681 .spacing(material::widget::page::STACK_SPACING)
682 .push(
683 material::widget::text_input::outlined("Account", &state.dialog_account)
684 .id(dialog_account_input_id())
685 .on_input(Message::DialogAccountChanged)
686 .alpha(alpha),
687 )
688 .push(
689 material::widget::text_input::outlined("Password", &state.dialog_password)
690 .secure(true)
691 .on_input(Message::DialogPasswordChanged)
692 .on_submit(Message::DialogConfirmed)
693 .alpha(alpha),
694 )
695 .push(material::widget::checkbox::standard_with_alpha(
696 state.dialog_remember_password,
697 "Remember password",
698 Message::DialogRememberPasswordChanged,
699 alpha,
700 ));
701
702 let options = material::widget::dialog::AlphaOptions::default().alpha(alpha);
703
704 material::widget::dialog::content_with(
705 "Sign in",
706 body,
707 material::widget::dialog::actions([
708 material::widget::dialog::action_button_with(
709 "Cancel",
710 Message::DialogDismissed,
711 options,
712 ),
713 material::widget::dialog::action_button_with(
714 "Log in",
715 Message::DialogConfirmed,
716 options,
717 ),
718 ]),
719 options,
720 )
721 .into()
722}pub fn width(self, width: impl Into<Length>) -> Self
pub fn font(self, font: impl Into<Renderer::Font>) -> Self
Trait Implementations§
Source§impl<'a, Message, Renderer> From<TextInput<'a, Message, Renderer>> for Element<'a, Message, Theme, Renderer>
impl<'a, Message, Renderer> From<TextInput<'a, Message, Renderer>> for Element<'a, Message, Theme, Renderer>
Source§impl<Message, Renderer> Widget<Message, Theme, Renderer> for TextInput<'_, Message, Renderer>
impl<Message, Renderer> Widget<Message, Theme, Renderer> for TextInput<'_, Message, Renderer>
Source§fn operate(
&mut self,
tree: &mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
operation: &mut dyn Operation,
)
fn operate( &mut self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, operation: &mut dyn Operation, )
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,
)
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, )
Source§fn mouse_interaction(
&self,
tree: &Tree,
layout: Layout<'_>,
cursor: Cursor,
viewport: &Rectangle,
renderer: &Renderer,
) -> Interaction
fn mouse_interaction( &self, tree: &Tree, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, renderer: &Renderer, ) -> Interaction
Auto Trait Implementations§
impl<'a, Message, Renderer = Renderer<Renderer, Renderer>> !RefUnwindSafe for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer = Renderer<Renderer, Renderer>> !Send for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer = Renderer<Renderer, Renderer>> !Sync for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer = Renderer<Renderer, Renderer>> !UnwindSafe for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer> Freeze for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer> Unpin for TextInput<'a, Message, Renderer>
impl<'a, Message, Renderer> UnsafeUnpin for TextInput<'a, Message, Renderer>where
Option<<Renderer as Renderer>::Font>: UnsafeUnpin,
TextInput<'a, Message, Theme, Renderer>: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn 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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.Source§fn as_any(&self) -> &(dyn Any + 'static)
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.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Turns some type into the initial state of some
Application.