]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/spinbutt.h
Removed wxPG_EX_LEGACY_VALIDATORS
[wxWidgets.git] / interface / wx / spinbutt.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: spinbutt.h
3 // Purpose: interface of wxSpinEvent
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxSpinEvent
11
12 This event class is used for the events generated by
13 wxSpinButton and wxSpinCtrl.
14
15 @library{wxcore}
16 @category{events}
17
18 @see wxSpinButton and wxSpinCtrl
19 */
20 class wxSpinEvent : public wxNotifyEvent
21 {
22 public:
23 /**
24 The constructor is not normally used by the user code.
25 */
26 wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
27
28 /**
29 Retrieve the current spin button or control value.
30 */
31 int GetPosition() const;
32
33 /**
34 Set the value associated with the event.
35 */
36 void SetPosition(int pos);
37 };
38
39
40
41 /**
42 @class wxSpinButton
43
44 A wxSpinButton has two small up and down (or left and right) arrow buttons. It
45 is often used next to a text control for increment and decrementing a value.
46 Portable programs should try to use wxSpinCtrl instead
47 as wxSpinButton is not implemented for all platforms but wxSpinCtrl is as it
48 degenerates to a simple wxTextCtrl on such platforms.
49
50 @note the range supported by this control (and wxSpinCtrl) depends on the
51 platform but is at least @c -0x8000 to @c 0x7fff. Under GTK and
52 Win32 with sufficiently new version of @c comctrl32.dll (at least 4.71 is
53 required, 5.80 is recommended) the full 32 bit range is supported.
54
55 @beginStyleTable
56 @style{wxSP_HORIZONTAL}
57 Specifies a horizontal spin button (note that this style is not
58 supported in wxGTK).
59 @style{wxSP_VERTICAL}
60 Specifies a vertical spin button.
61 @style{wxSP_ARROW_KEYS}
62 The user can use arrow keys to change the value.
63 @style{wxSP_WRAP}
64 The value wraps at the minimum and maximum.
65 @endStyleTable
66
67 @library{wxcore}
68 @category{ctrl}
69 <!-- @appearance{spinbutton.png} -->
70
71 @see wxSpinCtrl
72 */
73 class wxSpinButton : public wxControl
74 {
75 public:
76 /**
77 Default constructor.
78 */
79 wxSpinButton();
80
81 /**
82 Constructor, creating and showing a spin button.
83
84 @param parent
85 Parent window. Must not be @NULL.
86 @param id
87 Window identifier. The value wxID_ANY indicates a default value.
88 @param pos
89 Window position. If wxDefaultPosition is specified then a default
90 position is chosen.
91 @param size
92 Window size. If wxDefaultSize is specified then a default size
93 is chosen.
94 @param style
95 Window style. See wxSpinButton.
96 @param name
97 Window name.
98
99 @see Create()
100 */
101 wxSpinButton(wxWindow* parent, wxWindowID id,
102 const wxPoint& pos = wxDefaultPosition,
103 const wxSize& size = wxDefaultSize,
104 long style = wxSP_HORIZONTAL,
105 const wxString& name = "spinButton");
106
107 /**
108 Destructor, destroys the spin button control.
109 */
110 virtual ~wxSpinButton();
111
112 /**
113 Scrollbar creation function called by the spin button constructor.
114 See wxSpinButton() for details.
115 */
116 bool Create(wxWindow* parent, wxWindowID id,
117 const wxPoint& pos = wxDefaultPosition,
118 const wxSize& size = wxDefaultSize,
119 long style = wxSP_HORIZONTAL,
120 const wxString& name = "spinButton");
121
122 /**
123 Returns the maximum permissible value.
124
125 @see SetRange()
126 */
127 virtual int GetMax() const;
128
129 /**
130 Returns the minimum permissible value.
131
132 @see SetRange()
133 */
134 virtual int GetMin() const;
135
136 /**
137 Returns the current spin button value.
138
139 @see SetValue()
140 */
141 virtual int GetValue() const;
142
143 /**
144 Sets the range of the spin button.
145
146 @param min
147 The minimum value for the spin button.
148 @param max
149 The maximum value for the spin button.
150
151 @see GetMin(), GetMax()
152 */
153 virtual void SetRange(int min, int max);
154
155 /**
156 Sets the value of the spin button.
157
158 @param value
159 The value for the spin button.
160 */
161 virtual void SetValue(int value);
162 };
163