pub struct EditBox<G = ()>where
G: EditGuard,{ /* private fields */ }
Expand description
A text-edit box
A single- or multi-line editor for unformatted text.
See also notes on EditField
.
By default, the editor supports a single-line only;
Self::with_multi_line
and Self::with_class
can be used to change this.
Implementations§
source§impl EditBox<()>
impl EditBox<()>
sourcepub fn new<S>(text: S) -> EditBox<()>where
S: ToString,
pub fn new<S>(text: S) -> EditBox<()>where S: ToString,
Construct an EditBox
with the given inital text
sourcepub fn with_guard<G>(self, guard: G) -> EditBox<G>where
G: EditGuard,
pub fn with_guard<G>(self, guard: G) -> EditBox<G>where G: EditGuard,
Set an EditGuard
Technically, this consumes self
and reconstructs another EditBox
with a different parameterisation.
This method calls EditGuard::update
after applying guard
to self
and discards any message emitted.
sourcepub fn on_activate<F>(self, f: F) -> EditBox<GuardActivate<F>>where
F: FnMut(&mut EventMgr<'_>, &str) -> Response + 'static,
pub fn on_activate<F>(self, f: F) -> EditBox<GuardActivate<F>>where F: FnMut(&mut EventMgr<'_>, &str) -> Response + 'static,
Set a guard function, called on activation
The closure f
is called when the EditBox
is activated (when the
“enter” key is pressed).
This method is a parametisation of EditBox::with_guard
. Any guard
previously assigned to the EditBox
will be replaced.
sourcepub fn on_afl<F>(self, f: F) -> EditBox<GuardAFL<F>>where
F: FnMut(&mut EventMgr<'_>, &str) + 'static,
pub fn on_afl<F>(self, f: F) -> EditBox<GuardAFL<F>>where F: FnMut(&mut EventMgr<'_>, &str) + 'static,
Set a guard function, called on activation and input-focus lost
The closure f
is called when the EditBox
is activated (when the
“enter” key is pressed) and when keyboard focus is lost.
This method is a parametisation of EditBox::with_guard
. Any guard
previously assigned to the EditBox
will be replaced.
sourcepub fn on_edit<F>(self, f: F) -> EditBox<GuardEdit<F>>where
F: FnMut(&mut EventMgr<'_>, &str) + 'static,
pub fn on_edit<F>(self, f: F) -> EditBox<GuardEdit<F>>where F: FnMut(&mut EventMgr<'_>, &str) + 'static,
Set a guard function, called on edit
The closure f
is called when the EditBox
is edited by the user.
This method is a parametisation of EditBox::with_guard
. Any guard
previously assigned to the EditBox
will be replaced.
sourcepub fn on_update<F>(self, f: F) -> EditBox<GuardUpdate<F>>where
F: FnMut(&str) + 'static,
pub fn on_update<F>(self, f: F) -> EditBox<GuardUpdate<F>>where F: FnMut(&str) + 'static,
Set a guard function, called on update
The closure f
is called when the EditBox
is updated (by the user or
programmatically). It is also called immediately by this method.
This method is a parametisation of EditBox::with_guard
. Any guard
previously assigned to the EditBox
will be replaced.
source§impl<G> EditBox<G>where
G: EditGuard,
impl<G> EditBox<G>where G: EditGuard,
sourcepub fn with_editable(self, editable: bool) -> EditBox<G>
pub fn with_editable(self, editable: bool) -> EditBox<G>
Set whether this widget is editable (inline)
sourcepub fn with_multi_line(self, multi_line: bool) -> EditBox<G>
pub fn with_multi_line(self, multi_line: bool) -> EditBox<G>
Set whether this EditBox
uses multi-line mode
This setting has two effects: the vertical size allocation is increased and wrapping is enabled if true. Default: false.
This method is ineffective if the text class is set by
Self::with_class
to anything other than TextClass::Edit
.
sourcepub fn with_class(self, class: TextClass) -> EditBox<G>
pub fn with_class(self, class: TextClass) -> EditBox<G>
Set the text class used
sourcepub fn with_lines(self, min_lines: i32, ideal_lines: i32) -> EditBox<G>
pub fn with_lines(self, min_lines: i32, ideal_lines: i32) -> EditBox<G>
Adjust the height allocation (inline)
sourcepub fn with_width_em(self, min_em: f32, ideal_em: f32) -> EditBox<G>
pub fn with_width_em(self, min_em: f32, ideal_em: f32) -> EditBox<G>
Adjust the width allocation (inline)
Methods from Deref<Target = EditField<G>>§
sourcepub fn is_editable(&self) -> bool
pub fn is_editable(&self) -> bool
Get whether this EditField
is editable
sourcepub fn set_editable(&mut self, editable: bool)
pub fn set_editable(&mut self, editable: bool)
Set whether this EditField
is editable
sourcepub fn multi_line(&self) -> bool
pub fn multi_line(&self) -> bool
True if the editor uses multi-line mode
See also: Self::with_multi_line
sourcepub fn set_width_em(&mut self, min_em: f32, ideal_em: f32)
pub fn set_width_em(&mut self, min_em: f32, ideal_em: f32)
Adjust the width allocation
sourcepub fn has_key_focus(&self) -> bool
pub fn has_key_focus(&self) -> bool
Get whether the widget currently has keyboard input focus
sourcepub fn set_error_state(&mut self, error_state: bool)
pub fn set_error_state(&mut self, error_state: bool)
Set the error state
When true, the input field’s background is drawn red.
Trait Implementations§
source§impl<G> Layout for EditBox<G>where
G: EditGuard,
impl<G> Layout for EditBox<G>where G: EditGuard,
source§impl<G> Scrollable for EditBox<G>where
G: EditGuard,
impl<G> Scrollable for EditBox<G>where G: EditGuard,
source§impl<G> Widget for EditBox<G>where
G: EditGuard,
impl<G> Widget for EditBox<G>where G: EditGuard,
source§fn handle_message(&mut self, mgr: &mut EventMgr<'_>)
fn handle_message(&mut self, mgr: &mut EventMgr<'_>)
source§fn handle_scroll(&mut self, mgr: &mut EventMgr<'_>, _: Scroll)
fn handle_scroll(&mut self, mgr: &mut EventMgr<'_>, _: Scroll)
source§fn translation(&self) -> Offset
fn translation(&self) -> Offset
source§impl<G> WidgetChildren for EditBox<G>where
G: EditGuard,
impl<G> WidgetChildren for EditBox<G>where G: EditGuard,
source§fn num_children(&self) -> usize
fn num_children(&self) -> usize
source§fn get_child(&self, _index: usize) -> Option<&dyn Widget>
fn get_child(&self, _index: usize) -> Option<&dyn Widget>
None
if the index is
out of bounds. Read moresource§fn get_child_mut(&mut self, _index: usize) -> Option<&mut dyn Widget>
fn get_child_mut(&mut self, _index: usize) -> Option<&mut dyn Widget>
source§impl<G> WidgetCore for EditBox<G>where
G: EditGuard,
impl<G> WidgetCore for EditBox<G>where G: EditGuard,
source§fn widget_name(&self) -> &'static str
fn widget_name(&self) -> &'static str
source§fn as_widget_mut(&mut self) -> &mut dyn Widget
fn as_widget_mut(&mut self) -> &mut dyn Widget
Auto Trait Implementations§
impl<G> RefUnwindSafe for EditBox<G>where G: RefUnwindSafe,
impl<G = ()> !Send for EditBox<G>
impl<G = ()> !Sync for EditBox<G>
impl<G> Unpin for EditBox<G>where G: Unpin,
impl<G> UnwindSafe for EditBox<G>where G: UnwindSafe,
Blanket Implementations§
source§impl<W> AdaptWidget for Wwhere
W: Widget + ?Sized,
impl<W> AdaptWidget for Wwhere W: Widget + ?Sized,
source§fn map_msg<M, N, F>(self, f: F) -> MapMessage<Self, M, N, F>where
M: Debug,
N: Debug,
Self: Sized,
F: FnMut(M) -> N,
fn map_msg<M, N, F>(self, f: F) -> MapMessage<Self, M, N, F>where M: Debug, N: Debug, Self: Sized, F: FnMut(M) -> N,
source§fn with_reserve<R>(self, r: R) -> Reserve<Self, R>where
R: FnMut(SizeMgr<'_>, AxisInfo) -> SizeRules,
Self: Sized,
fn with_reserve<R>(self, r: R) -> Reserve<Self, R>where R: FnMut(SizeMgr<'_>, AxisInfo) -> SizeRules, Self: Sized,
source§fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self, WithMinSizePx>where
Self: Sized,
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self, WithMinSizePx>where Self: Sized,
source§fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self, WithMinSizeEm>where
Self: Sized,
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self, WithMinSizeEm>where Self: Sized,
source§fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>where
D: Directional,
T: Into<AccelString>,
Self: Sized,
fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>where D: Directional, T: Into<AccelString>, Self: Sized,
§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere T: ConvApprox<S>,
§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
§fn cast_approx(self) -> T
fn cast_approx(self) -> T
§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere T: ConvFloat<S>,
§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
§fn cast_floor(self) -> T
fn cast_floor(self) -> T
§fn try_cast_trunc(self) -> Result<T, Error>
fn try_cast_trunc(self) -> Result<T, Error>
§fn try_cast_nearest(self) -> Result<T, Error>
fn try_cast_nearest(self) -> Result<T, Error>
§fn try_cast_floor(self) -> Result<T, Error>
fn try_cast_floor(self) -> Result<T, Error>
§fn try_cast_ceil(self) -> Result<T, Error>
fn try_cast_ceil(self) -> Result<T, Error>
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>
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.source§impl<W> WidgetExt for Wwhere
W: Widget + ?Sized,
impl<W> WidgetExt for Wwhere W: Widget + ?Sized,
source§fn eq_id<T>(&self, rhs: T) -> boolwhere
WidgetId: PartialEq<T>,
fn eq_id<T>(&self, rhs: T) -> boolwhere WidgetId: PartialEq<T>,
source§fn identify(&self) -> IdentifyWidget
fn identify(&self) -> IdentifyWidget
source§fn is_ancestor_of(&self, id: &WidgetId) -> bool
fn is_ancestor_of(&self, id: &WidgetId) -> bool
id
is self or a descendant Read moresource§fn is_strict_ancestor_of(&self, id: &WidgetId) -> bool
fn is_strict_ancestor_of(&self, id: &WidgetId) -> bool
id
is not self and is a descendant Read more