A labelled numeric - value + row: label left, stepper box right. Clicking -/+ changes by step, clamped to [min, max]; holding repeats after a delay with acceleration. Clicking the value itself types a number directly (Enter/blur commits, Escape cancels). onChange(value) fires on every change; decimals controls display rounding.

Constructor

@:value({ step : 1 })new(label:String, width:Float, value:Float, step:Float = 1, ?onChange:Float ‑> Void)

Parameters:

label

the row text on the left

width

layout width (the stepper box sits at the right edge)

value

the initial value

step

the per-click delta

onChange

fired on every value change (clicks, holds and typed commits)

Variables

boxWidth:Float

Width of the - value + box on the right.

@:value(0)decimals:Int = 0

@:value("")fallback:String = ""

@:value(12)fontSize:Int = 12

@:value(null)key:String = null

label:String

@:value(1e15)max:Float = 1e15

@:value(-1e15)min:Float = -1e15

@:value(1)step:Float = 1

@:value("")suffix:String = ""

Text appended after the value (e.g. " ms", "X", "%"); rendered in the box.

value:Float

@:value(null)onChange:Float ‑> Void = null

Methods

@:value({ multiplier : 1 })bump(dir:Int, multiplier:Float = 1):Void

Applies a delta and notifies onChange.

Parameters:

dir

-1 or +1 (0 is ignored)

multiplier

scales the step for accelerated input

localize(key:String, fallback:String):Void

Switches the label to a localized string.

Parameters:

key

the translation key

fallback

the source-language text

onKeyDown(keyCode:Int, charCode:Int, ctrl:Bool, shift:Bool, alt:Bool):Bool

Inherited Variables

Defined by UIComponent

@:value(true)enabled:Bool = true

Disabled widgets ignore the pointer and typically render dimmed.

@:value(0)read onlyh:Float = 0

Layout height in UI units.

@:value(MouseCursor.BUTTON)hoverCursor:MouseCursor = MouseCursor.BUTTON

Native cursor while hovering (interactive widgets; null keeps the arrow).

@:value(false)read onlyhovered:Bool = false

true while the cursor is over this widget.

@:value(null)onClick:() ‑> Void = null

Fired on a completed click (press + release on this widget).

@:value(null)onHover:() ‑> Void = null

Fired when the cursor first enters this widget (hover-driven descriptions/previews).

@:value(null)onRightClick:() ‑> Void = null

Fired on a right mouse press over this widget (context menus).

@:value(false)read onlypressed:Bool = false

true while a press that started here is held.

@:value(null)tooltip:String = null

Optional tooltip text (already-localized or a fixed string).

@:value(null)tooltipShortcut:String = null

Optional right-aligned shortcut hint rendered in the tooltip.

@:value(0)read onlyw:Float = 0

Layout width in UI units (independent of DisplayObject's content-derived width).

Inherited Methods

Defined by UIComponent

invalidate():Void

Schedules a repaint for the next frame (cheap; deduplicated).

resize(width:Float, height:Float):Void

Sets the layout size and repaints when it changed.

Parameters:

width

the new layout width in UI units

height

the new layout height in UI units