X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c10ec9f5b2af3735a8871a5c884f272104be56b5..8ec1974ea170256698381cc47dd1dcd6cb494433:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 1071874f0e..cc0edcaa38 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -54,15 +54,14 @@ // suppress some Visual C++ warnings #ifdef __VISUALC__ + // the only "real" warning here is 4244 but there arej ust too many of them + // in our code... one day someone should go and fix them but until then... # pragma warning(disable:4201) // nonstandard extension used: nameless struct/union # pragma warning(disable:4244) // conversion from double to float -# pragma warning(disable:4100) // unreferenced formal parameter -# pragma warning(disable:4511) // copy ctor couldn't be generated -# pragma warning(disable:4512) // operator=() couldn't be generated -# pragma warning(disable:4699) // using precompiled header -# pragma warning(disable:4134) // conversion between pointers to members of same class # pragma warning(disable:4710) // function not inlined # pragma warning(disable:4097) // typedef used as class +# pragma warning(disable:4511) // copy ctor couldn't be generated +# pragma warning(disable:4512) // operator=() couldn't be generated #ifndef WIN32 # pragma warning(disable:4135) // conversion between different integral types # pragma warning(disable:4769) // assignment of near pointer to long integer @@ -233,7 +232,7 @@ typedef int wxWindowID; // check for explicit keyword support #ifndef HAVE_EXPLICIT #if defined(__VISUALC__) && (__VISUALC__ >= 1100) - // VC++ 6.0 and 5.0 have explicit (what about the earlier versions?) + // VC++ 6.0 and 5.0 have explicit (what about earlier versions?) #define HAVE_EXPLICIT #elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \ && wxCHECK_GCC_VERSION(2, 95) @@ -259,7 +258,7 @@ typedef int wxWindowID; // check for static/const/reinterpret_cast<>() #ifndef HAVE_STATIC_CAST #if defined(__VISUALC__) && (__VISUALC__ >= 1100) - // VC++ 6.0 and 5.0 have C++ casts (what about the earlier versions?) + // VC++ 6.0 and 5.0 have C++ casts (what about earlier versions?) #define HAVE_CXX_CASTS #elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \ && wxCHECK_GCC_VERSION(2, 95) @@ -274,6 +273,30 @@ typedef int wxWindowID; #endif #endif // HAVE_CXX_CASTS +#ifndef HAVE_STD_WSTRING + #if defined(__VISUALC__) && (__VISUALC__ >= 1100) + // VC++ 6.0 and 5.0 have std::wstring (what about earlier versions?) + #define HAVE_STD_WSTRING + #elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \ + && wxCHECK_GCC_VERSION(3, 1) + // GCC 3.1 has std::wstring; 3.0 never was in MinGW, 2.95 hasn't it + #define HAVE_STD_WSTRING + #endif +#endif + +#ifndef HAVE_STD_STRING_COMPARE + #if defined(__VISUALC__) && (__VISUALC__ >= 1100) + // VC++ 6.0 and 5.0 have std::string::compare + // (what about earlier versions?) + #define HAVE_STD_STRING_COMPARE + #elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \ + && wxCHECK_GCC_VERSION(3, 1) + // GCC 3.1 has std::string::compare; + // 3.0 never was in MinGW, 2.95 hasn't it + #define HAVE_STD_STRING_COMPARE + #endif +#endif + // ---------------------------------------------------------------------------- // portable calling conventions macros // ---------------------------------------------------------------------------- @@ -374,7 +397,11 @@ typedef int wxWindowID; #define WXMAKINGDLL_BASE #endif + #define WXMAKINGDLL_NET #define WXMAKINGDLL_CORE + #define WXMAKINGDLL_ADV + #define WXMAKINGDLL_ODBC + #define WXMAKINGDLL_DBGRID #define WXMAKINGDLL_HTML #define WXMAKINGDLL_XML #endif // WXMAKINGDLL @@ -392,6 +419,17 @@ typedef int wxWindowID; #define WXDLLIMPEXP_DATA_BASE(type) type #endif +#ifdef WXMAKINGDLL_NET + #define WXDLLIMPEXP_NET WXEXPORT + #define WXDLLIMPEXP_DATA_NET(type) WXEXPORT type +#elif defined(WXUSINGDLL) + #define WXDLLIMPEXP_NET WXIMPORT + #define WXDLLIMPEXP_DATA_NET(type) WXIMPORT type +#else // not making nor using DLL + #define WXDLLIMPEXP_NET + #define WXDLLIMPEXP_DATA_NET(type) type +#endif + #ifdef WXMAKINGDLL_CORE #define WXDLLIMPEXP_CORE WXEXPORT #define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type @@ -403,6 +441,39 @@ typedef int wxWindowID; #define WXDLLIMPEXP_DATA_CORE(type) type #endif +#ifdef WXMAKINGDLL_ADV + #define WXDLLIMPEXP_ADV WXEXPORT + #define WXDLLIMPEXP_DATA_ADV(type) WXEXPORT type +#elif defined(WXUSINGDLL) + #define WXDLLIMPEXP_ADV WXIMPORT + #define WXDLLIMPEXP_DATA_ADV(type) WXIMPORT type +#else // not making nor using DLL + #define WXDLLIMPEXP_ADV + #define WXDLLIMPEXP_DATA_ADV(type) type +#endif + +#ifdef WXMAKINGDLL_ODBC + #define WXDLLIMPEXP_ODBC WXEXPORT + #define WXDLLIMPEXP_DATA_ODBC(type) WXEXPORT type +#elif defined(WXUSINGDLL) + #define WXDLLIMPEXP_ODBC WXIMPORT + #define WXDLLIMPEXP_DATA_ODBC(type) WXIMPORT type +#else // not making nor using DLL + #define WXDLLIMPEXP_ODBC + #define WXDLLIMPEXP_DATA_ODBC(type) type +#endif + +#ifdef WXMAKINGDLL_DBGRID + #define WXDLLIMPEXP_DBGRID WXEXPORT + #define WXDLLIMPEXP_DATA_DBGRID(type) WXEXPORT type +#elif defined(WXUSINGDLL) + #define WXDLLIMPEXP_DBGRID WXIMPORT + #define WXDLLIMPEXP_DATA_DBGRID(type) WXIMPORT type +#else // not making nor using DLL + #define WXDLLIMPEXP_DBGRID + #define WXDLLIMPEXP_DATA_DBGRID(type) type +#endif + #ifdef WXMAKINGDLL_HTML #define WXDLLIMPEXP_HTML WXEXPORT #define WXDLLIMPEXP_DATA_HTML(type) WXEXPORT type @@ -1237,20 +1308,6 @@ enum wxBorder #define wxSP_ARROW_KEYS 0x1000 #define wxSP_WRAP 0x2000 -/* - * wxSplitterWindow flags - */ -#define wxSP_NOBORDER 0x0000 -#define wxSP_NOSASH 0x0010 -#define wxSP_BORDER 0x0020 -#define wxSP_PERMIT_UNSPLIT 0x0040 -#define wxSP_LIVE_UPDATE 0x0080 -#define wxSP_3DSASH 0x0100 -#define wxSP_3DBORDER 0x0200 -#define wxSP_FULLSASH 0x0400 -#define wxSP_3D (wxSP_3DBORDER | wxSP_3DSASH) -#define wxSP_SASH_AQUA 0x0800 - /* * wxNotebook flags */ @@ -2031,6 +2088,7 @@ DECLARE_WXCOCOA_OBJC_CLASS(NSButton); DECLARE_WXCOCOA_OBJC_CLASS(NSColor); DECLARE_WXCOCOA_OBJC_CLASS(NSControl); DECLARE_WXCOCOA_OBJC_CLASS(NSEvent); +DECLARE_WXCOCOA_OBJC_CLASS(NSImage); DECLARE_WXCOCOA_OBJC_CLASS(NSLayoutManager); DECLARE_WXCOCOA_OBJC_CLASS(NSMenu); DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem); @@ -2336,5 +2394,9 @@ typedef struct window_t *WXWidget; classname(const classname&); \ classname& operator=(const classname&); +#define DECLARE_NO_ASSIGN_CLASS(classname) \ + private: \ + classname& operator=(const classname&); + #endif // _WX_DEFS_H_