Search documentation of wx

# View Source wxSpinButton (wx v2.4.3.1)

A `wxSpinButton` has two small up and down (or left and right) arrow buttons.

It is often used next to a text control for increment and decrementing a value. Portable programs should try to use `wxSpinCtrl` instead as `wxSpinButton` is not implemented for all platforms but `wxSpinCtrl` is as it degenerates to a simple `wxTextCtrl` on such platforms.

Note: the range supported by this control (and `wxSpinCtrl`) depends on the platform but is at least `-0x8000` to `0x7fff`. Under GTK and Win32 with sufficiently new version of `comctrl32.dll` (at least 4.71 is required, 5.80 is recommended) the full 32 bit range is supported.

## Styles

This class supports the following styles:

- wxSP_HORIZONTAL: Specifies a horizontal spin button (note that this style is not supported in wxGTK).

- wxSP_VERTICAL: Specifies a vertical spin button.

- wxSP_ARROW_KEYS: The user can use arrow keys to change the value.

- wxSP_WRAP: The value wraps at the minimum and maximum.

See: `wxSpinCtrl`

This class is derived, and can use functions, from:

- `wxControl`

- `wxWindow`

- `wxEvtHandler`

wxWidgets docs: wxSpinButton

## Events

Event types emitted from this class:

- `spin`

- `spin_up`

- `spin_down`

# Summary

## Types

wxSpinButton()

## Functions

create(This, Parent)

Equivalent to `create(This, Parent, [])`.

create/3

Scrollbar creation function called by the spin button constructor.

destroy(This)

Destroys the object

getMax(This)

Returns the maximum permissible value.

getMin(This)

Returns the minimum permissible value.

getValue(This)

Returns the current spin button value.

new()

Default constructor.

new(Parent)

Equivalent to `new(Parent, [])`.

new/2

Constructor, creating and showing a spin button.

setRange(This, Min, Max)

Sets the range of the spin button.

setValue(This, Value)

Sets the value of the spin button.

# Types

# wxSpinButton()

    -type wxSpinButton() :: wx:wx_object().

# Functions

# create(This, Parent)

    -spec create(This, Parent) -> boolean() when This :: wxSpinButton(), Parent :: wxWindow:wxWindow().

Equivalent to `create(This, Parent, [])`.

# create/3

    -spec create(This, Parent, [Option]) -> boolean()
                    when
                        This :: wxSpinButton(),
                        Parent :: wxWindow:wxWindow(),
                        Option ::
                            {id, integer()} |
                            {pos, {X :: integer(), Y :: integer()}} |
                            {size, {W :: integer(), H :: integer()}} |
                            {style, integer()}.

Scrollbar creation function called by the spin button constructor.

See `new/2` for details.

# destroy(This)

    -spec destroy(This :: wxSpinButton()) -> ok.

Destroys the object

# getMax(This)

    -spec getMax(This) -> integer() when This :: wxSpinButton().

Returns the maximum permissible value.

See: `setRange/3`

# getMin(This)

    -spec getMin(This) -> integer() when This :: wxSpinButton().

Returns the minimum permissible value.

See: `setRange/3`

# getValue(This)

    -spec getValue(This) -> integer() when This :: wxSpinButton().

Returns the current spin button value.

See: `setValue/2`

# new()

    -spec new() -> wxSpinButton().

Default constructor.

# new(Parent)

    -spec new(Parent) -> wxSpinButton() when Parent :: wxWindow:wxWindow().

Equivalent to `new(Parent, [])`.

# new/2

    -spec new(Parent, [Option]) -> wxSpinButton()
                 when
                     Parent :: wxWindow:wxWindow(),
                     Option ::
                         {id, integer()} |
                         {pos, {X :: integer(), Y :: integer()}} |
                         {size, {W :: integer(), H :: integer()}} |
                         {style, integer()}.

Constructor, creating and showing a spin button.

See: `create/3`

# setRange(This, Min, Max)

    -spec setRange(This, Min, Max) -> ok when This :: wxSpinButton(), Min :: integer(), Max :: integer().

Sets the range of the spin button.

In portable code, `min` should be less than or equal to `max`. In wxMSW it is possible to specify minimum greater than maximum and the native control supports the same range as if they were reversed, but swaps the meaning of up and down arrows, however this dubious feature is not supported on other platforms.

See:

- `getMin/1`

- `getMax/1`

# setValue(This, Value)

    -spec setValue(This, Value) -> ok when This :: wxSpinButton(), Value :: integer().

Sets the value of the spin button.