wxWidgets/include/wx/valgen.h

95 lines
3.1 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: wx/valgen.h
// Purpose: wxGenericValidator class
// Author: Kevin Smith
// Created: Jan 22 1999
// Copyright: (c) 1999 Julian Smart (assigned from Kevin)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_VALGENH__
#define _WX_VALGENH__
#include "wx/validate.h"
#if wxUSE_VALIDATORS
class WXDLLIMPEXP_FWD_BASE wxDateTime;
class WXDLLIMPEXP_FWD_BASE wxFileName;
// ----------------------------------------------------------------------------
// wxGenericValidator performs data transfer between many standard controls and
// variables of the type corresponding to their values.
//
// It doesn't do any validation so its name is a slight misnomer.
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_CORE wxGenericValidator: public wxValidator
{
public:
// Different constructors: each of them creates a validator which can only
// be used with some controls, the comments before each constructor
// indicate which ones:
// wxCheckBox, wxRadioButton, wx(Bitmap)ToggleButton
wxGenericValidator(bool* val);
// wxChoice, wxGauge, wxRadioBox, wxScrollBar, wxSlider, wxSpinButton
wxGenericValidator(int* val);
// wxComboBox, wxTextCtrl, wxButton, wxStaticText (read-only)
wxGenericValidator(wxString* val);
// wxListBox, wxCheckListBox
wxGenericValidator(wxArrayInt* val);
#if wxUSE_DATETIME
// wxDatePickerCtrl
wxGenericValidator(wxDateTime* val);
#endif // wxUSE_DATETIME
// wxTextCtrl
wxGenericValidator(wxFileName* val);
// wxTextCtrl
wxGenericValidator(float* val);
// wxTextCtrl
wxGenericValidator(double* val);
wxGenericValidator(const wxGenericValidator& copyFrom);
virtual ~wxGenericValidator(){}
// Make a clone of this validator (or return NULL) - currently necessary
// if you're passing a reference to a validator.
// Another possibility is to always pass a pointer to a new validator
// (so the calling code can use a copy constructor of the relevant class).
virtual wxObject *Clone() const wxOVERRIDE { return new wxGenericValidator(*this); }
bool Copy(const wxGenericValidator& val);
// Called when the value in the window must be validated: this is not used
// by this class
virtual bool Validate(wxWindow * WXUNUSED(parent)) wxOVERRIDE { return true; }
// Called to transfer data to the window
virtual bool TransferToWindow() wxOVERRIDE;
// Called to transfer data to the window
virtual bool TransferFromWindow() wxOVERRIDE;
protected:
void Initialize();
bool* m_pBool;
int* m_pInt;
wxString* m_pString;
wxArrayInt* m_pArrayInt;
#if wxUSE_DATETIME
wxDateTime* m_pDateTime;
#endif // wxUSE_DATETIME
wxFileName* m_pFileName;
float* m_pFloat;
double* m_pDouble;
private:
wxDECLARE_CLASS(wxGenericValidator);
wxDECLARE_NO_ASSIGN_CLASS(wxGenericValidator);
};
#endif // wxUSE_VALIDATORS
#endif // _WX_VALGENH__