[−][src]Struct druid::widget::TextBox
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]
self,
formatter: impl Formatter<T> + 'static
) -> ValueTextBox<T>
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]
pub fn event(
&mut self,
ctx: &mut EventCtx<'_, '_>,
event: &Event,
data: &mut T,
_env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx<'_, '_>,
event: &Event,
data: &mut T,
_env: &Env
)
pub fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx<'_, '_>,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx<'_, '_>,
event: &LifeCycle,
data: &T,
env: &Env
)
pub fn update(
&mut self,
ctx: &mut UpdateCtx<'_, '_>,
_: &T,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx<'_, '_>,
_: &T,
data: &T,
env: &Env
)
pub fn layout(
&mut self,
ctx: &mut LayoutCtx<'_, '_>,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx<'_, '_>,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
pub fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, data: &T, env: &Env)
[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]
T: Unpin,
impl<T> !UnwindSafe for TextBox<T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> RoundFrom<T> for T
pub fn round_from(x: T) -> T
impl<T, U> RoundInto<U> for T where
U: RoundFrom<T>,
U: RoundFrom<T>,
pub fn round_into(self) -> U
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,