2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: spinctrl.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxSpinCtrl
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxSpinCtrl
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-10-05 07:24:00 -04:00
|
|
|
wxSpinCtrl combines wxTextCtrl and wxSpinButton in one control.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@beginStyleTable
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxSP_ARROW_KEYS}
|
2008-09-14 15:50:30 -04:00
|
|
|
The user can use arrow keys to change the value.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxSP_WRAP}
|
2008-09-14 15:50:30 -04:00
|
|
|
The value wraps at the minimum and maximum.
|
|
|
|
@style{wxTE_PROCESS_ENTER}
|
|
|
|
Indicates that the control should generate wxEVT_COMMAND_TEXT_ENTER
|
|
|
|
events. Using this style will prevent the user from using the Enter key
|
|
|
|
for dialog navigation (e.g. activating the default button in the
|
|
|
|
dialog) under MSW.
|
2008-03-08 08:52:38 -05:00
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-10-05 07:24:00 -04:00
|
|
|
|
|
|
|
@beginEventTable{wxSpinEvent}
|
|
|
|
@event{EVT_SPINCTRL(id, func)}
|
|
|
|
Generated whenever the numeric value of the spinctrl is updated
|
|
|
|
@endEventTable
|
|
|
|
|
|
|
|
You may also use the wxSpinButton event macros, however the corresponding events
|
|
|
|
will not be generated under all platforms. Finally, if the user modifies the
|
|
|
|
text in the edit part of the spin control directly, the EVT_TEXT is generated,
|
|
|
|
like for the wxTextCtrl. When the use enters text into the text area, the text
|
|
|
|
is not validated until the control loses focus (e.g. by using the TAB key).
|
|
|
|
The value is then adjusted to the range and a wxSpinEvent sent then if the value
|
|
|
|
is different from the last value sent.
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
|
|
|
@category{ctrl}
|
2008-05-02 00:52:42 -04:00
|
|
|
<!-- @appearance{spinctrl.png} -->
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-08-18 07:41:27 -04:00
|
|
|
@see wxSpinButton, wxSpinCtrlDouble, wxControl
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
class wxSpinCtrl : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
2008-05-24 15:37:12 -04:00
|
|
|
Default constructor.
|
|
|
|
*/
|
|
|
|
wxSpinCtrl();
|
2008-10-05 07:24:00 -04:00
|
|
|
|
2008-05-24 15:37:12 -04:00
|
|
|
/**
|
2008-03-08 08:52:38 -05:00
|
|
|
Constructor, creating and showing a spin control.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param parent
|
2008-03-09 08:33:59 -04:00
|
|
|
Parent window. Must not be @NULL.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param value
|
2008-05-24 15:37:12 -04:00
|
|
|
Default value (as text).
|
2008-03-08 09:43:31 -05:00
|
|
|
@param id
|
2008-03-09 08:33:59 -04:00
|
|
|
Window identifier. The value wxID_ANY indicates a default value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param pos
|
2008-10-05 07:24:00 -04:00
|
|
|
Window position.
|
|
|
|
If wxDefaultPosition is specified then a default position is chosen.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param size
|
2008-10-05 07:24:00 -04:00
|
|
|
Window size.
|
|
|
|
If wxDefaultSize is specified then a default size is chosen.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-03-09 08:33:59 -04:00
|
|
|
Window style. See wxSpinButton.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param min
|
2008-03-09 08:33:59 -04:00
|
|
|
Minimal value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param max
|
2008-03-09 08:33:59 -04:00
|
|
|
Maximal value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param initial
|
2008-03-09 08:33:59 -04:00
|
|
|
Initial value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param name
|
2008-03-09 08:33:59 -04:00
|
|
|
Window name.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-09 08:33:59 -04:00
|
|
|
@see Create()
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
wxSpinCtrl(wxWindow* parent, wxWindowID id = -1,
|
|
|
|
const wxString& value = wxEmptyString,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxSP_ARROW_KEYS,
|
|
|
|
int min = 0, int max = 100,
|
2008-08-18 07:41:27 -04:00
|
|
|
int initial = 0, const wxString& name = _T("wxSpinCtrl"));
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Creation function called by the spin control constructor.
|
|
|
|
See wxSpinCtrl() for details.
|
|
|
|
*/
|
|
|
|
bool Create(wxWindow* parent, wxWindowID id = -1,
|
|
|
|
const wxString& value = wxEmptyString,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = wxSP_ARROW_KEYS,
|
|
|
|
int min = 0, int max = 100,
|
2008-08-18 07:41:27 -04:00
|
|
|
int initial = 0, const wxString& name = _T("wxSpinCtrl"));
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Gets maximal allowable value.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
int GetMax() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Gets minimal allowable value.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
int GetMin() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Gets the value of the spin control.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
int GetValue() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets range of allowable values.
|
|
|
|
*/
|
|
|
|
void SetRange(int minVal, int maxVal);
|
|
|
|
|
|
|
|
/**
|
2008-03-08 09:43:31 -05:00
|
|
|
Select the text in the text part of the control between positions
|
2008-10-05 07:24:00 -04:00
|
|
|
@a from (inclusive) and @a to (exclusive).
|
|
|
|
This is similar to wxTextCtrl::SetSelection().
|
|
|
|
|
2008-03-28 12:19:12 -04:00
|
|
|
@note this is currently only implemented for Windows and generic versions
|
2008-10-05 07:24:00 -04:00
|
|
|
of the control.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
void SetSelection(long from, long to);
|
|
|
|
|
|
|
|
/**
|
2008-05-24 15:37:12 -04:00
|
|
|
Sets the value of the spin control. Use the variant using int instead.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-09-27 07:21:10 -04:00
|
|
|
virtual void SetValue(const wxString& text);
|
2008-05-24 15:37:12 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the value of the spin control.
|
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
void SetValue(int value);
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|