+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name: radiobox.tex
+%% Purpose: wxRadioBox documentation
+%% Author: wxWidgets Team
+%% Modified by:
+%% Created:
+%% RCS-ID: $Id$
+%% Copyright: (c) wxWidgets Team
+%% License: wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\section{\class{wxRadioBox}}\label{wxradiobox}
A radio box item is used to select one of number of mutually exclusive
\wxheading{Derived from}
+\helpref{wxControlWithItems}{wxcontrolwithitems}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/radiobox.h>
+
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxRA\_HORIZONTAL}}{Lays the radiobox out in rows.}
-\twocolitem{\windowstyle{wxRA\_VERTICAL}}{Lays the radiobox out in columns.}
+\twocolitem{\windowstyle{wxRA\_SPECIFY\_ROWS}}{The major dimension parameter refers to the
+maximum number of rows.}
+\twocolitem{\windowstyle{wxRA\_SPECIFY\_COLS}}{The major dimension parameter refers to the
+maximum number of columns.}
+\twocolitem{\windowstyle{wxRA\_USE\_CHECKBOX}}{Use of the checkbox controls instead of radio
+buttons (currently supported only on PalmOS)}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
+\wxheading{Event handling}
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf EVT\_RADIOBOX(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event,
+when a radiobutton is clicked.}
+\end{twocollist}
+
\wxheading{See also}
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioButton}{wxradiobutton},\rtfsp
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxRadioBox::wxRadioBox}\label{wxradioboxconstr}
+
+\membersection{wxRadioBox::wxRadioBox}\label{wxradioboxctor}
\func{}{wxRadioBox}{\void}
Default constructor.
-\func{}{wxRadioBox}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
+\func{}{wxRadioBox}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
\param{const wxPoint\& }{point = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
-\param{const int}{ n = 0}, \param{const wxString}{ choices[] = NULL},\rtfsp
-\param{const int}{ majorDimension = 0}, \param{const long}{ style = wxRA\_HORIZONTAL},\rtfsp
+\param{int}{ n = 0}, \param{const wxString}{ choices[] = NULL},\rtfsp
+\param{int}{ majorDimension = 0}, \param{long}{ style = wxRA\_SPECIFY\_COLS},\rtfsp
+\param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp
+\param{const wxString\& }{name = ``radioBox"}}
+
+\func{}{wxRadioBox}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
+\param{const wxPoint\& }{point}, \param{const wxSize\& }{size},\rtfsp
+\param{const wxArrayString\&}{ choices},\rtfsp
+\param{int}{ majorDimension = 0}, \param{long}{ style = wxRA\_SPECIFY\_COLS},\rtfsp
\param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp
\param{const wxString\& }{name = ``radioBox"}}
\docparam{choices}{An array of choices with which to initialize the radiobox.}
-\docparam{majorDimension}{Specifies the number of rows (if style is wxRA\_VERTICAL) or columns (if style is wxRA\_HORIZONTAL) for a two-dimensional
+\docparam{majorDimension}{Specifies the maximum number of rows (if style contains wxRA\_SPECIFY\_ROWS) or columns (if style contains wxRA\_SPECIFY\_COLS) for a two-dimensional
radiobox.}
\docparam{style}{Window style. See \helpref{wxRadioBox}{wxradiobox}.}
\helpref{wxRadioBox::Create}{wxradioboxcreate}, \helpref{wxValidator}{wxvalidator}
-\membersection{wxRadioBox::\destruct{wxRadioBox}}
+\pythonnote{The wxRadioBox constructor in wxPython reduces the {\tt n}
+and {\tt choices} arguments are to a single argument, which is
+a list of strings.}
+
+\perlnote{In wxPerl there is just an array reference in place of {\tt n}
+and {\tt choices}.}
+
+
+\membersection{wxRadioBox::\destruct{wxRadioBox}}\label{wxradioboxdtor}
\func{}{\destruct{wxRadioBox}}{\void}
Destructor, destroying the radiobox item.
+
\membersection{wxRadioBox::Create}\label{wxradioboxcreate}
-\func{bool}{Create}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
\param{const wxPoint\& }{point = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
-\param{const int}{ n = 0}, \param{const wxString}{ choices[] = NULL},\rtfsp
-\param{const int}{ majorDimension = 0}, \param{const long}{ style = wxRA\_HORIZONTAL},\rtfsp
+\param{int}{ n = 0}, \param{const wxString}{ choices[] = NULL},\rtfsp
+\param{int}{ majorDimension = 0}, \param{long}{ style = wxRA\_SPECIFY\_COLS},\rtfsp
+\param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp
+\param{const wxString\& }{name = ``radioBox"}}
+
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{label},\rtfsp
+\param{const wxPoint\& }{point}, \param{const wxSize\& }{size},\rtfsp
+\param{const wxArrayString\&}{ choices},\rtfsp
+\param{int}{ majorDimension = 0}, \param{long}{ style = wxRA\_SPECIFY\_COLS},\rtfsp
\param{const wxValidator\& }{validator = wxDefaultValidator},\rtfsp
\param{const wxString\& }{name = ``radioBox"}}
-Creates the radiobox for two-step construction. See \helpref{wxRadioBox::wxRadioBox}{wxradioboxconstr}\rtfsp
+Creates the radiobox for two-step construction. See \helpref{wxRadioBox::wxRadioBox}{wxradioboxctor}\rtfsp
for further details.
+
\membersection{wxRadioBox::Enable}\label{wxradioboxenable}
-\func{void}{Enable}{\param{const bool}{ enable}}
+\func{virtual bool}{Enable}{\param{bool}{ enable = {\tt true}}}
Enables or disables the entire radiobox.
-\func{void}{Enable}{\param{const int}{ n}, \param{const bool}{ enable}}
+\func{virtual bool}{Enable}{\param{unsigned int}{ n}, \param{bool}{ enable = {\tt true}}}
Enables or disables an individual button in the radiobox.
\wxheading{Parameters}
-\docparam{enable}{TRUE to enable, FALSE to disable.}
+\docparam{enable}{true to enable, false to disable.}
\docparam{n}{The zero-based button to enable or disable.}
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf Enable(flag)}}{Enables or disables the entire radiobox.}
+\twocolitem{{\bf EnableItem(n, flag)}}{Enables or disables an
+individual button in the radiobox.}
+\end{twocollist}}
+}
+
+\wxheading{See also}
+
+\helpref{wxWindow::Enable}{wxwindowenable}
+
+
+
\membersection{wxRadioBox::FindString}\label{wxradioboxfindstring}
\constfunc{int}{FindString}{\param{const wxString\& }{string}}
\docparam{string}{The string to find.}
+
+\membersection{wxRadioBox::GetColumnCount}\label{wxradioboxgetcolumncount}
+
+\constfunc{unsigned int}{GetColumnCount}{\void}
+
+Returns the number of columns in the radiobox.
+
+
+\membersection{wxRadioBox::GetItemToolTip}\label{wxradioboxgetitemtooltip}
+
+\constfunc{wxToolTip *}{GetItemToolTip}{\param{unsigned int}{ item}}
+
+Returns the tooltip associated with the specified \arg{item} if any or \NULL.
+
+\wxheading{See also}
+
+\helpref{SetItemToolTip}{wxradioboxsetitemtooltip},\\
+\helpref{wxWindow::GetToolTip}{wxwindowgettooltip}
+
+
\membersection{wxRadioBox::GetLabel}\label{wxradioboxgetlabel}
\constfunc{wxString}{GetLabel}{\void}
Returns the radiobox label.
-\constfunc{wxString}{GetLabel}{\param{const int }{n}}
-
-Returns the label for the given button.
-
\wxheading{Parameters}
\docparam{n}{The zero-based button index.}
\helpref{wxRadioBox::SetLabel}{wxradioboxsetlabel}
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf GetLabel()}}{Returns the radiobox label.}
+\twocolitem{{\bf GetItemLabel(n)}}{Returns the label for the given button.}
+\end{twocollist}}
+}
+
+
+\membersection{wxRadioBox::GetRowCount}\label{wxradioboxgetrowcount}
+
+\constfunc{unsigned int}{GetRowCount}{\void}
+
+Returns the number of rows in the radiobox.
+
+
\membersection{wxRadioBox::GetSelection}\label{wxradioboxgetselection}
\constfunc{int}{GetSelection}{\void}
Returns the zero-based position of the selected button.
+
\membersection{wxRadioBox::GetStringSelection}\label{wxradioboxgetstringselection}
\constfunc{wxString}{GetStringSelection}{\void}
Returns the selected string.
-\membersection{wxRadioBox::Number}\label{wxradioboxnumber}
-\constfunc{int}{Number}{\void}
+\membersection{wxRadioBox::GetString}\label{wxradioboxgetstring}
+
+\constfunc{wxString}{GetString}{\param{unsigned int}{ n}}
+
+Returns the label for the button at the given position.
+
+\wxheading{Parameters}
+
+\docparam{n}{The zero-based button position.}
+
+
+\membersection{wxRadioBox::IsItemEnabled}\label{wxradioboxisitemenabled}
+
+\constfunc{bool}{IsItemEnabled}{\param{unsigned int}{ n}}
+
+Returns \true if the item is enabled or \false if it was disabled using
+\helpref{Enable(n, false)}{wxradioboxenable}.
+
+{\bf Platform note:} Currently only implemented in wxMSW, wxGTK and wxUniversal
+and always returns \true in the other ports.
+
+\wxheading{Parameters}
+
+\docparam{n}{The zero-based button position.}
+
+
+\membersection{wxRadioBox::IsItemShown}\label{wxradioboxisitemshown}
+
+\constfunc{bool}{IsItemShown}{\param{unsigned int}{ n}}
+
+Returns \true if the item is currently shown or \false if it was hidden using
+\helpref{Show(n, false)}{wxradioboxshow}.
+
+Note that this function returns \true for an item which hadn't been hidden even
+if the entire radiobox is not currently shown.
+
+{\bf Platform note:} Currently only implemented in wxMSW, wxGTK and wxUniversal
+and always returns \true in the other ports.
+
+\wxheading{Parameters}
+
+\docparam{n}{The zero-based button position.}
-Returns the number of buttons in the radiobox.
\membersection{wxRadioBox::SetLabel}\label{wxradioboxsetlabel}
Sets the radiobox label.
-\func{void}{SetLabel}{\param{const int }{n}, \param{const wxString\&}{ label}}
-
-Sets a label for a radio button.
\wxheading{Parameters}
\docparam{n}{The zero-based button index.}
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf SetLabel(string)}}{Sets the radiobox label.}
+\twocolitem{{\bf SetItemLabel(n, string)}}{Sets a label for a radio button.}
+\end{twocollist}}
+}
+
+
\membersection{wxRadioBox::SetSelection}\label{wxradioboxsetselection}
-\func{void}{SetSelection}{\param{const int}{ n}}
+\func{void}{SetSelection}{\param{int}{ n}}
-Sets a button by passing the desired string position.
+Sets a button by passing the desired string position. This does not cause
+a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event to get emitted.
\wxheading{Parameters}
\docparam{n}{The zero-based button position.}
+
\membersection{wxRadioBox::SetStringSelection}\label{wxradioboxsetstringselection}
\func{void}{SetStringSelection}{\param{const wxString\& }{string}}
-Sets a button by passing the desired string.
+Sets the selection to a button by passing the desired string. This does not cause
+a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event to get emitted.
\wxheading{Parameters}
\docparam{string}{The label of the button to select.}
+
+\membersection{wxRadioBox::SetItemToolTip}\label{wxradioboxsetitemtooltip}
+
+\func{void}{SetItemToolTip}{\param{unsigned int}{ item}, \param{const wxString\& }{text}}
+
+Sets the tooltip text for the specified item in the radio group.
+
+{\bf Platform note:} Currently only implemented in wxMSW and wxGTK2 and does
+nothing in the other ports.
+
+\wxheading{Parameters}
+
+\docparam{item}{Index of the item the tooltip will be shown for.}
+
+\docparam{text}{Tooltip text for the item, the tooltip is removed if empty.}
+
+\wxheading{See also}
+
+\helpref{GetItemToolTip}{wxradioboxgetitemtooltip},\\
+\helpref{wxWindow::SetToolTip}{wxwindowsettooltip}
+
+
\membersection{wxRadioBox::Show}\label{wxradioboxshow}
-\func{void}{Show}{\param{const bool}{ show}}
+\func{virtual bool}{Show}{\param{const bool}{ show = {\tt true}}}
Shows or hides the entire radiobox.
-\func{void}{Show}{\param{const int }{item}, \param{const bool}{ show}}
+\func{virtual bool}{Show}{\param{unsigned int}{ item}, \param{const bool}{ show = {\tt true}}}
Shows or hides individual buttons.
\wxheading{Parameters}
-\docparam{show}{TRUE to show, FALSE to hide.}
+\docparam{show}{true to show, false to hide.}
\docparam{item}{The zero-based position of the button to show or hide.}
-\membersection{wxRadioBox::GetString}\label{wxradioboxgetstring}
-
-\constfunc{wxString}{GetString}{\param{const int}{ n}}
-
-Returns the label for the button at the given position.
+\wxheading{Return value}
-\wxheading{Parameters}
+{\tt true} if the box or item has been shown or hidden or {\tt false} if nothing was
+done because it already was in the requested state.
-\docparam{n}{The zero-based button position.}
+\wxheading{See also}
+\helpref{wxWindow::Show}{wxwindowshow}
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf Show(flag)}}{Shows or hides the entire radiobox.}
+\twocolitem{{\bf ShowItem(n, flag)}}{Shows or hides individual buttons.}
+\end{twocollist}}
+}