]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/spinctrl.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxSpinCtrl
4 // Author: wxWidgets team
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
12 wxSpinCtrl combines wxTextCtrl and wxSpinButton in one control.
15 @style{wxSP_ARROW_KEYS}
16 The user can use arrow keys to change the value.
18 The value wraps at the minimum and maximum.
19 @style{wxTE_PROCESS_ENTER}
20 Indicates that the control should generate wxEVT_COMMAND_TEXT_ENTER
21 events. Using this style will prevent the user from using the Enter key
22 for dialog navigation (e.g. activating the default button in the
25 Same as wxTE_LEFT for wxTextCtrl: the text is left aligned.
26 @style{wxALIGN_CENTRE}
27 Same as wxTE_CENTRE for wxTextCtrl: the text is centered.
29 Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is
34 @beginEventEmissionTable{wxSpinEvent}
35 @event{EVT_SPINCTRL(id, func)}
36 Generated whenever the numeric value of the spinctrl is updated
39 You may also use the wxSpinButton event macros, however the corresponding events
40 will not be generated under all platforms. Finally, if the user modifies the
41 text in the edit part of the spin control directly, the EVT_TEXT is generated,
42 like for the wxTextCtrl. When the use enters text into the text area, the text
43 is not validated until the control loses focus (e.g. by using the TAB key).
44 The value is then adjusted to the range and a wxSpinEvent sent then if the value
45 is different from the last value sent.
49 @appearance{spinctrl.png}
51 @see wxSpinButton, wxSpinCtrlDouble, wxControl
53 class wxSpinCtrl
: public wxControl
62 Constructor, creating and showing a spin control.
65 Parent window. Must not be @NULL.
67 Default value (as text).
69 Window identifier. The value wxID_ANY indicates a default value.
72 If ::wxDefaultPosition is specified then a default position is chosen.
75 If ::wxDefaultSize is specified then a default size is chosen.
77 Window style. See wxSpinButton.
89 wxSpinCtrl(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
90 const wxString
& value
= wxEmptyString
,
91 const wxPoint
& pos
= wxDefaultPosition
,
92 const wxSize
& size
= wxDefaultSize
,
93 long style
= wxSP_ARROW_KEYS
,
94 int min
= 0, int max
= 100,
95 int initial
= 0, const wxString
& name
= "wxSpinCtrl");
98 Creation function called by the spin control constructor.
99 See wxSpinCtrl() for details.
101 bool Create(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
102 const wxString
& value
= wxEmptyString
,
103 const wxPoint
& pos
= wxDefaultPosition
,
104 const wxSize
& size
= wxDefaultSize
,
105 long style
= wxSP_ARROW_KEYS
, int min
= 0, int max
= 100,
106 int initial
= 0, const wxString
& name
= "wxSpinCtrl");
109 Gets maximal allowable value.
114 Gets minimal allowable value.
119 Gets the value of the spin control.
121 int GetValue() const;
124 Sets range of allowable values.
126 void SetRange(int minVal
, int maxVal
);
129 Select the text in the text part of the control between positions
130 @a from (inclusive) and @a to (exclusive).
131 This is similar to wxTextCtrl::SetSelection().
133 @note this is currently only implemented for Windows and generic versions
136 virtual void SetSelection(long from
, long to
);
139 Sets the value of the spin control. Use the variant using int instead.
141 virtual void SetValue(const wxString
& text
);
144 Sets the value of the spin control.
146 void SetValue(int value
);
150 @class wxSpinCtrlDouble
152 wxSpinCtrlDouble combines wxTextCtrl and wxSpinButton in one control and
153 displays a real number. (wxSpinCtrl displays an integer.)
156 @style{wxSP_ARROW_KEYS}
157 The user can use arrow keys to change the value.
159 The value wraps at the minimum and maximum.
162 @beginEventEmissionTable{wxSpinDoubleEvent}
163 @event{EVT_SPINCTRLDOUBLE(id, func)}
164 Generated whenever the numeric value of the spin control is changed,
165 that is, when the up/down spin button is clicked, when ENTER is pressed,
166 or the control loses focus and the new value is different from the last.
167 See wxSpinDoubleEvent.
172 @appearance{spinctrldouble.png}
174 @see wxSpinButton, wxSpinCtrl, wxControl
176 class wxSpinCtrlDouble
: public wxControl
185 Constructor, creating and showing a spin control.
188 Parent window. Must not be @NULL.
190 Default value (as text).
192 Window identifier. The value wxID_ANY indicates a default value.
195 If ::wxDefaultPosition is specified then a default position is chosen.
198 If ::wxDefaultSize is specified then a default size is chosen.
200 Window style. See wxSpinButton.
214 wxSpinCtrlDouble(wxWindow
* parent
, wxWindowID id
= -1,
215 const wxString
& value
= wxEmptyString
,
216 const wxPoint
& pos
= wxDefaultPosition
,
217 const wxSize
& size
= wxDefaultSize
,
218 long style
= wxSP_ARROW_KEYS
,
219 double min
= 0, double max
= 100,
220 double initial
= 0, double inc
= 1,
221 const wxString
& name
= wxT("wxSpinCtrlDouble"));
224 Creation function called by the spin control constructor.
225 See wxSpinCtrlDouble() for details.
227 bool Create(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
228 const wxString
& value
= wxEmptyString
,
229 const wxPoint
& pos
= wxDefaultPosition
,
230 const wxSize
& size
= wxDefaultSize
,
231 long style
= wxSP_ARROW_KEYS
, double min
= 0, double max
= 100,
232 double initial
= 0, double inc
= 1,
233 const wxString
& name
= "wxSpinCtrlDouble");
236 Gets the number of digits in the display.
238 unsigned int GetDigits() const;
241 Gets the increment value.
243 double GetIncrement() const;
246 Gets maximal allowable value.
248 double GetMax() const;
251 Gets minimal allowable value.
253 double GetMin() const;
256 Gets the value of the spin control.
258 double GetValue() const;
261 Sets the number of digits in the display.
263 void SetDigits(unsigned int digits
);
266 Sets the increment value.
268 void SetIncrement(double inc
);
271 Sets range of allowable values.
273 void SetRange(double minVal
, double maxVal
);
276 Sets the value of the spin control. Use the variant using double instead.
278 virtual void SetValue(const wxString
& text
);
281 Sets the value of the spin control.
283 void SetValue(double value
);
287 @class wxSpinDoubleEvent
289 This event class is used for the events generated by wxSpinCtrlDouble.
291 @beginEventTable{wxSpinDoubleEvent}
292 @event{EVT_SPINCTRLDOUBLE(id, func)}
293 Generated whenever the numeric value of the spin control is changed,
294 that is, when the up/down spin button is clicked, when ENTER is pressed,
295 or the control loses focus and the new value is different from the last.
296 See wxSpinDoubleEvent.
302 @see wxSpinCtrlDouble
304 class wxSpinDoubleEvent
: public wxNotifyEvent
308 The constructor. Not normally used by the user code.
310 wxSpinDoubleEvent(wxEventType commandType
= wxEVT_NULL
, int winid
= 0,
314 The copy constructor.
316 wxSpinDoubleEvent(const wxSpinDoubleEvent
& event
);
319 Returns the value associated with this spin control event.
321 double GetValue() const;
324 Set the value associated with the event.
325 (Not normally used by user code.)
327 void SetValue(double value
);