Struct kas_widgets::edit::EditBox
source · pub struct EditBox<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 with_guard<G: EditGuard>(self, guard: G) -> EditBox<G>
pub fn with_guard<G: EditGuard>(self, guard: G) -> EditBox<G>
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: FnMut(&str) + 'static>(self, f: F) -> EditBox<GuardUpdate<F>>
pub fn on_update<F: FnMut(&str) + 'static>(self, f: F) -> EditBox<GuardUpdate<F>>
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: EditGuard> EditBox<G>
impl<G: EditGuard> EditBox<G>
sourcepub fn with_editable(self, editable: bool) -> Self
pub fn with_editable(self, editable: bool) -> Self
Set whether this widget is editable (inline)
sourcepub fn with_multi_line(self, multi_line: bool) -> Self
pub fn with_multi_line(self, multi_line: bool) -> Self
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) -> Self
pub fn with_class(self, class: TextClass) -> Self
Set the text class used
sourcepub fn with_lines(self, min_lines: i32, ideal_lines: i32) -> Self
pub fn with_lines(self, min_lines: i32, ideal_lines: i32) -> Self
Adjust the height allocation (inline)
sourcepub fn with_width_em(self, min_em: f32, ideal_em: f32) -> Self
pub fn with_width_em(self, min_em: f32, ideal_em: f32) -> Self
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: EditGuard> Layout for EditBox<G>
impl<G: EditGuard> Layout for EditBox<G>
source§impl<G: EditGuard> Scrollable for EditBox<G>
impl<G: EditGuard> Scrollable for EditBox<G>
source§impl<G: EditGuard> Widget for EditBox<G>
impl<G: EditGuard> Widget for EditBox<G>
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: EditGuard> WidgetChildren for EditBox<G>
impl<G: EditGuard> WidgetChildren for EditBox<G>
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: EditGuard> WidgetCore for EditBox<G>
impl<G: EditGuard> WidgetCore for EditBox<G>
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§
§impl<S, T> Cast<T> for Swhere
T: Conv<S>,
impl<S, T> Cast<T> for Swhere T: Conv<S>,
§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<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