pub struct NumberInput { /* private fields */ }Expand description
A numeric input. Create with cx.new(|cx| NumberInput::new(cx)).
Implementations§
Source§impl NumberInput
impl NumberInput
pub fn new(cx: &mut Context<'_, Self>) -> Self
pub fn value(self, value: f64) -> Self
pub fn min(self, min: f64) -> Self
pub fn max(self, max: f64) -> Self
pub fn step(self, step: f64) -> Self
pub fn label(self, label: impl Into<SharedString>) -> Self
pub fn description(self, description: impl Into<SharedString>) -> Self
pub fn error(self, error: impl Into<SharedString>) -> Self
pub fn size(self, size: Size) -> Self
pub fn disabled(self, disabled: bool) -> Self
Sourcepub fn value_f64(&self) -> Option<f64>
pub fn value_f64(&self) -> Option<f64>
The current parsed value, or None if the buffer isn’t a number.
Sourcepub fn bind(entity: &Entity<NumberInput>, signal: &Signal<f64>, cx: &mut App)
pub fn bind(entity: &Entity<NumberInput>, signal: &Signal<f64>, cx: &mut App)
Two-way bind this input’s value to a Signal<f64>. The signal is the
source of truth: the input adopts its value now (clamped to min/max),
edits write back through Signal::set_if_changed, and signal writes
replace the buffer without emitting NumberInputEvent. Equality
guards on both directions prevent update loops.
Sourcepub fn set_value(&mut self, value: f64, cx: &mut Context<'_, Self>)
pub fn set_value(&mut self, value: f64, cx: &mut Context<'_, Self>)
Set the value programmatically, clamped to min/max. Does not emit — a host that changed the value already knows.
Source§impl NumberInput
impl NumberInput
Sourcepub fn tab_index(self, index: isize) -> Self
pub fn tab_index(self, index: isize) -> Self
Where this field sits in the window’s Tab order. Fields default to 0, which walks them in render order; set this only to override that.
Sourcepub fn tab_stop(self, tab_stop: bool) -> Self
pub fn tab_stop(self, tab_stop: bool) -> Self
Leave the field out of the Tab order without disabling it.
Sourcepub fn focus_handle(&self) -> FocusHandle
pub fn focus_handle(&self) -> FocusHandle
The field’s focus handle, so a host can focus it on open.
Trait Implementations§
Source§impl EntityInputHandler for NumberInput
impl EntityInputHandler for NumberInput
Source§fn text_for_range(
&mut self,
range_utf16: Range<usize>,
actual: &mut Option<Range<usize>>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<String>
fn text_for_range( &mut self, range_utf16: Range<usize>, actual: &mut Option<Range<usize>>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<String>
InputHandler::text_for_range for detailsSource§fn selected_text_range(
&mut self,
_ignore_disabled: bool,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<UTF16Selection>
fn selected_text_range( &mut self, _ignore_disabled: bool, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<UTF16Selection>
InputHandler::selected_text_range for detailsSource§fn marked_text_range(
&self,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<Range<usize>>
fn marked_text_range( &self, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<Range<usize>>
InputHandler::marked_text_range for detailsSource§fn unmark_text(&mut self, _window: &mut Window, _cx: &mut Context<'_, Self>)
fn unmark_text(&mut self, _window: &mut Window, _cx: &mut Context<'_, Self>)
InputHandler::unmark_text for detailsSource§fn replace_text_in_range(
&mut self,
range_utf16: Option<Range<usize>>,
text: &str,
_window: &mut Window,
cx: &mut Context<'_, Self>,
)
fn replace_text_in_range( &mut self, range_utf16: Option<Range<usize>>, text: &str, _window: &mut Window, cx: &mut Context<'_, Self>, )
InputHandler::replace_text_in_range for detailsSource§fn replace_and_mark_text_in_range(
&mut self,
range_utf16: Option<Range<usize>>,
text: &str,
selected_utf16: Option<Range<usize>>,
_window: &mut Window,
cx: &mut Context<'_, Self>,
)
fn replace_and_mark_text_in_range( &mut self, range_utf16: Option<Range<usize>>, text: &str, selected_utf16: Option<Range<usize>>, _window: &mut Window, cx: &mut Context<'_, Self>, )
InputHandler::replace_and_mark_text_in_range for detailsSource§fn bounds_for_range(
&mut self,
range_utf16: Range<usize>,
bounds: Bounds<Pixels>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<Bounds<Pixels>>
fn bounds_for_range( &mut self, range_utf16: Range<usize>, bounds: Bounds<Pixels>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<Bounds<Pixels>>
InputHandler::bounds_for_range for detailsSource§fn character_index_for_point(
&mut self,
point: Point<Pixels>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<usize>
fn character_index_for_point( &mut self, point: Point<Pixels>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<usize>
InputHandler::character_index_for_point for detailsimpl EventEmitter<NumberInputEvent> for NumberInput
Source§impl LineEditor for NumberInput
impl LineEditor for NumberInput
Source§fn line_filter(&self, text: String) -> String
fn line_filter(&self, text: String) -> String
Only what can spell a number gets in — by typing, by IME, or by paste.
fn edit(&self) -> &TextEdit
fn edit_mut(&mut self) -> &mut TextEdit
fn line(&self) -> &LineState
fn line_mut(&mut self) -> &mut LineState
fn line_focus(&self) -> &FocusHandle
Source§fn line_read_only(&self) -> bool
fn line_read_only(&self) -> bool
Source§fn line_changed(&mut self, cx: &mut Context<'_, Self>)
fn line_changed(&mut self, cx: &mut Context<'_, Self>)
cx.notify on the host’s behalf; do it here.Source§fn line_masked(&self) -> bool
fn line_masked(&self) -> bool
Source§fn line_max_length(&self) -> Option<usize>
fn line_max_length(&self) -> Option<usize>
<input maxlength> is.Source§impl Render for NumberInput
impl Render for NumberInput
Auto Trait Implementations§
impl !RefUnwindSafe for NumberInput
impl !UnwindSafe for NumberInput
impl Freeze for NumberInput
impl Send for NumberInput
impl Sync for NumberInput
impl Unpin for NumberInput
impl UnsafeUnpin for NumberInput
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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