wxSpinButton(3erl)

πŸ’… wxSpinButton(3erl) β€” Erlang Module Definition πŸŽ€

okay so bestie, this is the Erlang module definition for wxSpinButton(3erl) β€” the little spinny control that’s lowkey everywhere once you notice it. Let’s get into it. ✨


🌸 NAME 🌸

wxSpinButton β€” Functions for wxSpinButton class. That’s the whole vibe: it’s the function crew for the spin button class. 🫢

πŸ’– DESCRIPTION πŸ’–

A wxSpinButton has two small up and down (or left and right) arrow buttons. Tiny arrows, big main-character energy. πŸ¦‹

It is often used next to a text control for increment and decrementing a value. Very β€œsidekick that makes the whole UI work” of it. πŸ’…

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. So like, if portability is the goal, wxSpinCtrl is the safer bestie. No cap.

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. Platform range behavior is a whole thing, so keep that in mind. 😭

πŸŽ€ Styles πŸŽ€

This class supports the following styles:

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. Three little event icons, slay. ✨

πŸ¦‹ DATA TYPES πŸ¦‹

wxSpinButton() = wx:wx_object()

πŸ‘‘ EXPORTS πŸ‘‘

✨ new() -> wxSpinButton()

Default constructor. No parent, no options β€” just a fresh little spin button being born. Iconic. πŸŽ€

✨ new(Parent) -> wxSpinButton()

Types:

Parent = wxWindow:wxWindow()

✨ new(Parent, Options :: [Option]) -> wxSpinButton()

Types:

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

✨ destroy(This :: wxSpinButton()) -> ok

Destructor, destroys the spin button control. It’s the goodbye era. πŸ’”

✨ create(This, Parent) -> boolean()

Types:

This = wxSpinButton()
Parent = wxWindow:wxWindow()

✨ create(This, Parent, Options :: [Option]) -> boolean()

Types:

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.

✨ getMax(This) -> integer()

Types:

This = wxSpinButton()

Returns the maximum permissible value.

See: setRange/3

✨ getMin(This) -> integer()

Types:

This = wxSpinButton()

Returns the minimum permissible value.

See: setRange/3

✨ getValue(This) -> integer()

Types:

This = wxSpinButton()

Returns the current spin button value.

See: setValue/2

✨ setRange(This, Min, Max) -> ok

Types:

This = wxSpinButton()
Min = 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. So yeah, that reversed-minmax thing is a wxMSW-only dubious feature β€” do with that info what you will. πŸ’€

See: getMin/1, getMax/1

✨ setValue(This, Value) -> ok

Types:

This = wxSpinButton()
Value = integer()

Sets the value of the spin button.

Later, bestie πŸ’– β€” cute sign-off from the footer: source/version/page info is wxWidgets team., wx 2.2.2.1, and wxSpinButton(3erl). Mwah! 🫢
πŸ“¦ where this page comes from