X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8d58531558f19af910b11a9b0d2c481587b9f87..3c115835b39194fd6c6852c96f5a9cccd2cc9aaa:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 9c7e9dfb35..0e292d26e8 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -88,6 +88,19 @@ # pragma warn -inl /* Functions containing reserved words and certain constructs are not expanded inline */ #endif /* __BORLANDC__ */ +/* + g++ gives a warning when a class has private dtor if it has no friends but + this is a perfectly valid situation for a ref-counted class which destroys + itself when its ref count drops to 0, so provide a macro to suppress this + warning + */ +#ifdef __GNUG__ +# define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name) \ + friend class wxDummyFriendFor ## name; +#else /* !g++ */ +# define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name) +#endif + /* ---------------------------------------------------------------------------- */ /* wxWidgets version and compatibility defines */ /* ---------------------------------------------------------------------------- */ @@ -146,7 +159,7 @@ #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x500) /* Borland 5.0+ supports bool */ #define HAVE_BOOL - #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100) + #elif wxCHECK_WATCOM_VERSION(1,0) /* Watcom 11+ supports bool */ #define HAVE_BOOL #elif defined(__DIGITALMARS__) @@ -609,7 +622,7 @@ typedef int wxWindowID; #define except(x) catch(...) #endif /* Metrowerks */ -#if defined(__WATCOMC__) && (__WATCOMC__ < 1240) +#if wxONLY_WATCOM_EARLIER_THAN(1,4) typedef short mode_t; #endif @@ -1006,7 +1019,7 @@ inline void *wxUIntToPtr(wxUIntPtr p) #if defined(__PALMOS__) && !defined(HAVE_SSIZE_T) #define HAVE_SSIZE_T #endif -#if defined(__WATCOMC__) && __WATCOMC__ > 1230 +#if wxCHECK_WATCOM_VERSION(1,4) #define HAVE_SSIZE_T #endif #ifndef HAVE_SSIZE_T @@ -2150,16 +2163,23 @@ enum wxKeyCode WXK_SPECIAL20 }; -#if wxUSE_HOTKEY -enum wxHotkeyModifier +/* This enum contains bit mask constants used in wxKeyEvent */ +enum wxKeyModifier { - wxMOD_NONE = 0, - wxMOD_ALT = 1, - wxMOD_CONTROL = 2, - wxMOD_SHIFT = 4, - wxMOD_WIN = 8 -}; + wxMOD_NONE = 0x0000, + wxMOD_ALT = 0x0001, + wxMOD_CONTROL = 0x0002, + wxMOD_ALTGR = wxMOD_ALT | wxMOD_CONTROL, + wxMOD_SHIFT = 0x0004, + wxMOD_META = 0x0008, + wxMOD_WIN = wxMOD_META, +#if defined(__WXMAC__) || defined(__WXCOCOA__) + wxMOD_CMD = wxMOD_META, +#else + wxMOD_CMD = wxMOD_CONTROL, #endif + wxMOD_ALL = 0xffff +}; /* Mapping modes (same values as used by Windows, don't change) */ enum