\section{\class{wxGenericValidator}}\label{wxgenericvalidator}

wxGenericValidator performs data transfer (but not validation or filtering) for the following
basic controls: wxButton, wxCheckBox, wxListBox, wxStaticText, wxRadioButton, wxRadioBox,
wxChoice, wxComboBox, wxGauge, wxSlider, wxScrollBar, wxSpinButton, wxTextCtrl, wxCheckListBox.

It checks the type of the window and uses an appropriate type for that window. For example,
wxButton and wxTextCtrl transfer data to and from a wxString variable; wxListBox uses a
wxArrayInt; wxCheckBox uses a bool.

For more information, please see \helpref{Validator overview}{validatoroverview}.

\wxheading{Derived from}

\helpref{wxValidator}{wxvalidator}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/valgen.h>

\wxheading{See also}

\helpref{Validator overview}{validatoroverview}, \helpref{wxValidator}{wxvalidator},
\helpref{wxTextValidator}{wxtextvalidator}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxGenericValidator::wxGenericValidator}\label{wxgenericvalidatorconstr}

\func{}{wxGenericValidator}{\param{const wxGenericValidator\&}{ validator}}

Copy constructor.

\func{}{wxGenericValidator}{\param{bool*}{ valPtr}}

Constructor taking a bool pointer. This will be used for wxCheckBox and wxRadioButton.

\func{}{wxGenericValidator}{\param{wxString*}{ valPtr}}

Constructor taking a wxString pointer. This will be used for wxButton, wxComboBox, wxStaticText,
wxTextCtrl.

\func{}{wxGenericValidator}{\param{int*}{ valPtr}}

Constructor taking an integer pointer. This will be used for wxGauge, wxScrollBar, wxRadioBox, wxSpinButton,
wxChoice.

\func{}{wxGenericValidator}{\param{wxArrayInt*}{ valPtr}}

Constructor taking a wxArrayInt pointer. This will be used for wxListBox, wxCheckListBox.

\wxheading{Parameters}

\docparam{validator}{Validator to copy.}

\docparam{valPtr}{A pointer to a variable that contains the value. This variable
should have a lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window).}

\membersection{wxGenericValidator::\destruct{wxGenericValidator}}

\func{}{\destruct{wxGenericValidator}}{\void}

Destructor.

\membersection{wxGenericValidator::Clone}\label{wxgenericvalidatorclone}

\constfunc{virtual wxValidator*}{Clone}{\void}

Clones the generic validator using the copy constructor.

\membersection{wxGenericValidator::TransferFromWindow}\label{wxgenericvalidatortransferfromwindow}

\func{virtual bool}{TransferFromWindow}{}

Transfers the value from the window to the appropriate data type.

\membersection{wxGenericValidator::TransferToWindow}\label{wxgenericvalidatortransfertowindow}

\func{virtual bool}{TransferToWindow}{}

Transfers the value to the window.

