Struct zng::text_input::TextInput
source · pub struct TextInput(/* private fields */);
Expand description
W
Simple text editor widget.
If txt
is set to a variable that can be modified the widget becomes interactive, it implements
the usual text box capabilities: keyboard editing of text in a single style, pointer
caret positioning and text selection.
You can also use text::cmd
to edit the text.
§Undo/Redo
Undo/redo is enabled by default, the widget is an undo scope and handles undo commands. Note that external
changes to the txt
variable clears the undo stack, only changes done by the widget can be undone.
§Shorthand
The TextInput!
macro provides shorthand syntax that sets the txt
property.
let editable_text = TextInput!(var_from(""));
Implementations§
source§impl TextInput
impl TextInput
sourcepub fn widget_new() -> TextInput
pub fn widget_new() -> TextInput
Start building a new instance.
sourcepub fn widget_type() -> WidgetType
pub fn widget_type() -> WidgetType
Gets the widget type info.
source§impl TextInput
impl TextInput
sourcepub fn placeholder_txt(&self, txt: impl IntoVar<Txt>)
pub fn placeholder_txt(&self, txt: impl IntoVar<Txt>)
P
Text shown when the txt
is empty.
The placeholder has the same text style as the parent widget, with 50% opacity.
You can use the placeholder
to use a custom widget placeholder.
Methods from Deref<Target = StyleMix<UndoMix<Text>>>§
sourcepub fn style_intrinsic(
&mut self,
style_var: ContextVar<StyleFn>,
style_fn: PropertyId,
)
pub fn style_intrinsic( &mut self, style_var: ContextVar<StyleFn>, style_fn: PropertyId, )
Setup the style build.
sourcepub fn style_base_fn(&self, style: impl IntoVar<StyleFn>)
pub fn style_base_fn(&self, style: impl IntoVar<StyleFn>)
c
Widget’s base style. All other styles set using style_fn
are applied over this style.
Is nil
by default.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for TextInput
impl !RefUnwindSafe for TextInput
impl Send for TextInput
impl !Sync for TextInput
impl Unpin for TextInput
impl !UnwindSafe for TextInput
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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