/////////////////////////////////////////////////////////////////////////////
// Name: spinbutt.h
-// Purpose: interface of wxSpinEvent
+// Purpose: interface of wxSpinEvent, wxSpinButton
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/**
@class wxSpinEvent
- This event class is used for the events generated by
- wxSpinButton and wxSpinCtrl.
+ This event class is used for the events generated by wxSpinButton and wxSpinCtrl.
+
+ @beginEventTable{wxSpinEvent}
+ @event{EVT_SPIN(id, func)}
+ Generated whenever an arrow is pressed.
+ @event{EVT_SPIN_UP(id, func)}
+ Generated when left/up arrow is pressed.
+ @event{EVT_SPIN_DOWN(id, func)}
+ Generated when right/down arrow is pressed.
+ @endEventTable
+
+ Note that if you handle both SPIN and UP or DOWN events, you will be notified
+ about each of them twice: first the UP/DOWN event will be received and then,
+ if it wasn't vetoed, the SPIN event will be sent.
@library{wxcore}
@category{events}
/**
@class wxSpinButton
- 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.
+ 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 @c -0x8000 to @c 0x7fff. Under GTK and
- Win32 with sufficiently new version of @c comctrl32.dll (at least 4.71 is
- required, 5.80 is recommended) the full 32 bit range is supported.
+ platform but is at least @c -0x8000 to @c 0x7fff. Under GTK and
+ Win32 with sufficiently new version of @c comctrl32.dll (at least 4.71
+ is required, 5.80 is recommended) the full 32 bit range is supported.
@beginStyleTable
@style{wxSP_HORIZONTAL}
The value wraps at the minimum and maximum.
@endStyleTable
+ @beginEventTable{wxSpinEvent}
+ @event{EVT_SPIN(id, func)}
+ Generated whenever an arrow is pressed.
+ @event{EVT_SPIN_UP(id, func)}
+ Generated when left/up arrow is pressed.
+ @event{EVT_SPIN_DOWN(id, func)}
+ Generated when right/down arrow is pressed.
+ @endEventTable
+
+ Note that if you handle both SPIN and UP or DOWN events, you will be notified
+ about each of them twice: first the UP/DOWN event will be received and then,
+ if it wasn't vetoed, the SPIN event will be sent.
+
@library{wxcore}
@category{ctrl}
- <!-- @appearance{spinbutton.png} -->
+ @appearance{spinbutton.png}
@see wxSpinCtrl
*/
Default constructor.
*/
wxSpinButton();
-
+
/**
Constructor, creating and showing a spin button.
@param id
Window identifier. The value wxID_ANY indicates a default value.
@param pos
- Window position. If wxDefaultPosition is specified then a default
- position is chosen.
+ Window position.
+ If wxDefaultPosition is specified then a default position is chosen.
@param size
- Window size. If wxDefaultSize is specified then a default size
- is chosen.
+ Window size.
+ If wxDefaultSize is specified then a default size is chosen.
@param style
- Window style. See wxSpinButton.
+ Window style. See wxSpinButton class description.
@param name
Window name.
@see Create()
*/
- wxSpinButton(wxWindow* parent, wxWindowID id,
+ wxSpinButton(wxWindow* parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxSP_HORIZONTAL,
+ long style = wxSP_VERTICAL,
const wxString& name = "spinButton");
/**
Destructor, destroys the spin button control.
*/
- ~wxSpinButton();
+ virtual ~wxSpinButton();
/**
Scrollbar creation function called by the spin button constructor.
See wxSpinButton() for details.
*/
- bool Create(wxWindow* parent, wxWindowID id,
+ bool Create(wxWindow* parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxSP_HORIZONTAL,
- const wxString& name = "spinButton");
+ long style = wxSP_VERTICAL,
+ const wxString& name = "wxSpinButton");
/**
Returns the maximum permissible value.
@see SetRange()
*/
- int GetMax() const;
+ virtual int GetMax() const;
/**
Returns the minimum permissible value.
@see SetRange()
*/
- int GetMin() const;
+ virtual int GetMin() const;
/**
Returns the current spin button value.
@see SetValue()
*/
- int GetValue() const;
+ virtual int GetValue() const;
/**
Sets the range of the spin button.
@see GetMin(), GetMax()
*/
- void SetRange(int min, int max);
+ virtual void SetRange(int min, int max);
/**
Sets the value of the spin button.
@param value
The value for the spin button.
*/
- void SetValue(int value);
+ virtual void SetValue(int value);
};