Search documentation of wx

# View Source wxSpinButton (wx v2.4.3)

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

Link to this type

# wxSpinButton()

View Source

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

# Functions

Link to this function

# create(This, Parent)

View Source

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

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

Link to this function

# create/3

View Source

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

Link to this function

# destroy(This)

View Source

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

Destroys the object

Link to this function

# getMax(This)

View Source

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

Returns the maximum permissible value.

See: `setRange/3`

Link to this function

# getMin(This)

View Source

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

Returns the minimum permissible value.

See: `setRange/3`

Link to this function

# getValue(This)

View Source

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

Returns the current spin button value.

See: `setValue/2`

Link to this function

# new()

View Source

    -spec new() -> wxSpinButton().

Default constructor.

Link to this function

# new(Parent)

View Source

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

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

Link to this function

# new/2

View Source

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

Link to this function

# setRange(This, Min, Max)

View Source

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

Link to this function

# setValue(This, Value)

View Source

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

Sets the value of the spin button.