X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ac8d0c118b7403e2838e75124b442051299e6f6c..eafdb19c44154550b3c6155a62642e7ab5c6e64d:/include/wx/validate.h diff --git a/include/wx/validate.h b/include/wx/validate.h index 1888c52eb1..27473364bc 100644 --- a/include/wx/validate.h +++ b/include/wx/validate.h @@ -12,18 +12,14 @@ #ifndef _WX_VALIDATE_H_ #define _WX_VALIDATE_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "validate.h" -#endif - #include "wx/defs.h" #if wxUSE_VALIDATORS #include "wx/event.h" -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxWindowBase; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindowBase; /* A validator has up to three purposes: @@ -37,7 +33,7 @@ class WXDLLEXPORT wxWindowBase; Note that wxValidator and derived classes use reference counting. */ -class WXDLLEXPORT wxValidator : public wxEvtHandler +class WXDLLIMPEXP_CORE wxValidator : public wxEvtHandler { public: wxValidator(); @@ -48,28 +44,41 @@ public: // 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 - { return (wxValidator *)NULL; } + { return NULL; } bool Copy(const wxValidator& val) - { m_validatorWindow = val.m_validatorWindow; return TRUE; } + { m_validatorWindow = val.m_validatorWindow; return true; } // Called when the value in the window must be validated. // This function can pop up an error message. - virtual bool Validate(wxWindow *WXUNUSED(parent)) { return FALSE; }; + virtual bool Validate(wxWindow *WXUNUSED(parent)) { return false; } // Called to transfer data to the window - virtual bool TransferToWindow() { return FALSE; } + virtual bool TransferToWindow() { return false; } // Called to transfer data from the window - virtual bool TransferFromWindow() { return FALSE; }; + virtual bool TransferFromWindow() { return false; } // accessors 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 + // validators beep by default if invalid key is pressed, this function + // allows to change this + static void SuppressBellOnError(bool suppress = true) + { ms_isSilent = suppress; } + + // test if beep is currently disabled static bool IsSilent() { return ms_isSilent; } - static void SetBellOnError(bool doIt = TRUE) { ms_isSilent = doIt; } + + // this function is deprecated because it handled its parameter + // unnaturally: it disabled the bell when it was true, not false as could + // be expected; use SuppressBellOnError() instead +#if WXWIN_COMPATIBILITY_2_8 + static wxDEPRECATED_INLINE( + void SetBellOnError(bool doIt = true), + ms_isSilent = doIt; + ) +#endif protected: wxWindowBase *m_validatorWindow; @@ -78,20 +87,20 @@ private: static bool ms_isSilent; DECLARE_DYNAMIC_CLASS(wxValidator) - DECLARE_NO_COPY_CLASS(wxValidator) + wxDECLARE_NO_COPY_CLASS(wxValidator); }; -WXDLLEXPORT_DATA(extern const wxValidator) wxDefaultValidator; +extern WXDLLIMPEXP_DATA_CORE(const wxValidator) wxDefaultValidator; #define wxVALIDATOR_PARAM(val) val #else // !wxUSE_VALIDATORS - // wxWindows is compiled without support for wxValidator, but we still + // wxWidgets 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)) + class WXDLLIMPEXP_FWD_CORE wxValidator; + #define wxDefaultValidator (*reinterpret_cast(NULL)) // this macro allows to avoid warnings about unused parameters when // wxUSE_VALIDATORS == 0