Skip to main content

NumberStepper

Struct NumberStepper 

Source
pub struct NumberStepper { /* private fields */ }
Expand description

Number stepper widget with +/- buttons

Implementations§

Source§

impl NumberStepper

Source

pub fn new(cx: &mut Context<'_, Self>) -> Self

Create a new number stepper

Source

pub fn with_value(self, value: f64) -> Self

Set initial value (builder pattern)

Source

pub fn min(self, min: f64) -> Self

Set minimum value (builder pattern)

Source

pub fn max(self, max: f64) -> Self

Set maximum value (builder pattern)

Source

pub fn step(self, step: f64) -> Self

Set step value for +/- buttons (builder pattern)

Source

pub fn resolution(self, resolution: f64) -> Self

Set value resolution (builder pattern)

Values will snap to (min + n * resolution) where n is an integer. For example, with min=0.5 and resolution=0.25, valid values are 0.5, 0.75, 1.0, 1.25, etc.

Source

pub fn display_precision(self, precision: usize) -> Self

Set display precision - number of decimal places to show (builder pattern)

The displayed value is rounded to this many decimal places. This is independent of the actual stored value.

Source

pub fn theme(self, theme: Theme) -> Self

Set custom theme (builder pattern)

Source

pub fn with_enabled(self, enabled: bool) -> Self

Set enabled state (builder pattern)

Source

pub fn drag_sensitivities(self, normal: f64, fast: f64, slow: f64) -> Self

Set drag sensitivities as value change per pixel (builder pattern)

Each parameter specifies how much the value changes per pixel of mouse movement:

  • normal: Value per pixel with no modifier key
  • fast: Value per pixel when Shift is held
  • slow: Value per pixel when Alt/Option is held

Example for an integer 0-100 range:

.drag_sensitivities(1.0, 10.0, 1.0)  // 1, 10, or 1 unit per pixel

Example for a float with fine control:

.drag_sensitivities(1.0, 2.0, 0.1)  // 10 pixels of slow drag = 1.0 change
Source

pub fn drag_sensitivity(self, value_per_pixel: f64) -> Self

Set normal drag sensitivity, scaling fast (5x) and slow (0.1x) proportionally

Source

pub fn manual_drag_sensitivity(self) -> Self

Disable auto-scaling of drag sensitivity based on widget width (builder pattern)

By default, when both min and max are set, the drag sensitivity is automatically calculated so that dragging across the value display covers the full range. Call this method to use the configured fixed sensitivities instead.

Source

pub fn step_multipliers(self, small: f64, large: f64) -> Self

Set step multipliers for button clicks (builder pattern)

  • small: Multiplier when Alt/Option is held (default 0.1)
  • large: Multiplier when Shift is held (default 10.0)

Example: For a step of 100, with multipliers (0.01, 10.0):

  • Normal click: step by 100
  • Alt+click: step by 1 (100 * 0.01)
  • Shift+click: step by 1000 (100 * 10.0)
Source

pub fn step_small(self, multiplier: f64) -> Self

Set small step multiplier for Alt/Option + click (builder pattern)

Source

pub fn step_large(self, multiplier: f64) -> Self

Set large step multiplier for Shift + click (builder pattern)

Source

pub fn focus_handle(&self) -> &FocusHandle

Get the focus handle

Source

pub fn is_enabled(&self) -> bool

Check if the stepper is enabled

Source

pub fn set_enabled(&mut self, enabled: bool, cx: &mut Context<'_, Self>)

Set enabled state programmatically

Source

pub fn value(&self) -> f64

Get the current value

Source

pub fn get_min(&self) -> Option<f64>

Get the minimum value constraint

Source

pub fn get_max(&self) -> Option<f64>

Get the maximum value constraint

Source

pub fn get_step(&self) -> Option<f64>

Get the step value for +/- buttons

Source

pub fn get_resolution(&self) -> Option<f64>

Get the value resolution

Source

pub fn get_display_precision(&self) -> Option<usize>

Get the display precision (decimal places)

Source

pub fn set_value(&mut self, value: f64, cx: &mut Context<'_, Self>)

Set value programmatically

Trait Implementations§

Source§

impl Focusable for NumberStepper

Source§

fn focus_handle(&self, _cx: &App) -> FocusHandle

Returns the focus handle associated with this view.
Source§

impl Render for NumberStepper

Source§

fn render( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> impl IntoElement

Render this view into an element tree.
Source§

impl EventEmitter<NumberStepperEvent> for NumberStepper

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more