X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d85cfb3784a10430cc17618645fa66ff3df08040..17dc7ddd7c8a2d44ebe2a4c7a39a33265974fa7f:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 59d8729291..0b3f4c8672 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -14,10 +14,6 @@ #ifndef _WX_DEFS_H_ #define _WX_DEFS_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "defs.h" -#endif - /* ---------------------------------------------------------------------------- */ /* compiler and OS identification */ /* ---------------------------------------------------------------------------- */ @@ -82,12 +78,6 @@ #endif #endif /* __VISUALC__ */ -/* suppress some Watcom C++ warnings */ -#ifdef __WATCOMC__ -# pragma warning 849 9 /* Disable 'virtual function hidden' */ -# pragma warning 549 9 /* Disable 'operand contains compiler generated information' */ -#endif /* __VISUALC__ */ - /* suppress some Salford C++ warnings */ #ifdef __SALFORDC__ # pragma suppress 353 /* Possible nested comments */ @@ -483,7 +473,18 @@ typedef int wxWindowID; /* appending the current line number to the given identifier to reduce the */ /* probability of the conflict (it may still happen if this is used in the */ /* headers, hence you should avoid doing it or provide unique prefixes then) */ -#define wxCONCAT_LINE(text) wxCONCAT(text, __LINE__) +#if defined(__VISUALC__) && (__VISUALC__ >= 1300) + /* + __LINE__ handling is completely broken in VC++ when using "Edit and + Continue" (/ZI option) and results in preprocessor errors if we use it + inside the macros. Luckily VC7 has another standard macro which can be + used like this and is even better than __LINE__ because it is globally + unique. + */ +# define wxCONCAT_LINE(text) wxCONCAT(text, __COUNTER__) +#else /* normal compilers */ +# define wxCONCAT_LINE(text) wxCONCAT(text, __LINE__) +#endif #define wxMAKE_UNIQUE_NAME(text) wxCONCAT_LINE(text) /* symbolic constant used by all Find()-like functions returning positive */ @@ -785,8 +786,8 @@ typedef wxUint32 wxDword; #endif #ifdef __cplusplus -/* And also define a simple function to cast pointer to it. */ -inline wxUIntPtr wxPtrToUInt(void *p) +/* And also define a couple of simple functions to cast pointer to/from it. */ +inline wxUIntPtr wxPtrToUInt(const void *p) { /* VC++ 7.1 gives warnings about casts such as below even when they're @@ -803,6 +804,19 @@ inline wxUIntPtr wxPtrToUInt(void *p) #pragma warning(default: 4311) #endif } + +inline void *wxUIntToPtr(wxUIntPtr p) +{ +#ifdef __VISUALC__ + #pragma warning(disable: 4312) /* conversion to type of greater size */ +#endif + + return wx_reinterpret_cast(void *, p); + +#ifdef __VISUALC__ + #pragma warning(default: 4312) +#endif +} #endif /*__cplusplus*/ @@ -1054,12 +1068,6 @@ typedef float wxFloat32; #define wxUINT64_SWAP_ON_BE(val) (val) #endif -/* Macros to convert from unsigned long to void pointer. */ -/* High order truncation occurs if the respective type is not large enough. */ -#define WXPTRULONGSLICE (((wxBYTE_ORDER==wxBIG_ENDIAN)&&(sizeof(void*)==8)&&(sizeof(unsigned long)<8))?1:0) -#define wxPtrToULong(p) (((unsigned long*)(&(p)))[WXPTRULONGSLICE]) -#define wxULongToPtr(p,n) (p=NULL,wxPtrToULong(p)=(unsigned long)(n),p) - /* ---------------------------------------------------------------------------- */ /* Geometric flags */ /* ---------------------------------------------------------------------------- */ @@ -1866,7 +1874,7 @@ enum wxKeyCode WXK_SPACE = 32, WXK_DELETE = 127, - WXK_START = 300, + WXK_START = 300, /* FIXME: Conflicts with UNICODE */ WXK_LBUTTON, WXK_RBUTTON, WXK_CANCEL, @@ -2248,16 +2256,23 @@ DECLARE_WXCOCOA_OBJC_CLASS(NSBitmapImageRep); DECLARE_WXCOCOA_OBJC_CLASS(NSBox); DECLARE_WXCOCOA_OBJC_CLASS(NSButton); DECLARE_WXCOCOA_OBJC_CLASS(NSColor); +DECLARE_WXCOCOA_OBJC_CLASS(NSColorPanel); DECLARE_WXCOCOA_OBJC_CLASS(NSControl); +DECLARE_WXCOCOA_OBJC_CLASS(NSCursor); DECLARE_WXCOCOA_OBJC_CLASS(NSEvent); +DECLARE_WXCOCOA_OBJC_CLASS(NSFontPanel); DECLARE_WXCOCOA_OBJC_CLASS(NSImage); DECLARE_WXCOCOA_OBJC_CLASS(NSLayoutManager); DECLARE_WXCOCOA_OBJC_CLASS(NSMenu); +DECLARE_WXCOCOA_OBJC_CLASS(NSMenuExtra); DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem); DECLARE_WXCOCOA_OBJC_CLASS(NSMutableArray); DECLARE_WXCOCOA_OBJC_CLASS(NSNotification); +DECLARE_WXCOCOA_OBJC_CLASS(NSObject); DECLARE_WXCOCOA_OBJC_CLASS(NSPanel); DECLARE_WXCOCOA_OBJC_CLASS(NSScrollView); +DECLARE_WXCOCOA_OBJC_CLASS(NSSound); +DECLARE_WXCOCOA_OBJC_CLASS(NSStatusItem); DECLARE_WXCOCOA_OBJC_CLASS(NSTableColumn); DECLARE_WXCOCOA_OBJC_CLASS(NSTableView); DECLARE_WXCOCOA_OBJC_CLASS(NSTextContainer);