Skip to main content

TextEditor

Struct TextEditor 

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

A multi-line text input.

§Example

use iced::widget::text_editor;

struct State {
   content: text_editor::Content,
}

#[derive(Debug, Clone)]
enum Message {
    Edit(text_editor::Action)
}

fn view(state: &State) -> Element<'_, Message> {
    text_editor(&state.content)
        .placeholder("Type something here...")
        .on_action(Message::Edit)
        .into()
}

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

Implementations§

Source§

impl<'a, Message, Theme, Renderer> TextEditor<'a, PlainText, Message, Theme, Renderer>
where Theme: Catalog, Renderer: Renderer,

Source

pub fn new(content: &'a Content<Renderer>) -> Self

Creates new TextEditor with the given Content.

Source§

impl<'a, Highlighter, Message, Theme, Renderer> TextEditor<'a, Highlighter, Message, Theme, Renderer>
where Highlighter: Highlighter, Theme: Catalog, Renderer: Renderer,

Source

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

Sets the Id of the TextEditor.

Source

pub fn placeholder(self, placeholder: impl IntoFragment<'a>) -> Self

Sets the placeholder of the TextEditor.

Source

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

Sets the width of the TextEditor.

Source

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

Sets the height of the TextEditor.

Source

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

Sets the minimum height of the TextEditor.

Source

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

Sets the maximum height of the TextEditor.

Source

pub fn on_action(self, on_edit: impl Fn(Action) -> Message + 'a) -> Self

Sets the message that should be produced when some action is performed in the TextEditor.

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

Source

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

Sets the Font of the TextEditor.

Source

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

Sets the text size of the TextEditor.

Source

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

Sets the text::LineHeight of the TextEditor.

Source

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

Sets the Padding of the TextEditor.

Source

pub fn wrapping(self, wrapping: Wrapping) -> Self

Sets the Wrapping strategy of the TextEditor.

Source

pub fn highlight( self, syntax: &str, theme: Theme, ) -> TextEditor<'a, Highlighter, Message, Theme, Renderer>
where Renderer: Renderer<Font = Font>,

Available on crate feature highlighter only.

Highlights the TextEditor using the given syntax and theme.

Source

pub fn highlight_with<H: Highlighter>( self, settings: H::Settings, to_format: fn(&H::Highlight, &Theme) -> Format<Renderer::Font>, ) -> TextEditor<'a, H, Message, Theme, Renderer>

Highlights the TextEditor with the given Highlighter and a strategy to turn its highlights into some text format.

Source

pub fn key_binding( self, key_binding: impl Fn(KeyPress) -> Option<Binding<Message>> + 'a, ) -> Self

Sets the closure to produce key bindings on key presses.

See Binding for the list of available bindings.

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

Source

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

Available on crate feature advanced only.

Sets the style class of the TextEditor.

Source

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

Sets the IME input_method::Purpose of the TextEditor.

Trait Implementations§

Source§

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

Source§

fn from( text_editor: TextEditor<'a, Highlighter, Message, Theme, Renderer>, ) -> Self

Converts to this type from the input type.
Source§

impl<Highlighter, Message, Theme, Renderer> Widget<Message, Theme, Renderer> for TextEditor<'_, Highlighter, Message, Theme, Renderer>
where Highlighter: Highlighter, 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 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 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, _defaults: &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 operate( &mut self, tree: &mut Tree, layout: Layout<'_>, _renderer: &Renderer, operation: &mut dyn Operation, )

Applies an Operation to the Widget.
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 diff(&self, tree: &mut Tree)

Reconciles the Widget with the provided Tree.
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, Highlighter, Message, Theme, Renderer> Freeze for TextEditor<'a, Highlighter, Message, Theme, Renderer>
where <Theme as Catalog>::Class<'a>: Freeze, <Highlighter as Highlighter>::Settings: Freeze, <Renderer as Renderer>::Font: Freeze,

§

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

§

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

§

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

§

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

§

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

§

impl<'a, Highlighter, Message, Theme = Theme, Renderer = Renderer> !UnwindSafe for TextEditor<'a, Highlighter, 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.