]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/radiobox.h
Use wxUIntPtr instead of wxClientData in wxDataViewListCtrl.
[wxWidgets.git] / interface / wx / radiobox.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: radiobox.h
e54c96f1 3// Purpose: interface of wxRadioBox
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
526954c5 6// Licence: wxWindows licence
23324ae1
FM
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxRadioBox
7c913512 11
23324ae1
FM
12 A radio box item is used to select one of number of mutually exclusive
13 choices. It is displayed as a vertical column or horizontal row of
14 labelled buttons.
7c913512 15
23324ae1 16 @beginStyleTable
8c6791e4 17 @style{wxRA_SPECIFY_ROWS}
23324ae1 18 The major dimension parameter refers to the maximum number of rows.
8c6791e4 19 @style{wxRA_SPECIFY_COLS}
23324ae1
FM
20 The major dimension parameter refers to the maximum number of
21 columns.
23324ae1 22 @endStyleTable
7c913512 23
3051a44a 24 @beginEventEmissionTable{wxCommandEvent}
8c6791e4 25 @event{EVT_RADIOBOX(id, func)}
3ed3a1c8 26 Process a @c wxEVT_COMMAND_RADIOBOX_SELECTED event, when a radiobutton
23324ae1
FM
27 is clicked.
28 @endEventTable
7c913512 29
23324ae1
FM
30 @library{wxcore}
31 @category{ctrl}
7e59b885 32 @appearance{radiobox.png}
7c913512 33
830b7aa7 34 @see @ref overview_events, wxRadioButton, wxCheckBox
23324ae1 35*/
bf84f3e2 36class wxRadioBox : public wxControl, wxItemContainerImmutable
23324ae1
FM
37{
38public:
3ed3a1c8
BP
39
40 /**
41 Default constructor.
42
43 @see Create(), wxValidator
44 */
45 wxRadioBox();
46
23324ae1
FM
47 /**
48 Constructor, creating and showing a radiobox.
3c4f71cc 49
7c913512 50 @param parent
4cc4bfaf 51 Parent window. Must not be @NULL.
7c913512 52 @param id
3ed3a1c8 53 Window identifier. The value @c wxID_ANY indicates a default value.
7c913512 54 @param label
4cc4bfaf 55 Label for the static box surrounding the radio buttons.
7c913512 56 @param pos
76e2b570 57 Window position. If ::wxDefaultPosition is specified then a
3ed3a1c8 58 default position is chosen.
7c913512 59 @param size
76e2b570 60 Window size. If ::wxDefaultSize is specified then a default size
3ed3a1c8 61 is chosen.
7c913512 62 @param n
4cc4bfaf 63 Number of choices with which to initialize the radiobox.
7c913512 64 @param choices
4cc4bfaf 65 An array of choices with which to initialize the radiobox.
7c913512 66 @param majorDimension
3ed3a1c8
BP
67 Specifies the maximum number of rows (if style contains
68 @c wxRA_SPECIFY_ROWS) or columns (if style contains
18ff59a4
VZ
69 @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox. The default
70 value of 0 means to use the number of items, i.e. @a n.
7c913512 71 @param style
4cc4bfaf 72 Window style. See wxRadioBox.
7c913512 73 @param validator
4cc4bfaf 74 Window validator.
7c913512 75 @param name
4cc4bfaf 76 Window name.
3c4f71cc 77
1058f652
MB
78 @beginWxPerlOnly
79 Not supported by wxPerl.
80 @endWxPerlOnly
81
4cc4bfaf 82 @see Create(), wxValidator
23324ae1 83 */
7c913512
FM
84 wxRadioBox(wxWindow* parent, wxWindowID id,
85 const wxString& label,
3ed3a1c8 86 const wxPoint& pos = wxDefaultPosition,
7c913512
FM
87 const wxSize& size = wxDefaultSize,
88 int n = 0,
4cc4bfaf 89 const wxString choices[] = NULL,
18ff59a4 90 int majorDimension = 0,
7c913512
FM
91 long style = wxRA_SPECIFY_COLS,
92 const wxValidator& validator = wxDefaultValidator,
11e3af6e 93 const wxString& name = wxRadioBoxNameStr);
3ed3a1c8
BP
94
95 /**
96 Constructor, creating and showing a radiobox.
97
98 @param parent
99 Parent window. Must not be @NULL.
100 @param id
101 Window identifier. The value @c wxID_ANY indicates a default value.
102 @param label
103 Label for the static box surrounding the radio buttons.
104 @param pos
76e2b570 105 Window position. If ::wxDefaultPosition is specified then a
3ed3a1c8
BP
106 default position is chosen.
107 @param size
76e2b570 108 Window size. If ::wxDefaultSize is specified then a default size
3ed3a1c8
BP
109 is chosen.
110 @param choices
111 An array of choices with which to initialize the radiobox.
112 @param majorDimension
113 Specifies the maximum number of rows (if style contains
114 @c wxRA_SPECIFY_ROWS) or columns (if style contains
18ff59a4
VZ
115 @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox. The default
116 value of 0 means to use the number of items, i.e. number of
117 elements in @a choices.
3ed3a1c8
BP
118 @param style
119 Window style. See wxRadioBox.
120 @param validator
121 Window validator.
122 @param name
123 Window name.
124
1058f652
MB
125 @beginWxPerlOnly
126 Use an array reference for the @a choices parameter.
127 @endWxPerlOnly
128
3ed3a1c8
BP
129 @see Create(), wxValidator
130 */
7c913512
FM
131 wxRadioBox(wxWindow* parent, wxWindowID id,
132 const wxString& label,
3ed3a1c8 133 const wxPoint& pos,
7c913512
FM
134 const wxSize& size,
135 const wxArrayString& choices,
18ff59a4 136 int majorDimension = 0,
7c913512
FM
137 long style = wxRA_SPECIFY_COLS,
138 const wxValidator& validator = wxDefaultValidator,
11e3af6e 139 const wxString& name = wxRadioBoxNameStr);
23324ae1
FM
140
141 /**
142 Destructor, destroying the radiobox item.
143 */
adaaa686 144 virtual ~wxRadioBox();
23324ae1 145
23324ae1
FM
146 /**
147 Creates the radiobox for two-step construction. See wxRadioBox()
148 for further details.
149 */
150 bool Create(wxWindow* parent, wxWindowID id,
151 const wxString& label,
3ed3a1c8 152 const wxPoint& pos = wxDefaultPosition,
23324ae1
FM
153 const wxSize& size = wxDefaultSize,
154 int n = 0,
4cc4bfaf 155 const wxString choices[] = NULL,
23324ae1
FM
156 int majorDimension = 0,
157 long style = wxRA_SPECIFY_COLS,
158 const wxValidator& validator = wxDefaultValidator,
11e3af6e 159 const wxString& name = wxRadioBoxNameStr);
3ed3a1c8
BP
160
161 /**
162 Creates the radiobox for two-step construction. See wxRadioBox()
163 for further details.
164 */
7c913512
FM
165 bool Create(wxWindow* parent, wxWindowID id,
166 const wxString& label,
3ed3a1c8 167 const wxPoint& pos,
7c913512
FM
168 const wxSize& size,
169 const wxArrayString& choices,
170 int majorDimension = 0,
171 long style = wxRA_SPECIFY_COLS,
172 const wxValidator& validator = wxDefaultValidator,
11e3af6e 173 const wxString& name = wxRadioBoxNameStr);
23324ae1 174
23324ae1
FM
175 /**
176 Enables or disables an individual button in the radiobox.
3c4f71cc 177
7c913512 178 @param enable
4cc4bfaf 179 @true to enable, @false to disable.
7c913512 180 @param n
4cc4bfaf 181 The zero-based button to enable or disable.
3c4f71cc 182
3ed3a1c8
BP
183 @see wxWindow::Enable()
184
23324ae1 185 */
4cc4bfaf 186 virtual bool Enable(unsigned int n, bool enable = true);
3ed3a1c8 187
23324ae1 188 /**
f21dd16b
FM
189 Finds a button matching the given string, returning the position if found,
190 or @c wxNOT_FOUND if not found.
3c4f71cc 191
7c913512 192 @param string
4cc4bfaf 193 The string to find.
f21dd16b
FM
194 @param bCase
195 Should the search be case-sensitive?
23324ae1 196 */
f21dd16b 197 virtual int FindString(const wxString& string, bool bCase = false) const;
23324ae1
FM
198
199 /**
200 Returns the number of columns in the radiobox.
201 */
328f5751 202 unsigned int GetColumnCount() const;
23324ae1
FM
203
204 /**
205 Returns a radio box item under the point, a zero-based item index, or @c
206 wxNOT_FOUND if no item is under the point.
3c4f71cc 207
7c913512 208 @param pt
4cc4bfaf 209 Point in client coordinates.
23324ae1 210 */
43c48e1e 211 virtual int GetItemFromPoint(const wxPoint& pt) const;
23324ae1
FM
212
213 /**
4cc4bfaf 214 Returns the helptext associated with the specified @a item if any or @c
23324ae1 215 wxEmptyString.
3c4f71cc 216
7c913512 217 @param item
4cc4bfaf 218 The zero-based item index.
3c4f71cc 219
4cc4bfaf 220 @see SetItemHelpText()
23324ae1 221 */
328f5751 222 wxString GetItemHelpText(unsigned int item) const;
23324ae1
FM
223
224 /**
4cc4bfaf 225 Returns the tooltip associated with the specified @a item if any or @NULL.
3c4f71cc 226
3ed3a1c8 227 @see SetItemToolTip(), wxWindow::GetToolTip()
23324ae1 228 */
328f5751 229 wxToolTip* GetItemToolTip(unsigned int item) const;
23324ae1 230
23324ae1
FM
231 /**
232 Returns the number of rows in the radiobox.
233 */
328f5751 234 unsigned int GetRowCount() const;
23324ae1 235
23324ae1
FM
236 /**
237 Returns @true if the item is enabled or @false if it was disabled using
3ed3a1c8
BP
238 @ref Enable(unsigned int,bool) "Enable(n, false)".
239
240 This function is currently only implemented in wxMSW, wxGTK and
241 wxUniversal and always returns @true in the other ports.
3c4f71cc 242
7c913512 243 @param n
4cc4bfaf 244 The zero-based button position.
23324ae1 245 */
adaaa686 246 virtual bool IsItemEnabled(unsigned int n) const;
23324ae1
FM
247
248 /**
249 Returns @true if the item is currently shown or @false if it was hidden
3ed3a1c8
BP
250 using @ref Show(unsigned int,bool) "Show(n, false)".
251
23324ae1 252 Note that this function returns @true for an item which hadn't been hidden
3ed3a1c8
BP
253 even if the entire radiobox is not currently shown.
254
255 This function is currently only implemented in wxMSW, wxGTK and
256 wxUniversal and always returns @true in the other ports.
3c4f71cc 257
7c913512 258 @param n
4cc4bfaf 259 The zero-based button position.
23324ae1 260 */
adaaa686 261 virtual bool IsItemShown(unsigned int n) const;
23324ae1
FM
262
263 /**
264 Sets the helptext for an item. Empty string erases any existing helptext.
3c4f71cc 265
7c913512 266 @param item
4cc4bfaf 267 The zero-based item index.
7c913512 268 @param helptext
4cc4bfaf 269 The help text to set for the item.
3c4f71cc 270
4cc4bfaf 271 @see GetItemHelpText()
23324ae1
FM
272 */
273 void SetItemHelpText(unsigned int item, const wxString& helptext);
274
275 /**
276 Sets the tooltip text for the specified item in the radio group.
3ed3a1c8
BP
277
278 This function is currently only implemented in wxMSW and wxGTK2 and
279 does nothing in the other ports.
3c4f71cc 280
7c913512 281 @param item
4cc4bfaf 282 Index of the item the tooltip will be shown for.
7c913512 283 @param text
4cc4bfaf 284 Tooltip text for the item, the tooltip is removed if empty.
3c4f71cc 285
3ed3a1c8 286 @see GetItemToolTip(), wxWindow::SetToolTip()
23324ae1
FM
287 */
288 void SetItemToolTip(unsigned int item, const wxString& text);
289
290 /**
3ed3a1c8 291 Shows or hides individual buttons.
3c4f71cc 292
3ed3a1c8
BP
293 @param show
294 @true to show, @false to hide.
295 @param item
296 The zero-based position of the button to show or hide.
23324ae1 297
3ed3a1c8
BP
298 @return
299 @true if the item has been shown or hidden or @false if nothing
300 was done because it already was in the requested state.
3c4f71cc 301
3ed3a1c8
BP
302 @see
303 wxWindow::Show()
23324ae1 304
23324ae1 305 */
11e3af6e 306 virtual bool Show(unsigned int item, bool show = true);
5e0e1372
RD
307
308
309 // pure virtuals that have implementations here
310 virtual unsigned int GetCount() const;
311 virtual wxString GetString(unsigned int n) const;
312 virtual void SetString(unsigned int n, const wxString& string);
313 virtual void SetSelection(int n);
314 virtual int GetSelection() const;
315
23324ae1 316};