X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ca298c88524c5c44c38d71af0c1f8ab81543e6a9..1412634be86c223f742fac14ca88e5a587066419:/include/wx/validate.h diff --git a/include/wx/validate.h b/include/wx/validate.h index ede8ffbdfb..abc83188e1 100644 --- a/include/wx/validate.h +++ b/include/wx/validate.h @@ -6,19 +6,29 @@ // Created: 29/01/98 // RCS-ID: $Id$ // Copyright: (c) 1998 Julian Smart -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_VALIDATEH__ #define _WX_VALIDATEH__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "validate.h" #endif +#if defined(wxUSE_VALIDATORS) && !wxUSE_VALIDATORS + // wxWindows is compiled without support for wxValidator, but we still + // want to be able to pass wxDefaultValidator to the functions which take + // a wxValidator parameter to avoid using "#if wxUSE_VALIDATORS" + // everywhere + class WXDLLEXPORT wxValidator; + #define wxDefaultValidator (*((wxValidator *)NULL)) +#else // wxUSE_VALIDATORS + #include "wx/event.h" class WXDLLEXPORT wxWindow; +class WXDLLEXPORT wxWindowBase; /* A validator has up to three purposes: @@ -36,7 +46,7 @@ class WXDLLEXPORT wxValidator : public wxEvtHandler { public: wxValidator(); - ~wxValidator(); + virtual ~wxValidator(); // Make a clone of this validator (or return NULL) - currently necessary // if you're passing a reference to a validator. @@ -58,8 +68,8 @@ public: virtual bool TransferFromWindow() { return FALSE; }; // accessors - wxWindow *GetWindow() const { return m_validatorWindow; } - void SetWindow(wxWindow *win) { m_validatorWindow = win; } + wxWindow *GetWindow() const { return (wxWindow *)m_validatorWindow; } + void SetWindow(wxWindowBase *win) { m_validatorWindow = win; } // validators beep by default if invalid key is pressed, these functions // allow to change it @@ -67,15 +77,18 @@ public: static void SetBellOnError(bool doIt = TRUE) { ms_isSilent = doIt; } protected: - wxWindow *m_validatorWindow; + wxWindowBase *m_validatorWindow; private: static bool ms_isSilent; DECLARE_DYNAMIC_CLASS(wxValidator) + DECLARE_NO_COPY_CLASS(wxValidator) }; WXDLLEXPORT_DATA(extern const wxValidator) wxDefaultValidator; +#endif // wxUSE_VALIDATORS + #endif // _WX_VALIDATEH__