[][src]Struct druid::widget::TextBox

pub struct TextBox<T> { /* fields omitted */ }

A widget that allows user text input.

Editing values

If the text you are editing represents a value of some other type, such as a number, you should use a ValueTextBox and an appropriate Formatter. You can create a ValueTextBox by passing the appropriate Formatter to TextBox::with_formatter.

Implementations

impl TextBox<()>[src]

pub const PERFORM_EDIT: Selector<EditAction>[src]

Perform an EditAction.

You can send a Command to a textbox containing an EditAction that the textbox should perform.

impl<T> TextBox<T>[src]

pub fn new() -> Self[src]

Create a new TextBox widget.

pub fn multiline() -> Self[src]

Create a new multi-line TextBox.

pub fn with_placeholder(self, placeholder: impl Into<String>) -> Self[src]

Builder-style method to set the TextBox's placeholder text.

pub fn with_text_size(self, size: impl Into<KeyOrValue<f64>>) -> Self[src]

Builder-style method for setting the text size.

The argument can be either an f64 or a Key<f64>.

pub fn with_text_alignment(self, alignment: TextAlignment) -> Self[src]

Builder-style method to set the TextAlignment.

This is only relevant when the TextBox is not multiline, in which case it determines how the text is positioned inside the TextBox when it does not fill the available space.

Note:

This does not behave exactly like TextAlignment does when used with label; in particular this does not account for reading direction. This means that TextAlignment::Start (the default) always means left aligned, and TextAlignment::End always means right aligned.

This should be considered a bug, but it will not be fixed until proper BiDi support is implemented.

pub fn with_font(self, font: impl Into<KeyOrValue<FontDescriptor>>) -> Self[src]

Builder-style method for setting the font.

The argument can be a FontDescriptor or a Key<FontDescriptor> that refers to a font defined in the Env.

pub fn with_text_color(self, color: impl Into<KeyOrValue<Color>>) -> Self[src]

Builder-style method for setting the text color.

The argument can be either a Color or a Key<Color>.

pub fn set_placeholder(&mut self, placeholder: impl Into<String>)[src]

Set the TextBox's placeholder text.

pub fn set_text_size(&mut self, size: impl Into<KeyOrValue<f64>>)[src]

Set the text size.

The argument can be either an f64 or a Key<f64>.

pub fn set_font(&mut self, font: impl Into<KeyOrValue<FontDescriptor>>)[src]

Set the font.

The argument can be a FontDescriptor or a Key<FontDescriptor> that refers to a font defined in the Env.

pub fn set_text_alignment(&mut self, alignment: TextAlignment)[src]

Set the TextAlignment for this `TextBox``.

This is only relevant when the TextBox is not multiline, in which case it determines how the text is positioned inside the TextBox when it does not fill the available space.

Note:

This does not behave exactly like TextAlignment does when used with label; in particular this does not account for reading direction. This means that TextAlignment::Start (the default) always means left aligned, and TextAlignment::End always means right aligned.

This should be considered a bug, but it will not be fixed until proper BiDi support is implemented.

pub fn set_text_color(&mut self, color: impl Into<KeyOrValue<Color>>)[src]

Set the text color.

The argument can be either a Color or a Key<Color>.

If you change this property, you are responsible for calling request_layout to ensure the label is updated.

pub fn editor(&self) -> &Editor<T>[src]

Return the Editor used by this TextBox.

This is only needed in advanced cases, such as if you want to customize the drawing of the text.

pub fn text_position(&self) -> Point[src]

The point, relative to the origin, where this text box draws its TextLayout.

This is exposed in case the user wants to do additional drawing based on properties of the text.

This is not valid until layout has been called.

impl TextBox<String>[src]

pub fn with_formatter<T: Data>(
    self,
    formatter: impl Formatter<T> + 'static
) -> ValueTextBox<T>
[src]

Turn this TextBox into a ValueTextBox, using the Formatter to manage the value.

For simple value formatting, you can use the ParseFormatter.

impl<T: TextStorage + EditableText> TextBox<T>[src]

pub fn set_selection(&mut self, selection: Selection)[src]

Set the textbox's selection.

pub fn force_rebuild(&mut self, text: T, factory: &mut PietText, env: &Env)[src]

Set the text and force the editor to update.

This should be rarely needed; the main use-case would be if you need to manually set the text and then immediately do hit-testing or other tasks that rely on having an up-to-date text layout.

Trait Implementations

impl<T: Clone> Clone for TextBox<T>[src]

impl<T: Debug> Debug for TextBox<T>[src]

impl<T> Default for TextBox<T>[src]

impl<T: TextStorage + EditableText> Widget<T> for TextBox<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for TextBox<T>[src]

impl<T> !Send for TextBox<T>[src]

impl<T> !Sync for TextBox<T>[src]

impl<T> Unpin for TextBox<T> where
    T: Unpin
[src]

impl<T> !UnwindSafe for TextBox<T>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> RoundFrom<T> for T

impl<T, U> RoundInto<U> for T where
    U: RoundFrom<T>, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.